[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
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user