Skip to Content
Menu
You need to be registered to interact with the community.
This question has been flagged
1 Odgovori
2857 Prikazi

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

Avatar
Opusti
Best Answer
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.
Avatar
Opusti
Avtor

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

Better make a new one.

Avtor

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

Avtor

I think because the creation is made before the verification