[IMP] website_event_exhibitor: improve sponsor type management
Choose lowest sponsor type as default when creating a new sponsor. Purpose is to avoid being blocked by required fields. Choosing the lowest available sponsor type allows to ease discovering the feature without breaking any feature. Also set a default sequence when creating a sponsor type to avoid jump effect on list view: always send new sponsor types at the end. Also set default ribbon as no ribbon to avoid a "void" entry in ribbon style when creating new sponsor types. Task ID-2558875 PR odoo/odoo#71787
This commit is contained in:
@@ -25,8 +25,13 @@ class Sponsor(models.Model):
|
||||
'chat.room.mixin'
|
||||
]
|
||||
|
||||
def _default_sponsor_type_id(self):
|
||||
return self.env['event.sponsor.type'].search([], order="sequence desc", limit=1).id
|
||||
|
||||
event_id = fields.Many2one('event.event', 'Event', required=True)
|
||||
sponsor_type_id = fields.Many2one('event.sponsor.type', 'Sponsoring Level', required=True)
|
||||
sponsor_type_id = fields.Many2one(
|
||||
'event.sponsor.type', 'Sponsoring Level',
|
||||
default=lambda self: self._default_sponsor_type_id(), required=True)
|
||||
url = fields.Char('Sponsor Website', compute='_compute_url', readonly=False, store=True)
|
||||
sequence = fields.Integer('Sequence')
|
||||
active = fields.Boolean(default=True)
|
||||
|
||||
@@ -9,10 +9,12 @@ class SponsorType(models.Model):
|
||||
_description = 'Event Sponsor Level'
|
||||
_order = "sequence"
|
||||
|
||||
def _default_sequence(self):
|
||||
return (self.search([], order="sequence desc", limit=1).sequence or 0) + 1
|
||||
|
||||
name = fields.Char('Sponsor Level', required=True, translate=True)
|
||||
sequence = fields.Integer('Sequence')
|
||||
display_ribbon_style = fields.Selection([
|
||||
('no_ribbon', 'No Ribbon'),
|
||||
('Gold', 'Gold'),
|
||||
('Silver', 'Silver'),
|
||||
('Bronze', 'Bronze')], string='Ribbon Style')
|
||||
sequence = fields.Integer('Sequence', default=_default_sequence)
|
||||
display_ribbon_style = fields.Selection(
|
||||
[('no_ribbon', 'No Ribbon'), ('Gold', 'Gold'),
|
||||
('Silver', 'Silver'), ('Bronze', 'Bronze')],
|
||||
string='Ribbon Style', default='no_ribbon')
|
||||
|
||||
Reference in New Issue
Block a user