summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/event/models/res_config_settings.py4
-rw-r--r--addons/event/views/res_config_settings_views.xml38
-rw-r--r--addons/website_event/models/event_event.py10
-rw-r--r--addons/website_event/models/event_type.py8
-rw-r--r--addons/website_event/views/event_type_views.xml10
5 files changed, 67 insertions, 3 deletions
diff --git a/addons/event/models/res_config_settings.py b/addons/event/models/res_config_settings.py
index 69201cdbd2d..15af322830c 100644
--- a/addons/event/models/res_config_settings.py
+++ b/addons/event/models/res_config_settings.py
@@ -6,7 +6,11 @@ class ResConfigSettings(models.TransientModel):
_inherit = 'res.config.settings'
module_event_sale = fields.Boolean("Tickets")
+ module_website_event_meet = fields.Boolean("Discussion Rooms")
module_website_event_track = fields.Boolean("Tracks and Agenda")
+ module_website_event_track_live = fields.Boolean("Live Mode")
+ module_website_event_track_quiz = fields.Boolean("Quiz on Tracks")
+ module_website_event_track_exhibitor = fields.Boolean("Advanced Sponsors")
module_website_event_questions = fields.Boolean("Registration Survey")
module_event_barcode = fields.Boolean("Barcode")
module_website_event_sale = fields.Boolean("Online Ticketing")
diff --git a/addons/event/views/res_config_settings_views.xml b/addons/event/views/res_config_settings_views.xml
index 8636b17efa3..9e70837b7a3 100644
--- a/addons/event/views/res_config_settings_views.xml
+++ b/addons/event/views/res_config_settings_views.xml
@@ -22,6 +22,44 @@
<div class="text-muted">
Manage &amp; publish a schedule with tracks
</div>
+ <div class="mt-3 d-flex" attrs="{'invisible': [('module_website_event_track', '=', False)]}">
+ <field name="module_website_event_track_live" class="w-auto"/>
+ <div>
+ <label string="Live Mode" for="module_website_event_track_live"/><br/>
+ <span class="text-muted">Youtube support, Chat</span>
+ </div>
+ </div>
+ <div class="mt-3 d-flex" attrs="{'invisible': [('module_website_event_track', '=', False)]}">
+ <field name="module_website_event_track_quiz" class="w-auto"/>
+ <div>
+ <label string="Quizzes on tracks" for="module_website_event_track_quiz"/><br/>
+ <span class="text-muted">Quizzes, leaderboard</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="col-12 col-lg-6 o_setting_box">
+ <div>
+ <div class="o_setting_left_pane">
+ <field name="module_website_event_meet"/>
+ </div>
+ <div class="o_setting_right_pane">
+ <label string="Discussion Rooms" for="module_website_event_meet"/>
+ <div class="text-muted">
+ Integrate discussion rooms
+ </div>
+ </div>
+ </div>
+ <div class="mt-3">
+ <div class="o_setting_left_pane">
+ <field name="module_website_event_track_exhibitor"/>
+ </div>
+ <div class="o_setting_right_pane">
+ <label string="Advanced Sponsors" for="module_website_event_track_exhibitor"/>
+ <div class="text-muted">
+ Chat, advanced exhibitors
+ </div>
+ </div>
</div>
</div>
</div>
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
diff --git a/addons/website_event/views/event_type_views.xml b/addons/website_event/views/event_type_views.xml
index e35070a93ab..60d09caee79 100644
--- a/addons/website_event/views/event_type_views.xml
+++ b/addons/website_event/views/event_type_views.xml
@@ -19,7 +19,15 @@
website: registrations, schedule, map, ...
</div>
</div>
- <div id="community-menu" class="row mt16" groups="base.group_no_one" attrs="{'invisible': [('website_menu', '=', False)]}">
+ <div class="row mt16" name="menu_register_cta"
+ groups="base.group_no_one"
+ attrs="{'invisible': [('website_menu', '=', False)]}">
+ <label class="col-lg-4" for="menu_register_cta"/> <field name="menu_register_cta"/>
+ </div>
+ <div class="row mt16" name="community_menu"
+ id="community-menu"
+ groups="base.group_no_one"
+ attrs="{'invisible': [('website_menu', '=', False)]}">
<label class="col-lg-4" for="community_menu"/> <field name="community_menu"/>
</div>
</div>