コンテンツへスキップ
メニュー
この質問にフラグが付けられました
2 返信
6015 ビュー

It is possible to make a email notification or to send an email when I create a new user?

Is there any simple way?

アバター
破棄
最善の回答

Dear Wizardz,


First you need to set Outgoing Mail Server from settings menu.

Settings > Technical > Email > Outgoing Mail Server.

or

refer below link for outgoing mail configration

http://www.odoo.yenthevg.com/configure-outgoing-mailservers/

Second write below.

def create(self, cr, uid, vals, context=None):

result = super(res_users, self).create(cr, uid, vals, context=context)

template_obj = self.pool.get('email.template')

group_model_id = self.pool.get('ir.model').search(cr, uid, [('model', '=', 'res.users')])[0]

body_html = '''Message whatever you want to send'''

template_data = {

'model_id': group_model_id,

'name': 'Template Name',

'subject' : 'Subject for your email',

'body_html': body_html,

'email_from' : 'from email id',

'email_to' : 'to email id',

}

template_id = template_obj.create(cr, uid, template_data, context=context)

template_obj.send_mail(cr, uid, template_id, result, force_send=True, context=context)

return result

Hope above code help for you.

Note: please manage proper indention in method.

Cheers,

Ankit H Gandhi.


アバター
破棄
著作者

where should I put this code?

inherit res_users model and keep inside my code.

最善の回答

Hi Wizardz,

Try to inherit 'res.users' object and override create method.

class res_users(models.Model):

_inherit = 'res.users'

def create(self, cr, uid, vals, context=None):

user_id = super(res_users, self).create(cr, uid, vals, context=context)

user = self.browse(cr, uid, user_id, context=context)

if user.partner_id.company_id:

user.partner_id.write({'company_id': user.company_id.id})

# The below code to send invitation mail

self.action_reset_password(cr, uid, [user_id], context=context)

return user_id

I hope this will help you.

アバター
破棄
著作者

where should I put this code?

関連投稿 返信 ビュー 活動
5
3月 16
4262
0
8月 16
2852
1
3月 15
5275
2
11月 20
9254
1
5月 23
2006