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

Hello i would like to override the user creation method, in order to verify if the email is used by another user or not:

class User(models.Model):
_name = 'affichage2.user'
_inherit = 'res.users'


#this is the solution
@api.model
def create(self, values):

res = super(User, self).create(vals)
exis_email_id = self.env['res.users'].search([('email', '=', vals['email'].lower())])

if exis_email_id:
raise osv.except_osv(_('Invalid Action!'), _('Email already exist.'))

return res


My solution don't working, any help please

アバター
破棄
最善の回答
Hi Zakaria,
 
Try this code
 
class User(models.Model):
  _inherit = 'res.users'
#this is the solution
@api.model
def create(self, values):
res = super(User, self).create(vals)
exis_email_id = self.env['res.users'].search([('email', '=', vals['email'].lower())])

if exis_email_id:
raise osv.except_osv(_('Invalid Action!'), _('Email already exist.'))

return res
Thank you.
アバター
破棄
著作者

I will try it, thank you Avinash. In which module i should put this class ? in any module ?

Better make a new one.

著作者

Ok. I have try your solution but the problem that i get warning message in all cases, also if the email don't exist.

著作者

I think because the creation is made before the verification