diff --git a/addons/website_event_exhibitor/models/event_sponsor.py b/addons/website_event_exhibitor/models/event_sponsor.py index edfac09c260..8d3798283fa 100644 --- a/addons/website_event_exhibitor/models/event_sponsor.py +++ b/addons/website_event_exhibitor/models/event_sponsor.py @@ -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) diff --git a/addons/website_event_exhibitor/models/event_sponsor_type.py b/addons/website_event_exhibitor/models/event_sponsor_type.py index 316b81b79ae..72f66dc4915 100644 --- a/addons/website_event_exhibitor/models/event_sponsor_type.py +++ b/addons/website_event_exhibitor/models/event_sponsor_type.py @@ -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')