From 7bfb6d7f01dc6c598b7a5951f6fe87e21add2cfa Mon Sep 17 00:00:00 2001 From: Patrick Hoste Date: Thu, 30 Sep 2021 08:19:25 +0000 Subject: [PATCH] [FIX] (website_)event_booth(_sale): fix display default booth category image PURPOSE Before this commit when a booth category doesn't have an image a traceback is shown when accessing to the /booths route. After this commit a default image is shown when the booth category doesn't have an image. SPECIFICATION To allow the public user to see the booth category image we give everybody the read permission on the model but restrict some sensitive fields. LINKS Task-2635461 Pr: odoo/odoo#77081 Related: odoo/upgrade#2869 Signed-off-by: awa-odoo --- addons/event_booth/models/event_booth_category.py | 3 ++- .../event_booth_sale/models/event_booth_category.py | 11 +++++++---- .../website_event_booth/security/ir.model.access.csv | 1 + .../views/event_booth_templates.xml | 2 +- .../tests/tours/website_event_booth_exhibitor.js | 2 +- 5 files changed, 12 insertions(+), 7 deletions(-) diff --git a/addons/event_booth/models/event_booth_category.py b/addons/event_booth/models/event_booth_category.py index 64bda996c96..8d4336d1887 100644 --- a/addons/event_booth/models/event_booth_category.py +++ b/addons/event_booth/models/event_booth_category.py @@ -14,4 +14,5 @@ class EventBoothCategory(models.Model): name = fields.Char(string='Name', required=True, translate=True) sequence = fields.Integer(string='Sequence', default=10) description = fields.Html(string='Description', translate=True) - booth_ids = fields.One2many('event.booth', 'booth_category_id', string='Booths') + booth_ids = fields.One2many( + 'event.booth', 'booth_category_id', string='Booths', groups='event.group_event_registration_desk') diff --git a/addons/event_booth_sale/models/event_booth_category.py b/addons/event_booth_sale/models/event_booth_category.py index b4f6df65c8b..27841753c8e 100644 --- a/addons/event_booth_sale/models/event_booth_category.py +++ b/addons/event_booth_sale/models/event_booth_category.py @@ -16,12 +16,15 @@ class EventBoothCategory(models.Model): product_id = fields.Many2one( 'product.product', string='Product', required=True, - domain=[('detailed_type', '=', 'event_booth')], default=_default_product_id) - price = fields.Float(string='Price', compute='_compute_price', digits='Product Price', readonly=False, store=True) - currency_id = fields.Many2one(related='product_id.currency_id') + domain=[('detailed_type', '=', 'event_booth')], default=_default_product_id, + groups="event.group_event_registration_desk") + price = fields.Float( + string='Price', compute='_compute_price', digits='Product Price', readonly=False, + store=True, groups="event.group_event_registration_desk") + currency_id = fields.Many2one(related='product_id.currency_id', groups="event.group_event_registration_desk") price_reduce = fields.Float( string='Price Reduce', compute='_compute_price_reduce', - compute_sudo=True, digits='Product Price') + compute_sudo=True, digits='Product Price', groups="event.group_event_registration_desk") image_1920 = fields.Image(compute='_compute_image_1920', readonly=False, store=True) @api.depends('product_id') diff --git a/addons/website_event_booth/security/ir.model.access.csv b/addons/website_event_booth/security/ir.model.access.csv index 23e4820a76e..f9d5e90c3fd 100644 --- a/addons/website_event_booth/security/ir.model.access.csv +++ b/addons/website_event_booth/security/ir.model.access.csv @@ -1,2 +1,3 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_event_booth_category,event.booth.category,event_booth.model_event_booth_category,,1,0,0,0 access_event_booth_all,event.booth.public,event_booth.model_event_booth,,1,0,0,0 diff --git a/addons/website_event_booth/views/event_booth_templates.xml b/addons/website_event_booth/views/event_booth_templates.xml index 313f6c96b78..0c8814aa0c1 100644 --- a/addons/website_event_booth/views/event_booth_templates.xml +++ b/addons/website_event_booth/views/event_booth_templates.xml @@ -61,7 +61,7 @@
- +
diff --git a/addons/website_event_booth_exhibitor/static/tests/tours/website_event_booth_exhibitor.js b/addons/website_event_booth_exhibitor/static/tests/tours/website_event_booth_exhibitor.js index 4b46b399976..3262c207968 100644 --- a/addons/website_event_booth_exhibitor/static/tests/tours/website_event_booth_exhibitor.js +++ b/addons/website_event_booth_exhibitor/static/tests/tours/website_event_booth_exhibitor.js @@ -35,7 +35,7 @@ odoo.define("website_event_booth_exhibitor.tour", function (require) { trigger: 'a:contains("Get A Booth")', }, { content: 'Choose Premium Booths', - trigger: 'img[title="Premium Booth"]', + trigger: 'img[alt="Premium Booth"]', }, { content: 'Choose Booth', trigger: 'div:contains("OpenWood Demonstrator 2") input',