summaryrefslogtreecommitdiff
path: root/addons/website_event/views
diff options
context:
space:
mode:
authorThibault Delavallée <tde@odoo.com>2020-08-19 09:55:26 +0000
committerThibault Delavallée <tde@odoo.com>2020-08-21 17:30:13 +0000
commitb0845c0f2b48d6c7029a34ae50fc95876630e7ed (patch)
treecab4c50786ae087fdf6dec70b0c12ddc0c39c62d /addons/website_event/views
parentd697966585e9686f4bfce8049c1d0a21abe8a279 (diff)
[REM] website_event_online: merge 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 remaining content of website event online to website event. Update dependencies accordingly. LINKS Task ID-2319779 COM odoo/odoo#56067 ENT odoo/enterprise#12520 UPG odoo/upgrade#1654
Diffstat (limited to 'addons/website_event/views')
-rw-r--r--addons/website_event/views/assets.xml3
-rw-r--r--addons/website_event/views/event_event_views.xml2
-rw-r--r--addons/website_event/views/event_registration_views.xml36
-rw-r--r--addons/website_event/views/event_templates_list.xml10
-rw-r--r--addons/website_event/views/event_templates_page.xml6
-rw-r--r--addons/website_event/views/event_templates_page_registration.xml1
-rw-r--r--addons/website_event/views/event_templates_widgets.xml26
-rw-r--r--addons/website_event/views/website_visitor_views.xml65
8 files changed, 145 insertions, 4 deletions
diff --git a/addons/website_event/views/assets.xml b/addons/website_event/views/assets.xml
index e19a829e3ff..cbf9e23a6bf 100644
--- a/addons/website_event/views/assets.xml
+++ b/addons/website_event/views/assets.xml
@@ -10,8 +10,11 @@
<template id="assets_frontend" inherit_id="website.assets_frontend" name="Event Assets Frontend">
<xpath expr="//link[last()]" position="after">
<link rel="stylesheet" type="text/scss" href="/website_event/static/src/scss/website_event.scss"/>
+ <link rel="stylesheet" type="text/scss" href="/website_event/static/src/scss/website_event_templates.scss"/>
</xpath>
<xpath expr="//script[last()]" position="after">
+ <script type="text/javascript" src="/website_event/static/src/js/display_timer_widget.js"></script>
+ <script type="text/javascript" src="/website_event/static/src/js/register_toaster_widget.js"></script>
<script type="text/javascript" src="/website_event/static/src/js/website_geolocation.js"></script>
<script type="text/javascript" src="/website_event/static/src/js/website_event.js"></script>
<script type="text/javascript" src="/website_event/static/src/js/website_event_ticket_details.js"></script>
diff --git a/addons/website_event/views/event_event_views.xml b/addons/website_event/views/event_event_views.xml
index 6b03966b5aa..f364ac129c6 100644
--- a/addons/website_event/views/event_event_views.xml
+++ b/addons/website_event/views/event_event_views.xml
@@ -23,6 +23,8 @@
<div name="event_menu_configuration" groups="base.group_no_one">
<label for="website_menu" string="Website Submenu"/>
<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"/>
</div>
diff --git a/addons/website_event/views/event_registration_views.xml b/addons/website_event/views/event_registration_views.xml
new file mode 100644
index 00000000000..27e490d6a88
--- /dev/null
+++ b/addons/website_event/views/event_registration_views.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<odoo><data>
+ <record id="event_registration_action_from_visitor" model="ir.actions.act_window">
+ <field name="name">Registrations</field>
+ <field name="res_model">event.registration</field>
+ <field name="view_mode">kanban,tree,form</field>
+ <field name="domain">[('visitor_id', 'in', [active_id])]</field>
+ <field name="help" type="html">
+ <p class="o_view_nocontent_empty_folder">
+ No registration linked to this visitor
+ </p>
+ </field>
+ </record>
+
+ <record id="event_registration_view_form" model="ir.ui.view">
+ <field name="name">event.registration.view.form.inherit.online</field>
+ <field name="model">event.registration</field>
+ <field name="inherit_id" ref="event.view_event_registration_form"/>
+ <field name="arch" type="xml">
+ <xpath expr="//field[@name='partner_id']" position="after">
+ <field name="visitor_id" groups="base.group_no_one"/>
+ </xpath>
+ </field>
+ </record>
+
+ <record id="event_registration_view_tree" model="ir.ui.view">
+ <field name="name">event.registration.view.tree.inherit.online</field>
+ <field name="model">event.registration</field>
+ <field name="inherit_id" ref="event.view_event_registration_tree"/>
+ <field name="arch" type="xml">
+ <xpath expr="//field[@name='partner_id']" position="after">
+ <field name="visitor_id" optional="hide" groups="base.group_no_one"/>
+ </xpath>
+ </field>
+ </record>
+</data></odoo>
diff --git a/addons/website_event/views/event_templates_list.xml b/addons/website_event/views/event_templates_list.xml
index 89b8c1cd62f..4ad91388abe 100644
--- a/addons/website_event/views/event_templates_list.xml
+++ b/addons/website_event/views/event_templates_list.xml
@@ -97,15 +97,16 @@
<template id="event_category_tag" inherit_id="website_event.index_topbar" active="False" customize_show="True" name="Filter by Tags">
<xpath expr="//ul[hasclass('o_wevent_index_topbar_filters')]" position="inside">
<t t-foreach="categories" t-as="category">
- <li t-if="category.tag_ids" class="nav-item dropdown mr-2 my-1">
+ <li t-if="category.tag_ids and any(tag.color for tag in category.tag_ids)" class="nav-item dropdown mr-2 my-1">
<a href="#" role="button" class="btn dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-folder-open"/>
<t t-esc="category.name"/>
</a>
<div class="dropdown-menu">
<t t-foreach="category.tag_ids" t-as="tag">
- <a t-att-href="'/event?%s' % keep_query('*', tags=str((search_tags - tag).ids if tag in search_tags else (tag | search_tags).ids))"
- t-attf-class="dropdown-item d-flex align-items-center justify-content-between #{'active' if tag in search_tags else ''}">
+ <a t-if="tag.color"
+ t-att-href="'/event?%s' % keep_query('*', tags=str((search_tags - tag).ids if tag in search_tags else (tag | search_tags).ids))"
+ t-attf-class="dropdown-item d-flex align-items-center justify-content-between #{'active' if tag in search_tags else ''}">
<t t-esc="tag.name"/>
</a>
</t>
@@ -205,7 +206,8 @@
<div itemprop="location" t-field="event.address_id" t-options="{'widget': 'contact', 'fields': ['city'], 'no_marker': 'true'}"/>
<div class="mt8 d-flex align-items-center">
<t t-foreach="event.tag_ids" t-as="tag">
- <span t-attf-class="badge mr8 #{'badge-primary' if tag in search_tags else 'badge-light'}">
+ <span t-if="tag.color"
+ t-attf-class="badge mr8 #{'badge-primary' if tag in search_tags else 'badge-light'} #{'o_tag_color_%s' % tag.color if tag.color else ''}">
<span t-esc="tag.name"/>
</span>
</t>
diff --git a/addons/website_event/views/event_templates_page.xml b/addons/website_event/views/event_templates_page.xml
index 5a9b449b634..cc82788c948 100644
--- a/addons/website_event/views/event_templates_page.xml
+++ b/addons/website_event/views/event_templates_page.xml
@@ -52,6 +52,12 @@
</t>
</t>
</ul>
+ <!-- Add Register additional CTA button, in addition to menus -->
+ <a t-if="event.menu_register_cta and not event.is_participating"
+ t-att-href="'/event/%s/register' % (slug(event))"
+ class="btn btn-primary ml-auto">
+ Register
+ </a>
</div>
</div>
</nav>
diff --git a/addons/website_event/views/event_templates_page_registration.xml b/addons/website_event/views/event_templates_page_registration.xml
index e57a50212fe..6375b55c293 100644
--- a/addons/website_event/views/event_templates_page_registration.xml
+++ b/addons/website_event/views/event_templates_page_registration.xml
@@ -121,6 +121,7 @@
<i class="fa fa-pencil mr-2" role="img" aria-label="Edit" title="Edit event registration in backend"/><em>Configure Event Tickets</em>
</a>
</div>
+ <div t-if="toast_message" class="o_wevent_register_toaster d-none" t-att-data-message="toast_message"/>
<div t-if="not event.event_registrations_open" class="bg-white mb-5">
<div class="alert alert-info mb-0 d-flex justify-content-between align-items-center" role="status">
<t t-if="event.start_sale_date and event.start_sale_date &gt; datetime.date.today()">
diff --git a/addons/website_event/views/event_templates_widgets.xml b/addons/website_event/views/event_templates_widgets.xml
index 0a143d7d72b..4b994176bde 100644
--- a/addons/website_event/views/event_templates_widgets.xml
+++ b/addons/website_event/views/event_templates_widgets.xml
@@ -52,4 +52,30 @@
</div>
</template>
+<!-- Timer widget -->
+<template id="display_timer_widget" name="Display Timer Widget">
+ <t t-set="pre_countdown_display" t-value="bool(pre_countdown_text) or pre_countdown_display"/>
+ <t t-set="pre_countdown_time" t-value="datetime.datetime.now().timestamp() + int(pre_remaining_time)"/>
+
+ <div class="o_display_timer"
+ t-att-data-display-class="display_class"
+ t-att-data-main-countdown-time="datetime.datetime.now().timestamp() + int(main_remaining_time)"
+ t-att-data-main-countdown-text="main_countdown_text"
+ t-att-data-main-countdown-display="main_countdown_display"
+ t-att-data-pre-countdown-time="pre_countdown_time"
+ t-att-data-pre-countdown-display="pre_countdown_display"
+ t-att-data-pre-countdown-text="pre_countdown_text">
+ <t t-set="remaining_time" t-value="pre_remaining_time if pre_remaining_time else main_remaining_time"/>
+ <span class="o_display_timer_countdown d-flex justify-content-center">
+ <span class="o_countdown_text pr-1" t-esc="pre_countdown_text if pre_countdown_text else main_countdown_text if not pre_countdown_display else ''"/>
+ <div t-if="int(remaining_time) > 86400"
+ class="o_countdown_metric_container"><span class="o_countdown_remaining o_timer_days pr-1">0</span><span class="o_countdown_metric pr-1">days</span></div>
+ <div t-if="int(remaining_time) > 3600"
+ class="o_countdown_metric_container"><span class="o_countdown_remaining o_timer_hours">00</span><span class="o_countdown_metric">:</span></div>
+ <div class="o_countdown_metric_container"><span class="o_countdown_remaining o_timer_minutes">00</span><span class="o_countdown_metric">:</span></div>
+ <div class="o_countdown_metric_container"><span class="o_countdown_remaining o_timer_seconds">00</span><span class="o_countdown_metric"></span></div>
+ </span>
+ </div>
+</template>
+
</odoo>
diff --git a/addons/website_event/views/website_visitor_views.xml b/addons/website_event/views/website_visitor_views.xml
new file mode 100644
index 00000000000..471ab75f07b
--- /dev/null
+++ b/addons/website_event/views/website_visitor_views.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo><data>
+
+ <record id="website_visitor_view_search" model="ir.ui.view">
+ <field name="name">website.visitor.view.search.inherit.event</field>
+ <field name="model">website.visitor</field>
+ <field name="inherit_id" ref="website.website_visitor_view_search"/>
+ <field name="arch" type="xml">
+ <xpath expr="//filter[@name='group_by_lang']" position="after">
+ <filter string="Main Contact" name="group_by_parent_id" context="{'group_by': 'parent_id'}"/>
+ </xpath>
+ </field>
+ </record>
+
+ <record id="website_visitor_view_tree" model="ir.ui.view">
+ <field name="name">website.visitor.view.tree.inherit.event</field>
+ <field name="model">website.visitor</field>
+ <field name="inherit_id" ref="website.website_visitor_view_tree"/>
+ <field name="arch" type="xml">
+ <xpath expr="//field[@name='page_ids']" position="after">
+ <field name="event_registration_count"/>
+ </xpath>
+ </field>
+ </record>
+
+ <record id="website_visitor_view_form" model="ir.ui.view">
+ <field name="name">website.visitor.view.form.inherit.event</field>
+ <field name="model">website.visitor</field>
+ <field name="inherit_id" ref="website.website_visitor_view_form"/>
+ <field name="arch" type="xml">
+ <xpath expr="//button[@id='w_visitor_visit_counter']" position="before">
+ <button name="%(website_event.event_registration_action_from_visitor)d"
+ type="action"
+ class="oe_stat_button" icon="fa-ticket"
+ attrs="{'invisible': [('event_registration_count', '=', 0)]}">
+ <field name="event_registration_count" widget="statinfo" string="Registrations"/>
+ </button>
+ </xpath>
+ <xpath expr="//field[@name='page_ids']" position="after">
+ <field name="parent_id"/>
+ </xpath>
+ </field>
+ </record>
+
+ <record id="website_visitor_view_kanban" model="ir.ui.view">
+ <field name="name">website.visitor.view.kanban.inherit.event</field>
+ <field name="model">website.visitor</field>
+ <field name="inherit_id" ref="website.website_visitor_view_kanban"/>
+ <field name="arch" type="xml">
+ <field name="page_ids" position="after">
+ <field name="event_registration_count"/>
+ </field>
+ <xpath expr="//div[@id='o_page_count']" position="after">
+ <div>Registrations<span class="float-right font-weight-bold"><field name="event_registration_count"/></span></div>
+ </xpath>
+ <xpath expr="//div[hasclass('w_visitor_kanban_actions_ungrouped')]" position="before">
+ <div class="col">
+ <b><field name="event_registration_count"/></b>
+ <div>Registrations</div>
+ </div>
+ </xpath>
+ </field>
+ </record>
+
+</data></odoo>