how to send email when click on the function?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Boekhouding
- Voorraad
- PoS
- Project
- MRP
Deze vraag is gerapporteerd
Aneesh,
Odoo is great again for another reason, that is you can always study an existing module like sale/account where the email sending is possible based on button call.
Thanks.
you can use email function inside any function (button function or any function) :
this is an example for button function i used in crm module :
def set_approve(self, cr, uid, ids,context=None):
res_id = self.read(cr, uid, ids, ['boq_item_ids'], context)[0]['id']
email_obj = self.pool.get('email.template')
user_obj = self.pool.get('res.users').browse(cr, uid, uid)
template_ids = email_obj.search(cr, uid, [('name', '=', 'Opportunity approved')])
email = email_obj.browse(cr, uid, template_ids[0])
email_obj.write(cr, uid, template_ids, {'email_from': email.email_from,
'email_to': email.email_to,
'subject': email.subject,
'body_html': email.body_html,
'email_recipients': email.email_recipients})
email_obj.send_mail(cr, uid, template_ids[0], res_id, True, context=context)
stage_id = self.get_stageid(cr, uid, [('state', '=', 'approved')], context=context)
a = fields.datetime.now()
b = self.pool.get('crm.lead').read(cr, uid, ids, context=context)
c = b[0]['date_stage_waiting']
timedelta = 0
if c != 0:
DATETIME_FORMAT = "%Y-%m-%d %H:%M:%S"
a = datetime.datetime.strptime(a, DATETIME_FORMAT)
c = datetime.datetime.strptime(c, DATETIME_FORMAT)
timedelta = a - c
if stage_id:
self.write(cr, uid, ids, {'stage_id': stage_id, 'date_stage_approved': a, 'diff_waiting': timedelta}, context=context)
return True
NB : 1) donot forget to create email template with name as in your function
2) configure your outgoing mail server
Geniet je van het gesprek? Blijf niet alleen lezen, doe ook mee!
Maak vandaag nog een account aan om te profiteren van exclusieve functies en deel uit te maken van onze geweldige community!
Aanmelden