27 lines
1002 B
Python
27 lines
1002 B
Python
|
|
from odoo import api, fields, models, _
|
||
|
|
|
||
|
|
class SignupError(Exception):
|
||
|
|
pass
|
||
|
|
|
||
|
|
|
||
|
|
class ck_res_parter(models.Model):
|
||
|
|
|
||
|
|
_name = "res.partner"
|
||
|
|
_inherit = "res.partner"
|
||
|
|
_description = "Partner"
|
||
|
|
|
||
|
|
@api.model
|
||
|
|
def _signup_retrieve_partner(self, token, check_validity=False, raise_exception=False):
|
||
|
|
if self.search(['&', '&', ('signup_token', '=', token), ('signup_expiration', '=', False), ('active', '=', False)]):
|
||
|
|
partner = self.search(['&', ('signup_token', '=', token), ('active', '=', False)], limit=1)
|
||
|
|
else:
|
||
|
|
partner = self.search([('signup_token', '=', token)], limit=1)
|
||
|
|
if not partner:
|
||
|
|
if raise_exception:
|
||
|
|
raise SignupError("Signup token '%s' is not valid" % token)
|
||
|
|
return False
|
||
|
|
if check_validity and not partner.signup_valid:
|
||
|
|
if raise_exception:
|
||
|
|
raise SignupError("Signup token '%s' is no longer valid" % token)
|
||
|
|
return False
|
||
|
|
return partner
|