# -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. import collections import datetime import pytz import re import openerp from openerp.addons.web import http from openerp.addons.web.http import request from openerp.tools import html_escape class website_event(http.Controller): @http.route(['''/event//track/dates[-1][0]) or not location: dates.append((start_date, {}, bool(location))) for loc in locations.keys(): if locations[loc] and (locations[loc][-1][2] > start_date): locations[loc][-1][3] += 1 elif not locations[loc] or locations[loc][-1][2] < start_date: locations[loc].append([False, locations[loc] and locations[loc][-1][2] or dates[0][0], start_date, 1]) dates[-1][1][loc] = locations[loc][-1] forcetr = not bool(location) # Add event if locations[location] and locations[location][-1][1] > start_date: locations[location][-1][3] -= 1 locations[location].append([track, start_date, end_date, 1]) dates[-1][1][location] = locations[location][-1] return { 'locations': locations, 'dates': dates } # TODO: not implemented @http.route(['''/event//track_proposal/post'], type='http', auth="public", methods=['POST'], website=True) def event_track_proposal_post(self, event, **post): cr, uid, context = request.cr, request.uid, request.context tags = [] for tag in event.allowed_track_tag_ids: if post.get('tag_'+str(tag.id)): tags.append(tag.id) track_obj = request.registry['event.track'] track_id = track_obj.create(cr, openerp.SUPERUSER_ID, { 'name': post['track_name'], 'partner_name': post['partner_name'], 'partner_email': post['email_from'], 'partner_phone': post['phone'], 'partner_biography': html_escape(post['biography']), 'event_id': event.id, 'tag_ids': [(6, 0, tags)], 'user_id': False, 'description': html_escape(post['description']), }, context=context) track = track_obj.browse(cr, uid, track_id, context=context) values = {'track': track, 'event': event} return request.website.render("website_event_track.event_track_proposal_success", values)