diff options
| author | Jeremy Kersten <jke@odoo.com> | 2020-09-25 15:06:36 +0000 |
|---|---|---|
| committer | Jeremy Kersten <jke@odoo.com> | 2020-09-28 13:38:28 +0000 |
| commit | d92e61e89f468c2db2fbd68b2f0d6b36c77f1065 (patch) | |
| tree | 020b14bfc941cfc3bd4556704958433c731ea2cc /addons/website_forum/models | |
| parent | 1c9370e572b9da4201a89d1f17f83c8f8f991a5a (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_forum/models')
| -rw-r--r-- | addons/website_forum/models/forum.py | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/addons/website_forum/models/forum.py b/addons/website_forum/models/forum.py index 1315e3ac7f3..d9c0ce6d058 100644 --- a/addons/website_forum/models/forum.py +++ b/addons/website_forum/models/forum.py @@ -9,7 +9,7 @@ from datetime import datetime from odoo import api, fields, models, tools, SUPERUSER_ID, _ from odoo.exceptions import UserError, ValidationError, AccessError -from odoo.tools import misc +from odoo.tools import misc, sql from odoo.tools.translate import html_translate from odoo.addons.http_routing.models.ir_http import slug @@ -856,10 +856,9 @@ class Post(models.Model): result.append(comment.unlink()) return result - def set_viewed(self): + def _set_viewed(self): self.ensure_one() - self._cr.execute("""UPDATE forum_post SET views = views+1 WHERE views = %s and id = %s""", (self.views, self.id,)) - return True + return sql.increment_field_skiplock(self, 'views') def get_access_action(self, access_uid=None): """ Instead of the classic form view, redirect to the post on the website directly """ |
