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 @@
+
+ 0
+
+
+ 0
+
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 @@
event.type
-
+
-
+ {'invisible': [('website_menu', '=', False)]}
diff --git a/addons/website_event_track/data/event_track_demo.xml b/addons/website_event_track/data/event_track_demo.xml
index 71308eb0736..aec7c85d33e 100644
--- a/addons/website_event_track/data/event_track_demo.xml
+++ b/addons/website_event_track/data/event_track_demo.xml
@@ -354,7 +354,8 @@
1
-
+
+
- A House Made of Woods ?
+ Easy Way To Build a Wooden House2
@@ -385,10 +386,10 @@
-
+
- 2
+ 1
@@ -396,8 +397,21 @@
http://www.example.com10
-
+ Top 10 Most Expensive Wood in the World
+ 3
+
+
+
+
+
+
+ 1
+
+
+
+
+ Securing your Lumber during transport3
@@ -410,8 +424,8 @@
-
- Meet our woods producers
+
+ Woodworking: How I got started!3
@@ -423,7 +437,7 @@
-
+ Dealing with OpenWood Furniture6
@@ -436,7 +450,7 @@
-
+ Kitchens for the Future7
@@ -456,10 +470,10 @@
-
+
- 3
+ 2
@@ -500,14 +514,14 @@
1
-
+
- 2
+ 1
@@ -553,6 +567,19 @@
+ Logs to lumber
+ 3
+
+
+
+
+
+
+ 1
+
+
+
+ Pretty. Ugly. Lovely.4
@@ -565,11 +592,12 @@
-
+ 10 DIY Furniture Ideas For Absolute Beginners7
+
@@ -578,20 +606,32 @@
-
+ 6 Woodworking tips and tricks for beginners7
-
-
+
- 1.5
+ 1
+
+ DIY Timber Cladding Project
+ 7
+
+
+
+
+
+
+ 1
+
+
+ Live Testimonial
@@ -649,13 +689,13 @@
(4, ref('website_event_track.event_track_tag3')),
(4, ref('website_event_track.event_track_tag13'))]"/>
- 2
+ 1.5
- Tools for Wood
+ Tools for the Woodworking Beginner3
@@ -668,8 +708,8 @@
- Repairing Tools
- 3
+ Restoring Old Woodworking Tools
+ 7
diff --git a/addons/website_event_track/data/event_track_demo_description.xml b/addons/website_event_track/data/event_track_demo_description.xml
index 86e5528bed8..030e6293a07 100644
--- a/addons/website_event_track/data/event_track_demo_description.xml
+++ b/addons/website_event_track/data/event_track_demo_description.xml
@@ -1,15 +1,74 @@
-
+
-
A summary of know-how: how and what. All the basics for this course about gardening.
+
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?
-
A summary of know-how: how and what. All the basics for this course about gardening.
+
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.
+
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.
+
+
+
+
+
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.
+
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.
+
+
+
+
+
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!
+
+
+
+
+
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?
+
+
+
+
+
In this video we will see how lumber is made in a sawmill factory.
+
+
+
+
+
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.
+
There are a lot of ideas worth exploring so start with the 10 DIY furniture ideas for absolute beginners.
+
+
+
+
+
In this video, I covered 6 tips and tricks to help out beginners:
+
+
Making a center marking gauge
+
Bandy clamp hack
+
Right angle clamp jig
+
Miter saw tip
+
Glue tip
+
Dowel Hack
+
+
+
+
+
+
+
Link to Q&A here! The time has come to hide those old block walls. Love simple and transformation type projects like this! :)-
+
+
+
+
+
Restoring old woodworking tools
-
diff --git a/addons/website_event_track/models/event_event.py b/addons/website_event_track/models/event_event.py
index 7d7dc086077..1b62b47a27e 100644
--- a/addons/website_event_track/models/event_event.py
+++ b/addons/website_event_track/models/event_event.py
@@ -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):
diff --git a/addons/website_event_track/static/src/js/event_track_reminder.js b/addons/website_event_track/static/src/js/event_track_reminder.js
index a4d86dd9452..18fc3a4ab2e 100644
--- a/addons/website_event_track/static/src/js/event_track_reminder.js
+++ b/addons/website_event_track/static/src/js/event_track_reminder.js
@@ -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'));
}
},
diff --git a/addons/website_event_track/tests/test_website_event.py b/addons/website_event_track/tests/test_website_event.py
index 1fedaf2d428..233018d449a 100644
--- a/addons/website_event_track/tests/test_website_event.py
+++ b/addons/website_event_track/tests/test_website_event.py
@@ -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,
diff --git a/addons/website_event_track/views/event_track_templates_list.xml b/addons/website_event_track/views/event_track_templates_list.xml
index 85059f44c71..505a68ef4aa 100644
--- a/addons/website_event_track/views/event_track_templates_list.xml
+++ b/addons/website_event_track/views/event_track_templates_list.xml
@@ -38,7 +38,7 @@