summaryrefslogtreecommitdiff
path: root/addons/website_event_meet
diff options
context:
space:
mode:
authorThibault Delavallée <tde@odoo.com>2020-08-18 13:56:08 +0000
committerThibault Delavallée <tde@odoo.com>2020-08-21 17:30:13 +0000
commit77d7a3cf6a2cf07e18804a2d9b59e3697b11006e (patch)
tree435ca546a4b8eb5867dcd756e940b14e67513479 /addons/website_event_meet
parent8da7288453d43ff6ccfd6cb6d8332eec998d3927 (diff)
[MOV] website_event(_track): move website event menu into website event
PURPOSE Clean organization and models linked to Event Online feature introduced in semi stable saas-13.3 at odoo/odoo@981f95bbf46658eda9f2d33751b9310cc67d86aa and odoo/enterprise@14722028ae0773c3710ea48ce48ff44703e83b5a Also clean website event menu not being available in website event but only in website event track, which implies some extra-code to manage it. In short: merge website_event_online in website_event, website_event_track _(online/session) in website_event_track. RATIONALE _online modules have been added to extend content of website_event and website_event_track without having any impact on those module. First step of cleaning is to move this content directly in base module. track_session module is mainly a rewrite of track module. Second step of cleaning is to move its content directly in website_event_track. SPECIFICATIONS Move website event menu model directly into website event. Website event menu model has been introduced to help dealing with event-specific menus and website menus. This is some kind of glue to synchronize both of them as people could either * update an event (website_menu, website_track) that updates website menus availability; * update menus through website that should update event field value and menu computation; Having a model introduced in website event track forces to have override and code split across website_event, website_event_track, and now also in both _online version of those two as menu management was improved. In this commit we simplify all this code by moving most of menu management code in website_event, leaving only business-specific code (fields and their menus) to sub modules. SPECIFICATIONS: WEBSITE EVENT MENU Make type required as we don't support entries without type. Indeed this model is used to automate menus generation / destruction, and not for hand-made menus. We therefore set type as required and add a cascade ondelete for selection. SPECIFCIATIONS: COMMUNITY MENU Doing this change allows to define community menu in website_event and re-use it in website_event_meet and website_event_track_quiz, removing some unnecessary dependencies. This menu is void in website_event, and displays either meeting rooms (in meet) or quiz points leaderboard (in quiz), or a mix of both if the two features are installed. LINKS Task ID-2319779 COM odoo/odoo#56067 ENT odoo/enterprise#12520 UPG odoo/upgrade#165
Diffstat (limited to 'addons/website_event_meet')
-rw-r--r--addons/website_event_meet/controllers/community.py4
-rw-r--r--addons/website_event_meet/models/website_event_menu.py4
-rw-r--r--addons/website_event_meet/views/event_event_views.xml2
3 files changed, 6 insertions, 4 deletions
diff --git a/addons/website_event_meet/controllers/community.py b/addons/website_event_meet/controllers/community.py
index c653b9fa9f9..291a6017dfc 100644
--- a/addons/website_event_meet/controllers/community.py
+++ b/addons/website_event_meet/controllers/community.py
@@ -8,13 +8,13 @@ from werkzeug.utils import redirect
from odoo import exceptions, http
from odoo.http import request
from odoo.addons.http_routing.models.ir_http import slug
-from odoo.addons.website_event_track_online.controllers.community import WebsiteEventCommunityController
+from odoo.addons.website_event.controllers.community import EventCommunityController
from odoo.osv import expression
_logger = logging.getLogger(__name__)
-class WebsiteEventMeetController(WebsiteEventCommunityController):
+class WebsiteEventMeetController(EventCommunityController):
def _get_event_rooms_base_domain(self, event):
search_domain_base = [('event_id', '=', event.id), ('is_published', '=', True)]
diff --git a/addons/website_event_meet/models/website_event_menu.py b/addons/website_event_meet/models/website_event_menu.py
index 827d3bc1fa4..0902dde05f2 100644
--- a/addons/website_event_meet/models/website_event_menu.py
+++ b/addons/website_event_meet/models/website_event_menu.py
@@ -7,4 +7,6 @@ from odoo import fields, models
class EventMenu(models.Model):
_inherit = "website.event.menu"
- menu_type = fields.Selection(selection_add=[("meeting_room", "Event Meeting Room Menus")])
+ menu_type = fields.Selection(
+ selection_add=[("meeting_room", "Event Meeting Room Menus")],
+ ondelete={'meeting_room': 'cascade'})
diff --git a/addons/website_event_meet/views/event_event_views.xml b/addons/website_event_meet/views/event_event_views.xml
index 08d5c46e86b..798be072310 100644
--- a/addons/website_event_meet/views/event_event_views.xml
+++ b/addons/website_event_meet/views/event_event_views.xml
@@ -4,7 +4,7 @@
<record id="event_event_view_form" model="ir.ui.view">
<field name="name">event.event.view.form.inherit.meet</field>
<field name="model">event.event</field>
- <field name="inherit_id" ref="website_event_track_online.event_event_view_form"/>
+ <field name="inherit_id" ref="website_event.event_event_view_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='is_published']" position="before">
<button class="oe_stat_button" context="{'default_event_id': active_id, 'search_default_event_id': active_id}" icon="fa-comments-o" name="%(event_meeting_room_action)d" type="action">