diff options
Diffstat (limited to 'addons/website_slides')
| -rw-r--r-- | addons/website_slides/controllers/main.py | 6 | ||||
| -rw-r--r-- | addons/website_slides/models/slide_slide.py | 8 |
2 files changed, 6 insertions, 8 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 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([{ |
