diff --git a/addons/website_event_exhibitor/__manifest__.py b/addons/website_event_exhibitor/__manifest__.py index 4703efb3e12..200a1465620 100644 --- a/addons/website_event_exhibitor/__manifest__.py +++ b/addons/website_event_exhibitor/__manifest__.py @@ -6,7 +6,7 @@ 'name': 'Event Exhibitors', 'category': 'Marketing/Events', 'sequence': 1004, - 'version': '1.0', + 'version': '1.1', 'summary': 'Event: manage sponsors and exhibitors', 'website': 'https://www.odoo.com/page/events', 'description': "", diff --git a/addons/website_event_exhibitor/controllers/exhibitor.py b/addons/website_event_exhibitor/controllers/exhibitor.py index a5bada9e1a0..13d6084e82e 100644 --- a/addons/website_event_exhibitor/controllers/exhibitor.py +++ b/addons/website_event_exhibitor/controllers/exhibitor.py @@ -17,7 +17,7 @@ class ExhibitorController(WebsiteEventController): def _get_event_sponsors_base_domain(self, event): search_domain_base = [ ('event_id', '=', event.id), - ('is_exhibitor', '=', True), + ('exhibitor_type', 'in', ['exhibitor', 'online']), ] if not request.env.user.has_group('event.group_event_user'): search_domain_base = expression.AND([search_domain_base, [('is_published', '=', True)]]) diff --git a/addons/website_event_exhibitor/data/event_sponsor_demo.xml b/addons/website_event_exhibitor/data/event_sponsor_demo.xml index 9389c100460..6bb840446eb 100644 --- a/addons/website_event_exhibitor/data/event_sponsor_demo.xml +++ b/addons/website_event_exhibitor/data/event_sponsor_demo.xml @@ -31,7 +31,7 @@ http://www.wood-corner.example.com Catchy sentence ! - + sponsor @@ -40,7 +40,7 @@ http://www.deco-addict.example.com You won't believe this sponsor - + sponsor @@ -49,7 +49,7 @@ http://www.gemini-furniture.example.com Honestly we are good - + exhibitor gemini-furniture 12 @@ -60,7 +60,7 @@ http://www.ready-mat.example.com Catchy sentence ! - + exhibitor ready-mat 12 @@ -71,7 +71,7 @@ http://www.the-jackson-group.example.com You won't believe this sponsor - + online the-jackson-group 12 @@ -82,7 +82,7 @@ http://www.azure-interior.example.com Honestly we are good - + online azure-interior 12 @@ -92,7 +92,7 @@ You won't believe this sponsor - + online bloem-flower 12 @@ -102,7 +102,7 @@ Honestly we are good - + online open-wood 12 @@ -112,7 +112,7 @@ You won't believe this sponsor - + online tree-dealers 12 @@ -122,7 +122,7 @@ Honestly we are good - + online pterocarpus 12 diff --git a/addons/website_event_exhibitor/models/event_sponsor.py b/addons/website_event_exhibitor/models/event_sponsor.py index b2718c8acbf..bb0eec63225 100644 --- a/addons/website_event_exhibitor/models/event_sponsor.py +++ b/addons/website_event_exhibitor/models/event_sponsor.py @@ -26,19 +26,21 @@ class Sponsor(models.Model): ] event_id = fields.Many2one('event.event', 'Event', required=True) - sponsor_type_id = fields.Many2one('event.sponsor.type', 'Sponsoring Type', required=True) + sponsor_type_id = fields.Many2one('event.sponsor.type', 'Sponsoring Level', required=True) url = fields.Char('Sponsor Website', compute='_compute_url', readonly=False, store=True) sequence = fields.Integer('Sequence') active = fields.Boolean(default=True) # description subtitle = fields.Char('Slogan', help='Catchy marketing sentence for promote') - is_exhibitor = fields.Boolean("Exhibitor's Chat") + exhibitor_type = fields.Selection( + [('sponsor', 'Sponsor'), ('exhibitor', 'Exhibitor'), ('online', 'Online Exhibitor')], + string="Sponsor Type", default="sponsor") website_description = fields.Html( 'Description', compute='_compute_website_description', sanitize_attributes=False, sanitize_form=True, translate=html_translate, readonly=False, store=True) # contact information - partner_id = fields.Many2one('res.partner', 'Sponsor/Customer', required=True) + partner_id = fields.Many2one('res.partner', 'Partner', required=True) partner_name = fields.Char('Name', related='partner_id.name') partner_email = fields.Char('Email', related='partner_id.email') partner_phone = fields.Char('Phone', related='partner_id.phone') @@ -116,20 +118,19 @@ class Sponsor(models.Model): if not sponsor[fname]: sponsor[fname] = sponsor.partner_id[fname] - - @api.onchange('is_exhibitor') - def _onchange_is_exhibitor(self): + @api.onchange('exhibitor_type') + def _onchange_exhibitor_type(self): """ Keep an explicit onchange to allow configuration of room names, even if this field is normally a related on chat_room_id.name. It is not a real computed field, an onchange used in form view is sufficient. """ for sponsor in self: - if sponsor.is_exhibitor and not sponsor.room_name: + if sponsor.exhibitor_type == 'online' and not sponsor.room_name: if sponsor.name: room_name = "odoo-exhibitor-%s" % sponsor.name else: room_name = self.env['chat.room']._default_name(objname='exhibitor') sponsor.room_name = self._jitsi_sanitize_name(room_name) - if sponsor.is_exhibitor and not sponsor.room_max_capacity: + if sponsor.exhibitor_type == 'online' and not sponsor.room_max_capacity: sponsor.room_max_capacity = '8' @api.depends('partner_id') diff --git a/addons/website_event_exhibitor/models/event_sponsor_type.py b/addons/website_event_exhibitor/models/event_sponsor_type.py index 8eb3eb71fbd..316b81b79ae 100644 --- a/addons/website_event_exhibitor/models/event_sponsor_type.py +++ b/addons/website_event_exhibitor/models/event_sponsor_type.py @@ -6,10 +6,10 @@ from odoo import fields, models class SponsorType(models.Model): _name = "event.sponsor.type" - _description = 'Event Sponsor Type' + _description = 'Event Sponsor Level' _order = "sequence" - name = fields.Char('Sponsor Type', required=True, translate=True) + name = fields.Char('Sponsor Level', required=True, translate=True) sequence = fields.Integer('Sequence') display_ribbon_style = fields.Selection([ ('no_ribbon', 'No Ribbon'), diff --git a/addons/website_event_exhibitor/security/security.xml b/addons/website_event_exhibitor/security/security.xml index 415d829f8fb..88573f9298c 100644 --- a/addons/website_event_exhibitor/security/security.xml +++ b/addons/website_event_exhibitor/security/security.xml @@ -2,9 +2,9 @@ - Event Sponsor: public/portal published only + Event Sponsor: public/portal sponsor or published only - [('website_published', '=', True)] + ['|', ('exhibitor_type', '=', 'sponsor'), ('website_published', '=', True)] diff --git a/addons/website_event_exhibitor/views/event_exhibitor_templates_list.xml b/addons/website_event_exhibitor/views/event_exhibitor_templates_list.xml index 4d489d43354..e67053af25b 100644 --- a/addons/website_event_exhibitor/views/event_exhibitor_templates_list.xml +++ b/addons/website_event_exhibitor/views/event_exhibitor_templates_list.xml @@ -89,12 +89,12 @@