diff options
| author | Patrick Hoste <pko@odoo.com> | 2020-03-06 09:17:18 +0000 |
|---|---|---|
| committer | Patrick Hoste <pko@odoo.com> | 2020-03-26 15:57:21 +0000 |
| commit | 37d281681c864f36c09de6f3895f9ef09a9dcdff (patch) | |
| tree | f03a777399795dcf5c2ba89c4d18070588a953d6 /addons | |
| parent | 4dfd0051d688accb9cc5bca1c0fabba7c10d9e8c (diff) | |
[FIX] website_event(_track): fix duplicate submenu
PURPOSE
Before this commit when updating an event with website_menu, website_track or
website_track_proposal activated it created an extra sub menu even if already
created. This commit fix this issue.
SPECIFICATIONS
Check if the menu doesn't exist before creating it.
LINKS
Task ID : 2210441
PR : #47058
closes odoo/odoo#48451
X-original-commit: d6e334d48aace3fce196bb0652915cd5232ffbe7
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Diffstat (limited to 'addons')
| -rw-r--r-- | addons/website_event/models/event_event.py | 7 | ||||
| -rw-r--r-- | addons/website_event_track/models/event_event.py | 8 |
2 files changed, 7 insertions, 8 deletions
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): |
