summaryrefslogtreecommitdiff
path: root/addons/website_slides/controllers
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/controllers
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/controllers')
-rw-r--r--addons/website_slides/controllers/main.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/addons/website_slides/controllers/main.py b/addons/website_slides/controllers/main.py
index 916c27869ca..78972fd3565 100644
--- a/addons/website_slides/controllers/main.py
+++ b/addons/website_slides/controllers/main.py
@@ -58,9 +58,9 @@ class WebsiteSlides(WebsiteProfile):
if request.env.user._is_public() or not slide.website_published or not slide.channel_id.is_member:
viewed_slides = request.session.setdefault('viewed_slides', list())
if slide.id not in viewed_slides:
- slide.sudo().public_views += 1
- viewed_slides.append(slide.id)
- request.session['viewed_slides'] = viewed_slides
+ if tools.sql.increment_field_skiplock(slide, 'public_views'):
+ viewed_slides.append(slide.id)
+ request.session['viewed_slides'] = viewed_slides
else:
slide.action_set_viewed(quiz_attempts_inc=quiz_attempts_inc)
return True