summaryrefslogtreecommitdiff
path: root/addons/website_event_track/controllers
diff options
context:
space:
mode:
authorMitali Patel <mpa@odoo.com>2017-02-08 16:41:18 +0100
committerThibault Delavallée <tde@odoo.com>2017-03-03 13:08:09 +0100
commit531d641375f5cee7d3a5e629f6b1eaceee8b2739 (patch)
tree4163f959a7cbda0edc008fe52003d90ab84daa61 /addons/website_event_track/controllers
parentddd4479d10c1071222fec38f89d803c4509013de (diff)
[IMP] event_track: make tracks easier to use
Purpose of this commit is to clean and ease the use of tracks in event management. * status is change to stages. Those are global for all event as we consider track acceptation process as similar across events; * change speakers many2many to a one2many. Most event have only one speaker or at least a main speaker; * add various chatter features: tracking of template, subtypes, suggested recipients, ... Also add activities on tracks and their various filters; * add automatic mailing on stages like already done in tasks or issues; * tweak display of tracks on agenda. Event manager see unpublished tracks with the right label in order to know the status of the various event tracks.
Diffstat (limited to 'addons/website_event_track/controllers')
-rw-r--r--addons/website_event_track/controllers/main.py14
1 files changed, 4 insertions, 10 deletions
diff --git a/addons/website_event_track/controllers/main.py b/addons/website_event_track/controllers/main.py
index 544c749c635..5a5a096127c 100644
--- a/addons/website_event_track/controllers/main.py
+++ b/addons/website_event_track/controllers/main.py
@@ -65,7 +65,7 @@ class WebsiteEventTrackController(http.Controller):
'dates': dates
}
- @http.route(['''/event/<model("event.event", "[('show_tracks','=',1)]"):event>/agenda'''], type='http', auth="public", website=True)
+ @http.route(['''/event/<model("event.event", "[('website_track','=',1)]"):event>/agenda'''], type='http', auth="public", website=True)
def event_agenda(self, event, tag=None, **post):
days_tracks = collections.defaultdict(lambda: [])
for track in event.track_ids.sorted(lambda track: (track.date, bool(track.location_id))):
@@ -79,22 +79,16 @@ class WebsiteEventTrackController(http.Controller):
tracks_by_days[day] = tracks
days[day] = self._prepare_calendar(event, tracks)
- speakers = {}
- for track in event.sudo().track_ids:
- speakers_name = u" – ".join(track.speaker_ids.mapped('name'))
- speakers[track.id] = speakers_name
-
return request.render("website_event_track.agenda", {
'event': event,
'days': days,
'tracks_by_days': tracks_by_days,
- 'speakers': speakers,
'tag': tag
})
@http.route([
- '''/event/<model("event.event", "[('show_tracks','=',1)]"):event>/track''',
- '''/event/<model("event.event", "[('show_tracks','=',1)]"):event>/track/tag/<model("event.track.tag"):tag>'''
+ '''/event/<model("event.event", "[('website_track','=',1)]"):event>/track''',
+ '''/event/<model("event.event", "[('website_track','=',1)]"):event>/track/tag/<model("event.track.tag"):tag>'''
], type='http', auth="public", website=True)
def event_tracks(self, event, tag=None, **post):
searches = {}
@@ -114,7 +108,7 @@ class WebsiteEventTrackController(http.Controller):
}
return request.render("website_event_track.tracks", values)
- @http.route(['''/event/<model("event.event", "[('show_track_proposal','=',1)]"):event>/track_proposal'''], type='http', auth="public", website=True)
+ @http.route(['''/event/<model("event.event", "[('website_track_proposal','=',1)]"):event>/track_proposal'''], type='http', auth="public", website=True)
def event_track_proposal(self, event, **post):
return request.render("website_event_track.event_track_proposal", {'event': event})