diff options
| author | Thibault Delavallée <tde@odoo.com> | 2020-07-08 11:11:10 +0000 |
|---|---|---|
| committer | Thibault Delavallée <tde@odoo.com> | 2020-07-23 09:55:01 +0000 |
| commit | 1db746419f566a6299aaead8f0f8b6bb279732e2 (patch) | |
| tree | afd6f93e1d32e25b00d2053346b63032eb561747 | |
| parent | 309d090ff11a1a7c30a9921cda6b3aa85431fd60 (diff) | |
[REF] website_event(_track): reorganize website menu management code
RATIONALE
Even will soon gain a major update called Event Online, allowing to better
support full-online events. In order to prepare its merge, preparatory merge
are done to lessen the final diff.
PURPOSE
In this commit we simply move some code in website_event and event_track to
better separate code about menu management from other code. It allows to
understand code organization and will lessen diff of future commits improving
menu management.
LINKS
PR #54801
Task ID 2304817 (Event Preparation 3)
Prepares Task ID 2252655 (Main Online Event task)
Prepares Task ID 2283796 (Event B2Basics)
X-original-commit: 35b265f1950e9f2977edc940645c35efef19e3c9
| -rw-r--r-- | addons/website_event/models/event_event.py | 14 | ||||
| -rw-r--r-- | addons/website_event_track/models/event_event.py | 40 |
2 files changed, 33 insertions, 21 deletions
diff --git a/addons/website_event/models/event_event.py b/addons/website_event/models/event_event.py index d901c8c92e4..4071afbfe42 100644 --- a/addons/website_event/models/event_event.py +++ b/addons/website_event/models/event_event.py @@ -82,6 +82,13 @@ class Event(models.Model): (menu_to_activate | menu_to_deactivate)._update_website_menus() return res + # ------------------------------------------------------------ + # WEBSITE MENU MANAGEMENT + # ------------------------------------------------------------ + + def toggle_website_menu(self, val): + self.website_menu = val + def _get_menu_entries(self): """ Method returning menu entries to display on the website view of the event, possibly depending on some options in inheriting modules. """ @@ -116,6 +123,10 @@ class Event(models.Model): }) return menu + # ------------------------------------------------------------ + # TOOLS + # ------------------------------------------------------------ + def google_map_link(self, zoom=8): self.ensure_one() if self.address_id: @@ -168,6 +179,3 @@ class Event(models.Model): def get_backend_menu_id(self): return self.env.ref('event.event_main_menu').id - - def toggle_website_menu(self, val): - self.website_menu = val diff --git a/addons/website_event_track/models/event_event.py b/addons/website_event_track/models/event_event.py index bf9473b7d9f..51ff629e690 100644 --- a/addons/website_event_track/models/event_event.py +++ b/addons/website_event_track/models/event_event.py @@ -81,6 +81,28 @@ class Event(models.Model): for event in self: event.tracks_tag_ids = event.track_ids.mapped('tag_ids').filtered(lambda tag: tag.color != 0).ids + def write(self, values): + track_activated = self.filtered(lambda event: event.website_track) + track_deactivated = self.filtered(lambda event: not event.website_track) + track_proposal_activated = self.filtered(lambda event: event.website_track_proposal) + track_proposal_deactivated = self.filtered(lambda event: not event.website_track_proposal) + super(Event, self).write(values) + to_deactivate = track_activated.filtered(lambda event: not event.website_track) + to_activate = track_deactivated.filtered(lambda event: event.website_track) + track_proposal_to_deactivate = track_proposal_activated.filtered(lambda event: not event.website_track_proposal) + track_proposal_to_activate = track_proposal_deactivated.filtered(lambda event: event.website_track_proposal) + (to_activate | to_deactivate | track_proposal_to_activate | track_proposal_to_deactivate)._update_website_menus() + + # ------------------------------------------------------------ + # WEBSITE MENU MANAGEMENT + # ------------------------------------------------------------ + + def toggle_website_track(self, val): + self.website_track = val + + def toggle_website_track_proposal(self, val): + self.website_track_proposal = val + def _update_website_menus(self): super(Event, self)._update_website_menus() for event in self: @@ -105,18 +127,6 @@ class Event(models.Model): elif not event.website_track_proposal: event.track_proposal_menu_ids.mapped('menu_id').unlink() - def write(self, values): - track_activated = self.filtered(lambda event: event.website_track) - track_deactivated = self.filtered(lambda event: not event.website_track) - track_proposal_activated = self.filtered(lambda event: event.website_track_proposal) - track_proposal_deactivated = self.filtered(lambda event: not event.website_track_proposal) - super(Event, self).write(values) - to_deactivate = track_activated.filtered(lambda event: not event.website_track) - to_activate = track_deactivated.filtered(lambda event: event.website_track) - track_proposal_to_deactivate = track_proposal_activated.filtered(lambda event: not event.website_track_proposal) - track_proposal_to_activate = track_proposal_deactivated.filtered(lambda event: event.website_track_proposal) - (to_activate | to_deactivate | track_proposal_to_activate | track_proposal_to_deactivate)._update_website_menus() - def _get_track_menu_entries(self): self.ensure_one() res = [ @@ -128,9 +138,3 @@ class Event(models.Model): self.ensure_one() res = [(_('Talk Proposals'), '/event/%s/track_proposal' % slug(self), False, 'track_proposal')] return res - - def toggle_website_track(self, val): - self.website_track = val - - def toggle_website_track_proposal(self, val): - self.website_track_proposal = val |
