diff --git a/addons/website_event/models/event_event.py b/addons/website_event/models/event_event.py index fb22d3be845..5a7901ba22b 100644 --- a/addons/website_event/models/event_event.py +++ b/addons/website_event/models/event_event.py @@ -93,10 +93,9 @@ class Event(models.Model): if 'website_menu' in vals: if event.menu_id and not event.website_menu: event.menu_id.unlink() - elif event.website_menu: - if not event.menu_id: - root_menu = self.env['website.menu'].create({'name': event.name, 'website_id': event.website_id.id}) - event.menu_id = root_menu + elif event.website_menu and not event.menu_id: + root_menu = self.env['website.menu'].create({'name': event.name, 'website_id': event.website_id.id}) + event.menu_id = root_menu for sequence, (name, url, xml_id) in enumerate(event._get_menu_entries()): event._create_menu(sequence, name, url, xml_id) diff --git a/addons/website_event_track/models/event_event.py b/addons/website_event_track/models/event_event.py index 20ef5f43c97..f8b2ecab2c9 100644 --- a/addons/website_event_track/models/event_event.py +++ b/addons/website_event_track/models/event_event.py @@ -104,7 +104,7 @@ class Event(models.Model): super(Event, self)._update_website_menus(vals) for event in self: if 'website_track' in vals: - if vals['website_track']: + if vals['website_track'] and not event.track_menu_ids: for sequence, (name, url, xml_id, menu_type) in enumerate(event._get_track_menu_entries()): menu = super(Event, event)._create_menu(sequence, name, url, xml_id) event.env['website.event.menu'].create({ @@ -112,10 +112,10 @@ class Event(models.Model): 'event_id': event.id, 'menu_type': menu_type, }) - else: + elif event.track_menu_ids and not vals['website_track']: event.track_menu_ids.mapped('menu_id').unlink() if 'website_track_proposal' in vals: - if vals['website_track_proposal']: + if vals['website_track_proposal'] and not event.track_proposal_menu_ids: for sequence, (name, url, xml_id, menu_type) in enumerate(event._get_track_proposal_menu_entries()): menu = super(Event, event)._create_menu(sequence, name, url, xml_id) event.env['website.event.menu'].create({ @@ -123,7 +123,7 @@ class Event(models.Model): 'event_id': event.id, 'menu_type': menu_type, }) - else: + elif event.track_proposal_menu_ids and not vals['website_track_proposal']: event.track_proposal_menu_ids.mapped('menu_id').unlink() def _get_track_menu_entries(self):