[FW][MERGE] event_*: fix demo and various frontend glitches
PURPOSE Provide fixes after internal deployment of event online modules. SPECIFICATIONS Fix glitches in exhibitor menu filters. Use Favorite name for reminder / wishlist / favorite widget of tracks. Fix track / agenda menu management. Fix demo data to have coherent tracks. See sub commits for more details. UPDATE * website_event_track_exhibitor.exhibitors_topbar_sponsorship * website_event_track_online.track_widget_reminder * website_event_track_session.session_topbar LINKS Task ID-2312007 (demo fix) Task ID-2314778 (event online fixes) PR odoo/odoo#56254 PR odoo/enterprise#12558 closes odoo/odoo#56300 Forward-port-of: odoo/odoo#56254 Related: odoo/enterprise#12566 Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
This commit is contained in:
@@ -24,27 +24,27 @@ var discoverTalkSteps = function (talkName, fromList, reminderOn, toggleReminder
|
||||
}
|
||||
if (reminderOn) {
|
||||
steps = steps.concat([{
|
||||
content: "Check Reminder is on",
|
||||
content: "Check Favorite is on",
|
||||
trigger: 'div.o_wetrack_js_reminder i.fa-bell',
|
||||
extra_trigger: 'span.o_wetrack_js_reminder_text:contains("Reminder On")',
|
||||
extra_trigger: 'span.o_wetrack_js_reminder_text:contains("Favorite On")',
|
||||
run: function () {}, // it's a check
|
||||
}]);
|
||||
}
|
||||
else {
|
||||
steps = steps.concat([{
|
||||
content: "Check Reminder is Off",
|
||||
trigger: 'span.o_wetrack_js_reminder_text:contains("Set Reminder")',
|
||||
content: "Check Favorite is Off",
|
||||
trigger: 'span.o_wetrack_js_reminder_text:contains("Set Favorite")',
|
||||
run: function () {}, // it's a check
|
||||
}]);
|
||||
if (toggleReminder) {
|
||||
steps = steps.concat([{
|
||||
content: "Set Reminder",
|
||||
content: "Set Favorite",
|
||||
trigger: 'span.o_wetrack_js_reminder_text',
|
||||
run: 'click',
|
||||
}, {
|
||||
content: "Check Reminder is On",
|
||||
content: "Check Favorite is On",
|
||||
trigger: 'div.o_wetrack_js_reminder i.fa-bell',
|
||||
extra_trigger: 'span.o_wetrack_js_reminder_text:contains("Reminder On")',
|
||||
extra_trigger: 'span.o_wetrack_js_reminder_text:contains("Favorite On")',
|
||||
run: function () {}, // it's a check
|
||||
}]);
|
||||
}
|
||||
|
||||
@@ -210,7 +210,7 @@
|
||||
</section></div></field>
|
||||
</record>
|
||||
|
||||
<!-- 15-16-18: children of 12 (Azure Interior) -->
|
||||
<!-- 15-16-28: children of 12 (Azure Interior) -->
|
||||
<record id="base.res_partner_address_15" model="res.partner">
|
||||
<field name="is_published" eval="True"/>
|
||||
<field name="website">http://azure.example.com</field>
|
||||
|
||||
@@ -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):
|
||||
@@ -129,7 +125,7 @@ class Event(models.Model):
|
||||
for event in self:
|
||||
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:
|
||||
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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -354,7 +354,8 @@
|
||||
<field name="color">1</field>
|
||||
<field name="event_id" ref="event.event_7"/>
|
||||
<field name="stage_id" ref="event_track_stage3"/>
|
||||
<field name="date" eval="(DateTime.now() - timedelta(days=1)).strftime('%Y-%m-%d 15:30:00')"></field>
|
||||
<field name="wishlisted_by_default" eval="True"/>
|
||||
<field name="date" eval="(DateTime.now() - timedelta(days=1)).strftime('%Y-%m-%d 16:00:00')"></field>
|
||||
<field name="tag_ids" eval="[
|
||||
(4, ref('website_event_track.event_track_tag1')),
|
||||
(4, ref('website_event_track.event_track_tag2')),
|
||||
@@ -367,7 +368,7 @@
|
||||
</record>
|
||||
<!-- Location 1 -->
|
||||
<record id="event_7_track_3" model="event.track">
|
||||
<field name="name">A House Made of Woods ?</field>
|
||||
<field name="name">Easy Way To Build a Wooden House</field>
|
||||
<field name="color">2</field>
|
||||
<field name="event_id" ref="event.event_7"/>
|
||||
<field name="stage_id" ref="event_track_stage3"/>
|
||||
@@ -385,10 +386,10 @@
|
||||
<field name="event_id" ref="event.event_7"/>
|
||||
<field name="stage_id" ref="event_track_stage4"/>
|
||||
<field name="location_id" ref="website_event_track.event_track_location_online_1"/>
|
||||
<field name="date" eval="(DateTime.now() - timedelta(days=1)).strftime('%Y-%m-%d 13:00:00')"></field>
|
||||
<field name="date" eval="(DateTime.now() - timedelta(days=1)).strftime('%Y-%m-%d 12:00:00')"></field>
|
||||
<field name="tag_ids" eval="[(4, ref('website_event_track.event_track_tag1')), (4, ref('website_event_track.event_track_tag11'))]"/>
|
||||
<field name="is_published" eval="False"/>
|
||||
<field name="duration">2</field>
|
||||
<field name="duration">1</field>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_15"/>
|
||||
<field name="website_cta" eval="True"/>
|
||||
@@ -396,8 +397,21 @@
|
||||
<field name="website_cta_url">http://www.example.com</field>
|
||||
<field name="website_cta_delay">10</field>
|
||||
</record>
|
||||
<!-- Location 2 -->
|
||||
<record id="event_7_track_5" model="event.track">
|
||||
<field name="name">Top 10 Most Expensive Wood in the World</field>
|
||||
<field name="color">3</field>
|
||||
<field name="event_id" ref="event.event_7"/>
|
||||
<field name="stage_id" ref="event_track_stage3"/>
|
||||
<field name="location_id" ref="website_event_track.event_track_location_online_1"/>
|
||||
<field name="date" eval="(DateTime.now() - timedelta(days=1)).strftime('%Y-%m-%d 14:00:00')"></field>
|
||||
<field name="tag_ids" eval="[(4, ref('website_event_track.event_track_tag3')), (4, ref('website_event_track.event_track_tag11'))]"/>
|
||||
<field name="is_published" eval="True"/>
|
||||
<field name="duration">1</field>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_3"/>
|
||||
</record>
|
||||
<!-- Location 2 -->
|
||||
<record id="event_7_track_6" model="event.track">
|
||||
<field name="name">Securing your Lumber during transport</field>
|
||||
<field name="color">3</field>
|
||||
<field name="event_id" ref="event.event_7"/>
|
||||
@@ -410,8 +424,8 @@
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_28"/>
|
||||
</record>
|
||||
<record id="event_7_track_6" model="event.track">
|
||||
<field name="name">Meet our woods producers</field>
|
||||
<record id="event_7_track_7" model="event.track">
|
||||
<field name="name">Woodworking: How I got started!</field>
|
||||
<field name="color">3</field>
|
||||
<field name="event_id" ref="event.event_7"/>
|
||||
<field name="stage_id" ref="event_track_stage3"/>
|
||||
@@ -423,7 +437,7 @@
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_15"/>
|
||||
</record>
|
||||
<record id="event_7_track_7" model="event.track">
|
||||
<record id="event_7_track_8" model="event.track">
|
||||
<field name="name">Dealing with OpenWood Furniture</field>
|
||||
<field name="color">6</field>
|
||||
<field name="event_id" ref="event.event_7"/>
|
||||
@@ -436,7 +450,7 @@
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_3"/>
|
||||
</record>
|
||||
<record id="event_7_track_8" model="event.track">
|
||||
<record id="event_7_track_9" model="event.track">
|
||||
<field name="name">Kitchens for the Future</field>
|
||||
<field name="color">7</field>
|
||||
<field name="event_id" ref="event.event_7"/>
|
||||
@@ -456,10 +470,10 @@
|
||||
<field name="event_id" ref="event.event_7"/>
|
||||
<field name="stage_id" ref="event_track_stage2"/>
|
||||
<field name="location_id" ref="website_event_track.event_track_location_online_3"/>
|
||||
<field name="date" eval="(DateTime.now() - timedelta(days=1)).strftime('%Y-%m-%d 07:00:00')"></field>
|
||||
<field name="date" eval="(DateTime.now() - timedelta(days=1)).strftime('%Y-%m-%d 08:30:00')"></field>
|
||||
<field name="tag_ids" eval="[(4, ref('website_event_track.event_track_tag1')), (4, ref('website_event_track.event_track_tag12'))]"/>
|
||||
<field name="is_published" eval="False"/>
|
||||
<field name="duration">3</field>
|
||||
<field name="duration">2</field>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_31"/>
|
||||
</record>
|
||||
@@ -500,14 +514,14 @@
|
||||
<field name="color">1</field>
|
||||
<field name="event_id" ref="event.event_7"/>
|
||||
<field name="stage_id" ref="event_track_stage3"/>
|
||||
<field name="date" eval="DateTime.now().strftime('%Y-%m-%d 15:00:00')"></field>
|
||||
<field name="date" eval="DateTime.now().strftime('%Y-%m-%d 16:00:00')"></field>
|
||||
<field name="tag_ids" eval="[
|
||||
(4, ref('website_event_track.event_track_tag1')),
|
||||
(4, ref('website_event_track.event_track_tag2')),
|
||||
(4, ref('website_event_track.event_track_tag3')),
|
||||
(4, ref('website_event_track.event_track_tag13'))]"/>
|
||||
<field name="is_published" eval="True"/>
|
||||
<field name="duration">2</field>
|
||||
<field name="duration">1</field>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_16"/>
|
||||
</record>
|
||||
@@ -553,6 +567,19 @@
|
||||
</record>
|
||||
<!-- Location 2 -->
|
||||
<record id="event_7_track_15" model="event.track">
|
||||
<field name="name">Logs to lumber</field>
|
||||
<field name="color">3</field>
|
||||
<field name="event_id" ref="event.event_7"/>
|
||||
<field name="stage_id" ref="event_track_stage3"/>
|
||||
<field name="location_id" ref="website_event_track.event_track_location_online_2"/>
|
||||
<field name="date" eval="DateTime.now().strftime('%Y-%m-%d 08:00:00')"></field>
|
||||
<field name="tag_ids" eval="[(4, ref('website_event_track.event_track_tag3')), (4, ref('website_event_track.event_track_tag11'))]"/>
|
||||
<field name="is_published" eval="True"/>
|
||||
<field name="duration">1</field>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_31"/>
|
||||
</record>
|
||||
<record id="event_7_track_16" model="event.track">
|
||||
<field name="name">Pretty. Ugly. Lovely.</field>
|
||||
<field name="color">4</field>
|
||||
<field name="event_id" ref="event.event_7"/>
|
||||
@@ -565,11 +592,12 @@
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_16"/>
|
||||
</record>
|
||||
<record id="event_7_track_16" model="event.track">
|
||||
<record id="event_7_track_17" model="event.track">
|
||||
<field name="name">10 DIY Furniture Ideas For Absolute Beginners</field>
|
||||
<field name="color">7</field>
|
||||
<field name="event_id" ref="event.event_7"/>
|
||||
<field name="stage_id" ref="event_track_stage3"/>
|
||||
<field name="wishlisted_by_default" eval="True"/>
|
||||
<field name="location_id" ref="website_event_track.event_track_location_online_2"/>
|
||||
<field name="date" eval="DateTime.now().strftime('%Y-%m-%d 12:00:00')"></field>
|
||||
<field name="tag_ids" eval="[(4, ref('website_event_track.event_track_tag1')), (4, ref('website_event_track.event_track_tag11'))]"/>
|
||||
@@ -578,20 +606,32 @@
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_31"/>
|
||||
</record>
|
||||
<record id="event_7_track_17" model="event.track">
|
||||
<record id="event_7_track_18" model="event.track">
|
||||
<field name="name">6 Woodworking tips and tricks for beginners</field>
|
||||
<field name="color">7</field>
|
||||
<field name="event_id" ref="event.event_7"/>
|
||||
<field name="stage_id" ref="event_track_stage3"/>
|
||||
<field name="wishlisted_by_default" eval="True"/>
|
||||
<field name="location_id" ref="website_event_track.event_track_location_online_2"/>
|
||||
<field name="date" eval="DateTime.now().strftime('%Y-%m-%d 13:30:00')"></field>
|
||||
<field name="date" eval="DateTime.now().strftime('%Y-%m-%d 13:00:00')"></field>
|
||||
<field name="tag_ids" eval="[(4, ref('website_event_track.event_track_tag1')), (4, ref('website_event_track.event_track_tag12'))]"/>
|
||||
<field name="is_published" eval="True"/>
|
||||
<field name="duration">1.5</field>
|
||||
<field name="duration">1</field>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_17"/>
|
||||
</record>
|
||||
<record id="event_7_track_19" model="event.track">
|
||||
<field name="name">DIY Timber Cladding Project</field>
|
||||
<field name="color">7</field>
|
||||
<field name="event_id" ref="event.event_7"/>
|
||||
<field name="stage_id" ref="event_track_stage3"/>
|
||||
<field name="location_id" ref="website_event_track.event_track_location_online_2"/>
|
||||
<field name="date" eval="DateTime.now().strftime('%Y-%m-%d 14:00:00')"></field>
|
||||
<field name="tag_ids" eval="[(4, ref('website_event_track.event_track_tag1')), (4, ref('website_event_track.event_track_tag11'))]"/>
|
||||
<field name="is_published" eval="True"/>
|
||||
<field name="duration">1</field>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_3"/>
|
||||
</record>
|
||||
<!-- Location 3 -->
|
||||
<record id="event_7_track_l3_10" model="event.track">
|
||||
<field name="name">Live Testimonial</field>
|
||||
@@ -649,13 +689,13 @@
|
||||
(4, ref('website_event_track.event_track_tag3')),
|
||||
(4, ref('website_event_track.event_track_tag13'))]"/>
|
||||
<field name="is_published" eval="True"/>
|
||||
<field name="duration">2</field>
|
||||
<field name="duration">1.5</field>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
<field name="partner_id" ref="base.res_partner_address_3"/>
|
||||
</record>
|
||||
<!-- Location 1 -->
|
||||
<record id="event_7_track_22" model="event.track">
|
||||
<field name="name">Tools for Wood</field>
|
||||
<field name="name">Tools for the Woodworking Beginner</field>
|
||||
<field name="color">3</field>
|
||||
<field name="event_id" ref="event.event_7"/>
|
||||
<field name="stage_id" ref="event_track_stage3"/>
|
||||
@@ -668,8 +708,8 @@
|
||||
<field name="partner_id" ref="base.res_partner_address_4"/>
|
||||
</record>
|
||||
<record id="event_7_track_23" model="event.track">
|
||||
<field name="name">Repairing Tools</field>
|
||||
<field name="color">3</field>
|
||||
<field name="name">Restoring Old Woodworking Tools</field>
|
||||
<field name="color">7</field>
|
||||
<field name="event_id" ref="event.event_7"/>
|
||||
<field name="stage_id" ref="event_track_stage3"/>
|
||||
<field name="location_id" ref="website_event_track.event_track_location_online_1"/>
|
||||
|
||||
@@ -1,15 +1,74 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<record id="event_7_track_4" model="event.track">
|
||||
<record id="event_7_track_3" model="event.track">
|
||||
<field name="description" type="html">
|
||||
<p>A summary of know-how: how and what. All the basics for this course about gardening.</p>
|
||||
<p>Considering to build a wooden house? Watch this video to find out more information about a construction process and final result. Step by step simple explanation! Interested?</p>
|
||||
</field>
|
||||
</record>
|
||||
<record id="event_7_track_5" model="event.track">
|
||||
<field name="description" type="html">
|
||||
<p>A summary of know-how: how and what. All the basics for this course about gardening.</p>
|
||||
<p>Top most expensive wood in the world is quite interesting topic and several people may be surprised
|
||||
that there are hundreds of wood types exist around the globe following different properties and use.</p>
|
||||
<p>There are several variants of wood is available in the world but we are talking about most expensive
|
||||
ones in the world and keeping to the point we have arranged ten most expensive wood.</p>
|
||||
</field>
|
||||
</record>
|
||||
<record id="event_7_track_6" model="event.track">
|
||||
<field name="description" type="html">
|
||||
<p>Use these simple steps to easily haul LONG lumber in a short box pickup truck. A dose of carpenter's
|
||||
ingenuity along with a couple boards, a sturdy strap and a few screws are all I use to easily haul
|
||||
long boards from the lumberyard to the Next Level Carpentry shop or jobsite.</p>
|
||||
<p>Using a unique wrapping method for a tie down strap (NOT Bungee cords!!!) allows lumber to be
|
||||
cinched securely WITHOUT the need to tie and untie tricky or complicated knots.</p>
|
||||
</field>
|
||||
</record>
|
||||
<record id="event_7_track_7" model="event.track">
|
||||
<field name="description" type="html">
|
||||
<p>Probably one of the most asked questions I've gotten is how I got started woodworking! In this video I share with you how/why I started building furniture!</p>
|
||||
</field>
|
||||
</record>
|
||||
<record id="event_7_track_13" model="event.track">
|
||||
<field name="description" type="html">
|
||||
<p>Considering to build a wooden house? Watch this video to find out more information about a construction process and final result. Step by step simple explanation! Interested?</p>
|
||||
</field>
|
||||
</record>
|
||||
<record id="event_7_track_15" model="event.track">
|
||||
<field name="description" type="html">
|
||||
<p>In this video we will see how lumber is made in a sawmill factory.</p>
|
||||
</field>
|
||||
</record>
|
||||
<record id="event_7_track_17" model="event.track">
|
||||
<field name="description" type="html">
|
||||
<p> As you may have heard before, making your own furniture is actually not as difficult or as complicated as you think.
|
||||
In fact, some projects are so easy anyone could successfully complete them. For example, making a cute stool out of
|
||||
a old tire is a real piece of cake and if you’re in need of a coffee table you can easily put one together using
|
||||
wood crates.</p>
|
||||
<p>There are a lot of ideas worth exploring so start with the 10 DIY furniture ideas for absolute beginners.</p>
|
||||
</field>
|
||||
</record>
|
||||
<record id="event_7_track_18" model="event.track">
|
||||
<field name="description" type="html">
|
||||
<p>In this video, I covered 6 tips and tricks to help out beginners:
|
||||
<ul>
|
||||
<li>Making a center marking gauge</li>
|
||||
<li>Bandy clamp hack</li>
|
||||
<li>Right angle clamp jig</li>
|
||||
<li>Miter saw tip</li>
|
||||
<li>Glue tip</li>
|
||||
<li>Dowel Hack</li>
|
||||
</ul>
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
<record id="event_7_track_19" model="event.track">
|
||||
<field name="description" type="html">
|
||||
<p>Link to Q&A here! The time has come to hide those old block walls. Love simple and transformation type projects like this! :)-</p>
|
||||
</field>
|
||||
</record>
|
||||
<record id="event_7_track_23" model="event.track">
|
||||
<field name="description" type="html">
|
||||
<p> Restoring old woodworking tools</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
||||
@@ -37,17 +37,17 @@ class Event(models.Model):
|
||||
for event in self:
|
||||
event.sponsor_count = result.get(event.id, 0)
|
||||
|
||||
@api.depends('event_type_id', 'website_menu', 'website_track_proposal')
|
||||
@api.depends('event_type_id', 'website_menu')
|
||||
def _compute_website_track(self):
|
||||
""" Propagate event_type configuration (only at change); otherwise propagate
|
||||
website_menu updated value. Also force True is track_proposal changes. """
|
||||
for event in self:
|
||||
if event.event_type_id and event.event_type_id != event._origin.event_type_id:
|
||||
event.website_track = event.event_type_id.website_track
|
||||
elif event.website_menu != event._origin.website_menu or not event.website_menu or not event.website_track:
|
||||
event.website_track = event.website_menu
|
||||
elif event.website_track_proposal and not event.website_track:
|
||||
elif event.website_menu and (event.website_menu != event._origin.website_menu or not event.website_track):
|
||||
event.website_track = True
|
||||
elif not event.website_menu:
|
||||
event.website_track = False
|
||||
|
||||
@api.depends('event_type_id', 'website_track')
|
||||
def _compute_website_track_proposal(self):
|
||||
@@ -80,9 +80,9 @@ class Event(models.Model):
|
||||
def _update_website_menus(self, menus_update_by_field=None):
|
||||
super(Event, self)._update_website_menus(menus_update_by_field=menus_update_by_field)
|
||||
for event in self:
|
||||
if (not menus_update_by_field) or (event in menus_update_by_field.get('website_track')):
|
||||
if event.menu_id and (not menus_update_by_field or event in menus_update_by_field.get('website_track')):
|
||||
event._update_website_menu_entry('website_track', 'track_menu_ids', '_get_track_menu_entries')
|
||||
if (not menus_update_by_field) or (event in menus_update_by_field.get('website_track_proposal')):
|
||||
if event.menu_id and (not menus_update_by_field or event in menus_update_by_field.get('website_track_proposal')):
|
||||
event._update_website_menu_entry('website_track_proposal', 'track_proposal_menu_ids', '_get_track_proposal_menu_entries')
|
||||
|
||||
def _get_menu_type_field_matching(self):
|
||||
@@ -104,7 +104,7 @@ class Event(models.Model):
|
||||
self.ensure_one()
|
||||
return [
|
||||
(_('Talks'), '/event/%s/track' % slug(self), False, 10, 'track'),
|
||||
(_('Agenda'), '/event/%s/agenda' % slug(self), False, 70, False)
|
||||
(_('Agenda'), '/event/%s/agenda' % slug(self), False, 70, 'track')
|
||||
]
|
||||
|
||||
def _get_track_proposal_menu_entries(self):
|
||||
|
||||
@@ -55,7 +55,7 @@ publicWidget.registry.websiteEventTrackReminder = publicWidget.Widget.extend({
|
||||
});
|
||||
} else {
|
||||
self.reminderOn = reminderOnValue;
|
||||
var reminderText = self.reminderOn ? _t('Reminder On') : _t('Set Reminder');
|
||||
var reminderText = self.reminderOn ? _t('Favorite On') : _t('Set Favorite');
|
||||
self.$('.o_wetrack_js_reminder_text').text(reminderText);
|
||||
self._updateDisplay();
|
||||
var message = self.reminderOn ? _t('Talk added to your Favorites') : _t('Talk removed from your Favorites');
|
||||
@@ -74,10 +74,10 @@ publicWidget.registry.websiteEventTrackReminder = publicWidget.Widget.extend({
|
||||
var $trackLink = this.$el.find('i');
|
||||
if (this.reminderOn) {
|
||||
$trackLink.addClass('fa-bell').removeClass('fa-bell-o');
|
||||
$trackLink.attr('title', _t('Reminder On'));
|
||||
$trackLink.attr('title', _t('Favorite On'));
|
||||
} else {
|
||||
$trackLink.addClass('fa-bell-o').removeClass('fa-bell');
|
||||
$trackLink.attr('title', _t('Set Reminder'));
|
||||
$trackLink.attr('title', _t('Set Favorite'));
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -63,13 +63,23 @@ class TestEventWebsiteTrack(TestWebsiteEventCommon):
|
||||
self._assert_website_menus(event, set(['Location', 'Register', 'Community']))
|
||||
|
||||
event.write({'website_track_proposal': True})
|
||||
self.assertFalse(event.website_track)
|
||||
self.assertTrue(event.website_track_proposal)
|
||||
self._assert_website_menus(event, set(['Location', 'Register', 'Community', 'Talk Proposals']))
|
||||
|
||||
event.write({'website_track': True})
|
||||
self.assertTrue(event.website_track)
|
||||
self.assertTrue(event.website_track_proposal)
|
||||
self._assert_website_menus(event, set(['Location', 'Register', 'Community', 'Talks', 'Agenda', 'Talk Proposals']))
|
||||
|
||||
@users('user_eventmanager')
|
||||
def test_write_menu(self):
|
||||
event = self.env['event.event'].browse(self.event_0.id)
|
||||
event = self.env['event.event'].create({
|
||||
'name': 'TestEvent',
|
||||
'date_begin': fields.Datetime.to_string(datetime.today() + timedelta(days=1)),
|
||||
'date_end': fields.Datetime.to_string(datetime.today() + timedelta(days=15)),
|
||||
'website_menu': False,
|
||||
})
|
||||
self.assertFalse(event.menu_id)
|
||||
event.write({
|
||||
'website_menu': True,
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
<!-- Optional wishlist filter -->
|
||||
<li t-if="option_track_wishlist" 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"/> Wishlist
|
||||
<i class="fa fa-folder-open"/> Favorites
|
||||
</a>
|
||||
<div class="dropdown-menu">
|
||||
<a t-att-href="'/event/%s/track?%s' % (
|
||||
@@ -53,7 +53,7 @@
|
||||
keep_query('*', search_wishlist='1')
|
||||
)"
|
||||
t-attf-class="dropdown-item d-flex align-items-center justify-content-between #{'active' if search_wishlist else ''}">
|
||||
Wishlisted
|
||||
Favorites
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
@@ -10,15 +10,17 @@
|
||||
<div t-att-class="'o_wetrack_js_reminder btn %s %s' % (
|
||||
'btn-link' if reminder_light else 'btn-outline-primary',
|
||||
'btn-sm' if reminder_small else '')">
|
||||
<t t-if="track.is_reminder_on" t-set="title">Favorite On</t>
|
||||
<t t-else="track.is_reminder_on" t-set="title">Set Favorite</t>
|
||||
<i t-att-class="'fa fa-bell%s inactive_color_%s' % ('' if track.is_reminder_on else '-o', 'dark' if reminder_light and not light_theme else 'light')"
|
||||
t-att-data-track-id="track.id"
|
||||
t-att-title="'Reminder On' if track.is_reminder_on else 'Set a Reminder'"
|
||||
t-att-title="title"
|
||||
t-att-data-reminder-on="bool(track.is_reminder_on)"></i>
|
||||
<span t-if="not reminder_light" class="o_wetrack_js_reminder_text">
|
||||
<t t-if="not track.is_reminder_on">
|
||||
Set Reminder
|
||||
Set Favorite
|
||||
</t><t t-else="">
|
||||
Reminder On
|
||||
Favorite On
|
||||
</t>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -72,7 +72,7 @@ class ExhibitorController(EventTrackController):
|
||||
sponsors = request.env['event.sponsor'].sudo().search(search_domain)
|
||||
sponsors_all = request.env['event.sponsor'].sudo().search(search_domain_base)
|
||||
sponsor_types = sponsors_all.mapped('sponsor_type_id')
|
||||
sponsor_countries = sponsors_all.mapped('partner_id.country_id')
|
||||
sponsor_countries = sponsors_all.mapped('partner_id.country_id').sorted('name')
|
||||
# organize sponsors into categories to help display
|
||||
sponsor_categories = dict()
|
||||
for sponsor in sponsors:
|
||||
|
||||
@@ -20,7 +20,7 @@ class EventEvent(models.Model):
|
||||
for event in self:
|
||||
if event.event_type_id and event.event_type_id != event._origin.event_type_id:
|
||||
event.exhibitor_menu = event.event_type_id.exhibitor_menu
|
||||
elif event.website_menu and event.website_menu != event._origin.website_menu or not event.exhibitor_menu:
|
||||
elif event.website_menu and (event.website_menu != event._origin.website_menu or not event.exhibitor_menu):
|
||||
event.exhibitor_menu = True
|
||||
elif not event.website_menu:
|
||||
event.exhibitor_menu = False
|
||||
@@ -38,7 +38,7 @@ class EventEvent(models.Model):
|
||||
def _update_website_menus(self, menus_update_by_field=None):
|
||||
super(EventEvent, self)._update_website_menus(menus_update_by_field=menus_update_by_field)
|
||||
for event in self:
|
||||
if not menus_update_by_field or event in menus_update_by_field.get('exhibitor_menu'):
|
||||
if event.menu_id and (not menus_update_by_field or event in menus_update_by_field.get('exhibitor_menu')):
|
||||
event._update_website_menu_entry('exhibitor_menu', 'exhibitor_menu_ids', '_get_exhibitor_menu_entries')
|
||||
|
||||
def _get_menu_type_field_matching(self):
|
||||
|
||||
@@ -51,7 +51,8 @@
|
||||
<i class="fa fa-phone mr-2"/><span t-esc="widget.sponsorData.phone"/>
|
||||
</span>
|
||||
</div>
|
||||
<img class="img ml-auto"
|
||||
<img t-if="widget.sponsorData.country_flag_url"
|
||||
class="img ml-auto"
|
||||
style="max-height: 36px;"
|
||||
t-att-src="widget.sponsorData.country_flag_url"
|
||||
t-att-alt="widget.sponsorData.country_name"/>
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
<div class="dropdown-menu">
|
||||
<a t-att-href="'/event/%s/exhibitors?%s' % (slug(event), keep_query('*', sponsorships=''))"
|
||||
t-attf-class="dropdown-item d-flex align-items-center justify-content-between #{'active' if not search_sponsorships else ''}">
|
||||
All Countries
|
||||
All Sponsorships
|
||||
</a>
|
||||
<t t-foreach="sponsor_types" t-as="sponsor_type">
|
||||
<a t-att-href="'/event/%s/exhibitors?%s' % (
|
||||
|
||||
@@ -1,46 +1,59 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<!-- Tracks of: "OpenWood: Furniture Collection Online Reveal" -->
|
||||
<record id="website_event_track.event_7_track_1" model="event.track">
|
||||
<field name="youtube_video_url">https://www.youtube.com/watch?v=66AIsiezq5g</field>
|
||||
<field name="is_youtube_replay" eval="True" />
|
||||
</record>
|
||||
<record id="website_event_track.event_7_track_2" model="event.track">
|
||||
<field name="youtube_video_url">https://www.youtube.com/watch?v=IvUU8joBb1Q</field>
|
||||
<field name="is_youtube_replay" eval="True" />
|
||||
</record>
|
||||
<record id="website_event_track.event_7_track_3" model="event.track">
|
||||
<!-- Easy Way To Build a Wooden House -->
|
||||
<field name="youtube_video_url">https://www.youtube.com/watch?v=qRrA8al77a0</field>
|
||||
<field name="is_youtube_replay" eval="True" />
|
||||
</record>
|
||||
<record id="website_event_track.event_7_track_4" model="event.track">
|
||||
<field name="youtube_video_url">https://www.youtube.com/watch?v=bZ-queeu-lk</field>
|
||||
<field name="is_youtube_replay" eval="True" />
|
||||
<field name="is_youtube_replay" eval="True"/>
|
||||
</record>
|
||||
<record id="website_event_track.event_7_track_5" model="event.track">
|
||||
<field name="youtube_video_url">https://www.youtube.com/watch?v=gV3g5FzmQiM</field>
|
||||
<field name="is_youtube_replay" eval="True" />
|
||||
<!-- Top 10 Most Expensive Wood in the World -->
|
||||
<field name="youtube_video_url">https://www.youtube.com/watch?v=bZ-queeu-lk</field>
|
||||
<field name="is_youtube_replay" eval="True"/>
|
||||
</record>
|
||||
<record id="website_event_track.event_7_track_6" model="event.track">
|
||||
<field name="youtube_video_url">https://www.youtube.com/watch?v=g3IoL9hxABg</field>
|
||||
<field name="is_youtube_replay" eval="True" />
|
||||
<!-- Haul Long Lumber in a Shortbox Truck -->
|
||||
<field name="youtube_video_url">https://www.youtube.com/watch?v=gV3g5FzmQiM</field>
|
||||
<field name="is_youtube_replay" eval="True"/>
|
||||
</record>
|
||||
|
||||
<record id="website_event_track.event_7_track_10" model="event.track">
|
||||
<field name="youtube_video_url">https://www.youtube.com/watch?v=AVZtyXJB-rI</field>
|
||||
<field name="is_youtube_replay" eval="True" />
|
||||
</record>
|
||||
<record id="website_event_track.event_7_track_11" model="event.track">
|
||||
<field name="youtube_video_url">https://www.youtube.com/watch?v=LHztthKy4RE</field>
|
||||
<field name="is_youtube_replay" eval="True" />
|
||||
</record>
|
||||
<record id="website_event_track.event_7_track_12" model="event.track">
|
||||
<field name="youtube_video_url">https://www.youtube.com/watch?v=B-nEYsyRlYo</field>
|
||||
<field name="is_youtube_replay" eval="True" />
|
||||
<record id="website_event_track.event_7_track_7" model="event.track">
|
||||
<!-- Woodworking: How I got started! -->
|
||||
<field name="youtube_video_url">https://www.youtube.com/watch?v=loP-Nd7M5s8</field>
|
||||
<field name="is_youtube_replay" eval="True"/>
|
||||
</record>
|
||||
<record id="website_event_track.event_7_track_13" model="event.track">
|
||||
<field name="youtube_video_url">https://www.youtube.com/watch?v=7X8xuipr4_A</field>
|
||||
<field name="is_youtube_replay" eval="True" />
|
||||
<!-- Easy Way To Build a Wooden House -->
|
||||
<field name="youtube_video_url">https://www.youtube.com/watch?v=qRrA8al77a0</field>
|
||||
<field name="is_youtube_replay" eval="True"/>
|
||||
</record>
|
||||
<record id="website_event_track.event_7_track_15" model="event.track">
|
||||
<!-- Logs to Lumber -->
|
||||
<field name="youtube_video_url">https://www.youtube.com/watch?v=66AIsiezq5g</field>
|
||||
<field name="is_youtube_replay" eval="True"/>
|
||||
</record>
|
||||
<record id="website_event_track.event_7_track_17" model="event.track">
|
||||
<!-- 10 DIY Furniture Ideas For Absolute Beginners -->
|
||||
<field name="youtube_video_url">https://www.youtube.com/watch?v=OE4BVOjJp88</field>
|
||||
<field name="is_youtube_replay" eval="True"/>
|
||||
</record>
|
||||
<record id="website_event_track.event_7_track_18" model="event.track">
|
||||
<!-- 6 Woodworking tips and tricks for beginners -->
|
||||
<field name="youtube_video_url">https://www.youtube.com/watch?v=3cME3vK1aaQ</field>
|
||||
<field name="is_youtube_replay" eval="True"/>
|
||||
</record>
|
||||
<record id="website_event_track.event_7_track_19" model="event.track">
|
||||
<!-- How I Transformed this Old Block Wall - DIY Timber Cladding Project -->
|
||||
<field name="youtube_video_url">https://www.youtube.com/watch?v=7X8xuipr4_A</field>
|
||||
<field name="is_youtube_replay" eval="True"/>
|
||||
</record>
|
||||
<record id="website_event_track.event_7_track_22" model="event.track">
|
||||
<!-- Basic Set of Tools for the Woodworking Beginner -->
|
||||
<field name="youtube_video_url">https://www.youtube.com/watch?v=3pc-nnAykTQ</field>
|
||||
<field name="is_youtube_replay" eval="True"/>
|
||||
</record>
|
||||
<record id="website_event_track.event_7_track_23" model="event.track">
|
||||
<!-- Restoring Old Woodworking Tools -->
|
||||
<field name="youtube_video_url">https://www.youtube.com/watch?v=tI5zCo-zLkY</field>
|
||||
<field name="is_youtube_replay" eval="True"/>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
||||
@@ -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': [
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user