summaryrefslogtreecommitdiff
path: root/addons/website_event/models
diff options
context:
space:
mode:
Diffstat (limited to 'addons/website_event/models')
-rw-r--r--addons/website_event/models/event_event.py10
-rw-r--r--addons/website_event/models/event_type.py8
2 files changed, 16 insertions, 2 deletions
diff --git a/addons/website_event/models/event_event.py b/addons/website_event/models/event_event.py
index 162cdf8cd55..72f8096b5a1 100644
--- a/addons/website_event/models/event_event.py
+++ b/addons/website_event/models/event_event.py
@@ -123,10 +123,16 @@ class Event(models.Model):
elif not event.website_menu:
event.community_menu = False
- @api.depends('website_menu')
+ @api.depends("event_type_id", "website_menu")
def _compute_menu_register_cta(self):
+ """ At type onchange: synchronize. At website_menu update: synchronize. """
for event in self:
- event.menu_register_cta = event.website_menu
+ if event.event_type_id and event.event_type_id != event._origin.event_type_id:
+ event.menu_register_cta = event.event_type_id.menu_register_cta
+ elif event.website_menu and event.website_menu != event._origin.website_menu or not event.menu_register_cta:
+ event.menu_register_cta = True
+ elif not event.website_menu:
+ event.menu_register_cta = False
@api.depends('date_begin', 'date_end')
def _compute_time_data(self):
diff --git a/addons/website_event/models/event_type.py b/addons/website_event/models/event_type.py
index b89d3af9518..43acf03360b 100644
--- a/addons/website_event/models/event_type.py
+++ b/addons/website_event/models/event_type.py
@@ -13,8 +13,16 @@ class EventType(models.Model):
"Community Menu", compute="_compute_community_menu",
readonly=False, store=True,
help="Display community tab on website")
+ menu_register_cta = fields.Boolean(
+ 'Add Register Button', compute='_compute_menu_register_cta',
+ readonly=False, store=True)
@api.depends('website_menu')
def _compute_community_menu(self):
for event_type in self:
event_type.community_menu = event_type.website_menu
+
+ @api.depends('website_menu')
+ def _compute_menu_register_cta(self):
+ for event_type in self:
+ event_type.menu_register_cta = event_type.website_menu