[FIX] digest: do not write on default digest if not necessary
When a portal user is created (e.g. through the `auth_signup` module), an unnecessary write is done on the `write_date` of the default digest. This `write` is unnecessary since a portal user is never subscribed to the default digest. In case of a high signup frequency, it can cause concurrent transaction errors. We avoid writing if no internal user is being created. closes odoo/odoo#162563 X-original-commit: bbc427e837b08187f351febfde4339262e660944 Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
This commit is contained in:
@@ -12,7 +12,8 @@ class ResUsers(models.Model):
|
||||
users = super(ResUsers, self).create(vals_list)
|
||||
default_digest_emails = self.env['ir.config_parameter'].sudo().get_param('digest.default_digest_emails')
|
||||
default_digest_id = self.env['ir.config_parameter'].sudo().get_param('digest.default_digest_id')
|
||||
if default_digest_emails and default_digest_id:
|
||||
users_to_subscribe = users.filtered_domain([('share', '=', False)])
|
||||
if default_digest_emails and default_digest_id and users_to_subscribe:
|
||||
digest = self.env['digest.digest'].sudo().browse(int(default_digest_id)).exists()
|
||||
digest.user_ids |= users.filtered_domain([('share', '=', False)])
|
||||
digest.user_ids |= users_to_subscribe
|
||||
return users
|
||||
|
||||
Reference in New Issue
Block a user