diff options
| author | Thibault Delavallée <tde@odoo.com> | 2020-07-31 19:36:01 +0000 |
|---|---|---|
| committer | Thibault Delavallée <tde@odoo.com> | 2020-08-03 15:10:14 +0000 |
| commit | 01f93f7a4be95fce924755afa228583f442fe28e (patch) | |
| tree | dec32dce157b7d707db674cc023fea5303cdc647 /addons/website_event_track/models | |
| parent | 47677c5f0cc1be65ce4e6beddad3c198dda7ea78 (diff) | |
[FIX] website_event(_track): allow event managers to unlink menus
Followup of 69d2513de21c2e80de605f77912a3687b8a79c6d : fix computation of menu fields values to
be more inlined with base menu option (website_menu) + True by default when
activating menus.
Also force update when writing directly on a menu field to ensure coherency
of website.event.menu.
PR #55325
closes odoo/odoo#55340
X-original-commit: 19d028aa885d5623ae98b26ad135a1b29c89d5ee
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Diffstat (limited to 'addons/website_event_track/models')
| -rw-r--r-- | addons/website_event_track/models/event_event.py | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/addons/website_event_track/models/event_event.py b/addons/website_event_track/models/event_event.py index 9e5cc1b58cf..7759a0e4a5c 100644 --- a/addons/website_event_track/models/event_event.py +++ b/addons/website_event_track/models/event_event.py @@ -62,7 +62,7 @@ class Event(models.Model): for event in self: if event.event_type_id and event.event_type_id != event._origin.event_type_id: event.website_track = event.event_type_id.website_track - elif event.website_menu != event._origin.website_menu or not event.website_track: + elif event.website_menu != event._origin.website_menu or not event.website_menu or not event.website_track: event.website_track = event.website_menu elif event.website_track_proposal and not event.website_track: event.website_track = True @@ -74,7 +74,7 @@ class Event(models.Model): for event in self: if event.event_type_id and event.event_type_id != event._origin.event_type_id: event.website_track_proposal = event.event_type_id.website_track_proposal - elif event.website_track != event._origin.website_track or not event.website_track_proposal: + elif event.website_track != event._origin.website_track or not event.website_track or not event.website_track_proposal: event.website_track_proposal = event.website_track @api.depends('track_ids.tag_ids', 'track_ids.tag_ids.color') @@ -98,9 +98,9 @@ class Event(models.Model): def _update_website_menus(self, menus_update_by_field=None): super(Event, self)._update_website_menus(menus_update_by_field=menus_update_by_field) for event in self: - if not menus_update_by_field or event in menus_update_by_field.get('website_track'): + if (not menus_update_by_field) or (event in menus_update_by_field.get('website_track')): event._update_website_menu_entry('website_track', 'track_menu_ids', '_get_track_menu_entries') - if not menus_update_by_field or event in menus_update_by_field.get('website_track_proposal'): + if (not menus_update_by_field) or (event in menus_update_by_field.get('website_track_proposal')): event._update_website_menu_entry('website_track_proposal', 'track_proposal_menu_ids', '_get_track_proposal_menu_entries') def _update_website_menu_entry(self, fname_bool, fname_o2m, method_name): |
