diff options
| author | Toufik Ben Jaa <tbe@odoo.com> | 2018-10-15 12:40:46 +0000 |
|---|---|---|
| committer | Nicolas Martinelli <nim@odoo.com> | 2019-02-08 12:52:29 +0000 |
| commit | 19b0c7e1c1c211c97b655ba6b66d064c770ee839 (patch) | |
| tree | f794d084dba08de32357705c53b37a1408b6954b | |
| parent | 0b61a7d135df075a43baff5f89b4287ad4a2d4a7 (diff) | |
[FIX] auth_signup: invalid value on field signup_valid for non superuser
- The field `signup_valid` was computed and stored using the `superuser`
env, which causes issue since it means the value was computed for the
wrong environment.
Using a compute_sudo instead of manually calling `sudo()` fixes the
issue.
e.g: reading signup_valid using a regular user (non superuser) will
always return False, while doing it as the superuser will return
the correct value.
closes odoo/odoo#30954
| -rw-r--r-- | addons/auth_signup/models/res_partner.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/addons/auth_signup/models/res_partner.py b/addons/auth_signup/models/res_partner.py index 91cd8d5e3e8..99d0604de2b 100644 --- a/addons/auth_signup/models/res_partner.py +++ b/addons/auth_signup/models/res_partner.py @@ -28,14 +28,14 @@ class ResPartner(models.Model): signup_token = fields.Char(copy=False, groups="base.group_erp_manager") signup_type = fields.Char(string='Signup Token Type', copy=False, groups="base.group_erp_manager") signup_expiration = fields.Datetime(copy=False, groups="base.group_erp_manager") - signup_valid = fields.Boolean(compute='_compute_signup_valid', string='Signup Token is Valid') + signup_valid = fields.Boolean(compute='_compute_signup_valid', compute_sudo=True, string='Signup Token is Valid') signup_url = fields.Char(compute='_compute_signup_url', string='Signup URL') @api.multi @api.depends('signup_token', 'signup_expiration') def _compute_signup_valid(self): dt = now() - for partner in self.sudo(): + for partner in self: partner.signup_valid = bool(partner.signup_token) and \ (not partner.signup_expiration or dt <= partner.signup_expiration) |
