summaryrefslogtreecommitdiff
path: root/addons/website_slides/models
diff options
context:
space:
mode:
authorJeremy Kersten <jke@odoo.com>2020-09-25 15:06:36 +0000
committerJeremy Kersten <jke@odoo.com>2020-09-28 13:38:28 +0000
commitd92e61e89f468c2db2fbd68b2f0d6b36c77f1065 (patch)
tree020b14bfc941cfc3bd4556704958433c731ea2cc /addons/website_slides/models
parent1c9370e572b9da4201a89d1f17f83c8f8f991a5a (diff)
[FIX] tools.sql, website_*: increment counter with skip lock
*blog, forum, slides Based on https://github.com/odoo/odoo/pull/48552#discussion_r440061218 suggestion Add a new method 'increment_skip_lock' in tools.sql to allow to easily increment a specific field of 1 if the record is not locked. The method return boolean if at least 1 record has been incremented. closes odoo/odoo#58534 Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
Diffstat (limited to 'addons/website_slides/models')
-rw-r--r--addons/website_slides/models/slide_slide.py8
1 files changed, 3 insertions, 5 deletions
diff --git a/addons/website_slides/models/slide_slide.py b/addons/website_slides/models/slide_slide.py
index 7ba3f1d6a31..a5de10dc7fd 100644
--- a/addons/website_slides/models/slide_slide.py
+++ b/addons/website_slides/models/slide_slide.py
@@ -18,6 +18,7 @@ from odoo.addons.http_routing.models.ir_http import slug
from odoo.exceptions import Warning, UserError, AccessError
from odoo.http import request
from odoo.addons.http_routing.models.ir_http import url_for
+from odoo.tools import sql
class SlidePartnerRelation(models.Model):
@@ -629,11 +630,8 @@ class Slide(models.Model):
('slide_id', 'in', self.ids),
('partner_id', '=', target_partner.id)
])
- if quiz_attempts_inc:
- for exsting_slide in existing_sudo:
- exsting_slide.write({
- 'quiz_attempts_count': exsting_slide.quiz_attempts_count + 1
- })
+ if quiz_attempts_inc and existing_sudo:
+ sql.increment_field_skiplock(existing_sudo, 'quiz_attempts_count')
new_slides = self_sudo - existing_sudo.mapped('slide_id')
return SlidePartnerSudo.create([{