From 55e64beb478080871c3c77025b728fa50f98ddfa Mon Sep 17 00:00:00 2001 From: Benoit Socias Date: Tue, 17 Oct 2023 11:45:17 +0000 Subject: [PATCH] [FIX] website, *: not fail on visitors views without event rights *: website_crm, website_event, website_event_track Before this commit, when accessing the visitor views without having any event rights, an error was triggered. This commit restricts the display of the `event_registration_count` field on the `website_visitor_view_form` restricted to the `event.group_event_user` group so that its invisible condition does not fail. Similarly it restricts a visibility condition on `event_track_wishlisted_count` to the `event.group_event_manager` group. To avoid encountering the same issue with further extensions of `_compute_email_phone` on the `website.visitor` model, we make its fields `compute_sudo=True`, and revert the specific `sudo` that had been added in [1]. Steps to reproduce: - install `website_event` - set Demo user to have no Events right, but be an "Editor and Designer" for Website - register to an event as an anonymous user - access the Visitors page as Demo user => An error was produced. Steps to reproduce (2): - install `website_event_track` - set Demo user to have no Events right, but be an "Editor and Designer" - access the Visitors page as Demo user => An error was produced. [1]: https://github.com/odoo/odoo/commit/5ba09c2cb2bb180cfb1363c352f35bd8cf3b132b opw-3537849 closes odoo/odoo#139271 X-original-commit: 4cb18fab5e8d14dd9a2dfb5cb3e65b43fab02846 Signed-off-by: Romain Derie (rde) Signed-off-by: Benoit Socias (bso) --- addons/website/models/website_visitor.py | 4 ++-- addons/website_crm/models/website_visitor.py | 2 +- addons/website_event/views/website_visitor_views.xml | 1 + addons/website_event_track/views/website_visitor_views.xml | 1 + 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/addons/website/models/website_visitor.py b/addons/website/models/website_visitor.py index 2be9bec6283..ffb1d58c621 100644 --- a/addons/website/models/website_visitor.py +++ b/addons/website/models/website_visitor.py @@ -62,8 +62,8 @@ class WebsiteVisitor(models.Model): country_flag = fields.Char(related="country_id.image_url", string="Country Flag") lang_id = fields.Many2one('res.lang', string='Language', help="Language from the website when visitor has been created") timezone = fields.Selection(_tz_get, string='Timezone') - email = fields.Char(string='Email', compute='_compute_email_phone') - mobile = fields.Char(string='Mobile', compute='_compute_email_phone') + email = fields.Char(string='Email', compute='_compute_email_phone', compute_sudo=True) + mobile = fields.Char(string='Mobile', compute='_compute_email_phone', compute_sudo=True) # Visit fields visit_count = fields.Integer('# Visits', default=1, readonly=True, help="A new visit is considered if last connection was more than 8 hours ago.") diff --git a/addons/website_crm/models/website_visitor.py b/addons/website_crm/models/website_visitor.py index 18bf191c882..c990a7ab1ff 100644 --- a/addons/website_crm/models/website_visitor.py +++ b/addons/website_crm/models/website_visitor.py @@ -21,7 +21,7 @@ class WebsiteVisitor(models.Model): super(WebsiteVisitor, self)._compute_email_phone() left_visitors = self.filtered(lambda visitor: not visitor.email or not visitor.mobile) - leads = left_visitors.sudo().mapped('lead_ids').sorted('create_date', reverse=True) + leads = left_visitors.mapped('lead_ids').sorted('create_date', reverse=True) visitor_to_lead_ids = dict((visitor.id, visitor.lead_ids.ids) for visitor in left_visitors) for visitor in left_visitors: diff --git a/addons/website_event/views/website_visitor_views.xml b/addons/website_event/views/website_visitor_views.xml index f1cf0ccaa85..7cfd3eb563f 100644 --- a/addons/website_event/views/website_visitor_views.xml +++ b/addons/website_event/views/website_visitor_views.xml @@ -21,6 +21,7 @@ diff --git a/addons/website_event_track/views/website_visitor_views.xml b/addons/website_event_track/views/website_visitor_views.xml index 458e5c2c3d3..1ee2463bc58 100644 --- a/addons/website_event_track/views/website_visitor_views.xml +++ b/addons/website_event_track/views/website_visitor_views.xml @@ -21,6 +21,7 @@