summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThibault Delavallée <tde@odoo.com>2020-07-08 11:11:10 +0000
committerThibault Delavallée <tde@odoo.com>2020-07-23 09:55:01 +0000
commit1db746419f566a6299aaead8f0f8b6bb279732e2 (patch)
treeafd6f93e1d32e25b00d2053346b63032eb561747
parent309d090ff11a1a7c30a9921cda6b3aa85431fd60 (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.py14
-rw-r--r--addons/website_event_track/models/event_event.py40
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