跳至內容
選單
此問題已被標幟
1 回覆
2870 瀏覽次數

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