Hi,
I have requirement to customize the subject of the lead which is automatically created when the emails are fetched, is their anyway in the server action I could control what needs to have in the subject field when a new lead is created.
Thanks
Share and discuss the best content and new marketing ideas, build your professional profile and become a better marketer together.
Hi,
I have requirement to customize the subject of the lead which is automatically created when the emails are fetched, is their anyway in the server action I could control what needs to have in the subject field when a new lead is created.
Thanks
The function that is being called when a message arrives is message_new that is present in mail_thread, but in many cases is re-implemented by modules that need to create objects from mails.
def message_new(self, cr, uid, msg_dict, custom_values=None, context=None):
...
if custom_values and isInstance(custom_values,dict):
data.update(custom_values)
res_id = model.pool.create(cr, uid, data, context=context)
return res_id
as you can see, you have the parameter msg_dict. Of course, in there is where you get 'the mail' as a dictionary with the different values (e.g. the body, email_from, subject). By updating custom_values.update({'name': 'whatever you want'})
If you choose to re-implement this method, you can put in a dictionary called custom_values all values that are going to be used in the creation of the new object (if any). As key you must use the name of the columns of the object being created (in this case, the lead). After this, you could even call the method message_new defined in mail_thread or not, depending in your particular requirements.
Also, when a message for an object already created arrives, the function that is being called is message_update. In there, with a similar functionality as the ut supra explained, you can put the values that you want to update for the existing object (in this case, a dictionary called update_vals is where you need to put the new values).
def message_update(self, cr, uid, ids, msg_dict, update_vals=None, context=None):
if update_vals:
self.write(cr, uid, ids, update_vals, context=context)
Create an account today to enjoy exclusive features and engage with our awesome community!
Sign up