From 2f09c00ff4f97316d7727d8b9ca6662222a651dc Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Fri, 22 Jul 2011 12:34:55 +0200 Subject: [PATCH] [IMP] res.users: correct send_welcome_email() for new ir.mail_server code bzr revid: odo@openerp.com-20110722103455-fmki73twnj9lczhx --- openerp/addons/base/res/res_users.py | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/openerp/addons/base/res/res_users.py b/openerp/addons/base/res/res_users.py index f3c0f635d14..d069419defd 100644 --- a/openerp/addons/base/res/res_users.py +++ b/openerp/addons/base/res/res_users.py @@ -125,25 +125,16 @@ class users(osv.osv): return cr.fetchall() def send_welcome_email(self, cr, uid, id, context=None): - logger= netsvc.Logger() - user = self.pool.get('res.users').read(cr, uid, id, context=context) - if not user.get('email'): - return False - if not tools.config.get('smtp_server'): - logger.notifyChannel('mails', netsvc.LOG_WARNING, - _('"smtp_server" needs to be set to send mails to users')) - return False - if not tools.config.get('email_from'): - logger.notifyChannel("mails", netsvc.LOG_WARNING, - _('"email_from" needs to be set to send welcome mails ' - 'to users')) - return False + if isinstance(id,list): id = id[0] + user = self.read(cr, uid, id, ['email','login','name', 'user_email'], context=context) + email = user['email'] or user['user_email'] - return tools.email_send(email_from=None, email_to=[user['email']], - subject=self.get_welcome_mail_subject( - cr, uid, context=context), - body=self.get_welcome_mail_body( - cr, uid, context=context) % user) + ir_mail_server = self.pool.get('ir.mail_server') + msg = ir_mail_server.build_email(email_from=None, # take config default + email_to=[email], + subject=self.get_welcome_mail_subject(cr, uid, context=context), + body=(self.get_welcome_mail_body(cr, uid, context=context) % user)) + return ir_mail_server.send_email(cr, uid, msg, context=context) def _set_interface_type(self, cr, uid, ids, name, value, arg, context=None): """Implementation of 'view' function field setter, sets the type of interface of the users.