summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/website_event/models/event_event.py10
-rw-r--r--addons/website_event/views/event_event_views.xml4
-rw-r--r--addons/website_event/views/event_type_views.xml6
-rw-r--r--addons/website_event_meet/models/event_event.py14
-rw-r--r--addons/website_event_meet/views/event_event_views.xml6
-rw-r--r--addons/website_event_meet/views/event_type_views.xml4
-rw-r--r--addons/website_event_track_quiz/__manifest__.py1
-rw-r--r--addons/website_event_track_quiz/models/__init__.py1
-rw-r--r--addons/website_event_track_quiz/models/event_event.py19
-rw-r--r--addons/website_event_track_quiz/views/event_event_views.xml19
-rw-r--r--addons/website_event_track_quiz/views/event_type_views.xml4
11 files changed, 69 insertions, 19 deletions
diff --git a/addons/website_event/models/event_event.py b/addons/website_event/models/event_event.py
index f897d2eaffd..53a433df6a4 100644
--- a/addons/website_event/models/event_event.py
+++ b/addons/website_event/models/event_event.py
@@ -114,14 +114,10 @@ class Event(models.Model):
@api.depends("event_type_id", "website_menu", "community_menu")
def _compute_community_menu(self):
- """ At type onchange: synchronize. At website_menu update: synchronize. """
+ """ Set False in base module. Sub modules will add their own logic
+ (meet or track_quiz). """
for event in self:
- if event.event_type_id and event.event_type_id != event._origin.event_type_id:
- event.community_menu = event.event_type_id.community_menu
- elif event.website_menu and (event.website_menu != event._origin.website_menu or not event.community_menu):
- event.community_menu = True
- elif not event.website_menu:
- event.community_menu = False
+ event.community_menu = False
@api.depends("event_type_id", "website_menu")
def _compute_menu_register_cta(self):
diff --git a/addons/website_event/views/event_event_views.xml b/addons/website_event/views/event_event_views.xml
index f364ac129c6..7a00591f195 100644
--- a/addons/website_event/views/event_event_views.xml
+++ b/addons/website_event/views/event_event_views.xml
@@ -25,8 +25,8 @@
<field name="website_menu"/>
<label for="menu_register_cta" string="Register Button"/>
<field name="menu_register_cta"/>
- <label for="community_menu" string="Community"/>
- <field name="community_menu"/>
+ <label for="community_menu" string="Community" invisible="1"/>
+ <field name="community_menu" invisible="1"/>
</div>
</xpath>
</field>
diff --git a/addons/website_event/views/event_type_views.xml b/addons/website_event/views/event_type_views.xml
index 60d09caee79..6a316aa7b32 100644
--- a/addons/website_event/views/event_type_views.xml
+++ b/addons/website_event/views/event_type_views.xml
@@ -20,14 +20,12 @@
</div>
</div>
<div class="row mt16" name="menu_register_cta"
- groups="base.group_no_one"
- attrs="{'invisible': [('website_menu', '=', False)]}">
+ groups="base.group_no_one">
<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)]}">
+ attrs="{'invisible': [('website_menu', 'in', (True, False))]}">
<label class="col-lg-4" for="community_menu"/> <field name="community_menu"/>
</div>
</div>
diff --git a/addons/website_event_meet/models/event_event.py b/addons/website_event_meet/models/event_event.py
index 4b254e91dbb..af44e8e6664 100644
--- a/addons/website_event_meet/models/event_event.py
+++ b/addons/website_event_meet/models/event_event.py
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
-from odoo import api, fields, models, _
-from odoo.addons.http_routing.models.ir_http import slug
+from odoo import api, fields, models
class Event(models.Model):
@@ -15,6 +14,17 @@ class Event(models.Model):
readonly=False, store=True,
help="Let Visitors Create Rooms")
+ @api.depends("event_type_id", "website_menu", "community_menu")
+ def _compute_community_menu(self):
+ """ At type onchange: synchronize. At website_menu update: synchronize. """
+ for event in self:
+ if event.event_type_id and event.event_type_id != event._origin.event_type_id:
+ event.community_menu = event.event_type_id.community_menu
+ elif event.website_menu and (event.website_menu != event._origin.website_menu or not event.community_menu):
+ event.community_menu = True
+ elif not event.website_menu:
+ event.community_menu = False
+
@api.depends("meeting_room_ids")
def _compute_meeting_room_count(self):
meeting_room_count = self.env["event.meeting.room"].sudo().read_group(
diff --git a/addons/website_event_meet/views/event_event_views.xml b/addons/website_event_meet/views/event_event_views.xml
index 798be072310..498f64ace2b 100644
--- a/addons/website_event_meet/views/event_event_views.xml
+++ b/addons/website_event_meet/views/event_event_views.xml
@@ -11,6 +11,12 @@
<field name="meeting_room_count" string="Rooms" widget="statinfo"/>
</button>
</xpath>
+ <xpath expr="//label[@for='community_menu']" position="attributes">
+ <attribute name="invisible">0</attribute>
+ </xpath>
+ <xpath expr="//field[@name='community_menu']" position="attributes">
+ <attribute name="invisible">0</attribute>
+ </xpath>
<xpath expr="//field[@name='community_menu']" position="after">
<field name="meeting_room_allow_creation" invisible="1"/>
</xpath>
diff --git a/addons/website_event_meet/views/event_type_views.xml b/addons/website_event_meet/views/event_type_views.xml
index 616206d9418..0aa7478fa4c 100644
--- a/addons/website_event_meet/views/event_type_views.xml
+++ b/addons/website_event_meet/views/event_type_views.xml
@@ -5,13 +5,13 @@
<field name="model">event.type</field>
<field name="inherit_id" ref="website_event.event_type_view_form"/>
<field name="arch" type="xml">
- <xpath expr="//div[@name='website_menu']" position='after'>
+ <xpath expr="//div[@id='community-menu']" position='after'>
<div class="row mt16" attrs="{'invisible': [('website_menu', '=', False)]}">
<label class="col-lg-4" for="meeting_room_allow_creation"/> <field name="meeting_room_allow_creation"/>
</div>
</xpath>
<xpath expr="//div[@id='community-menu']" position="attributes">
- <attribute name="groups"></attribute>
+ <attribute name="attrs">{'invisible': [('website_menu', '=', False)]}</attribute>
</xpath>
</field>
</record>
diff --git a/addons/website_event_track_quiz/__manifest__.py b/addons/website_event_track_quiz/__manifest__.py
index e1e71980282..810e538146c 100644
--- a/addons/website_event_track_quiz/__manifest__.py
+++ b/addons/website_event_track_quiz/__manifest__.py
@@ -25,6 +25,7 @@
'views/event_menus.xml',
'views/event_quiz_templates.xml',
'views/event_track_templates_page.xml',
+ 'views/event_event_views.xml',
'views/event_type_views.xml'
],
'demo': [
diff --git a/addons/website_event_track_quiz/models/__init__.py b/addons/website_event_track_quiz/models/__init__.py
index dd66c4ecd9e..078488231e0 100644
--- a/addons/website_event_track_quiz/models/__init__.py
+++ b/addons/website_event_track_quiz/models/__init__.py
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
+from . import event_event
from . import event_track
from . import event_track_visitor
from . import event_quiz
diff --git a/addons/website_event_track_quiz/models/event_event.py b/addons/website_event_track_quiz/models/event_event.py
new file mode 100644
index 00000000000..9ef2a289c08
--- /dev/null
+++ b/addons/website_event_track_quiz/models/event_event.py
@@ -0,0 +1,19 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import api, fields, models
+
+
+class Event(models.Model):
+ _inherit = "event.event"
+
+ @api.depends("event_type_id", "website_menu", "community_menu")
+ def _compute_community_menu(self):
+ """ At type onchange: synchronize. At website_menu update: synchronize. """
+ for event in self:
+ if event.event_type_id and event.event_type_id != event._origin.event_type_id:
+ event.community_menu = event.event_type_id.community_menu
+ elif event.website_menu and (event.website_menu != event._origin.website_menu or not event.community_menu):
+ event.community_menu = True
+ elif not event.website_menu:
+ event.community_menu = False
diff --git a/addons/website_event_track_quiz/views/event_event_views.xml b/addons/website_event_track_quiz/views/event_event_views.xml
new file mode 100644
index 00000000000..66419e8d95f
--- /dev/null
+++ b/addons/website_event_track_quiz/views/event_event_views.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo><data>
+
+ <record id="event_event_view_form" model="ir.ui.view">
+ <field name="name">event.event.view.form.inherit.track.quiz</field>
+ <field name="model">event.event</field>
+ <field name="inherit_id" ref="website_event.event_event_view_form"/>
+ <field name="arch" type="xml">
+ <xpath expr="//label[@for='community_menu']" position="attributes">
+ <attribute name="invisible">0</attribute>
+ </xpath>
+ <xpath expr="//field[@name='community_menu']" position="after">
+ <field name="meeting_room_allow_creation" invisible="1"/>
+ </xpath>
+ </field>
+ </record>
+
+</data></odoo>
+
diff --git a/addons/website_event_track_quiz/views/event_type_views.xml b/addons/website_event_track_quiz/views/event_type_views.xml
index 5f5e01a0d58..460a5e5bf5b 100644
--- a/addons/website_event_track_quiz/views/event_type_views.xml
+++ b/addons/website_event_track_quiz/views/event_type_views.xml
@@ -1,12 +1,12 @@
<?xml version="1.0"?>
<odoo><data>
<record id="event_type_view_form" model="ir.ui.view">
- <field name="name">event.type.view.form.inherit.meet</field>
+ <field name="name">event.type.view.form.inherit.track.quiz</field>
<field name="model">event.type</field>
<field name="inherit_id" ref="website_event.event_type_view_form"/>
<field name="arch" type="xml">
<xpath expr="//div[@id='community-menu']" position="attributes">
- <attribute name="groups"></attribute>
+ <attribute name="attrs">{'invisible': [('website_menu', '=', False)]}</attribute>
</xpath>
</field>
</record>