From 4b8a51f3afeb84b2b64101d7f38e9efd9b675502 Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Mon, 5 Aug 2013 17:03:19 +0200 Subject: [PATCH] [IMP] website_event bzr revid: chm@openerp.com-20130805150319-y5iy0zxkq4fkuk5h --- addons/website_event/__openerp__.py | 2 +- addons/website_event/controllers/main.py | 20 ++++- addons/website_event/event.py | 12 +++ addons/website_event/views/website_event.xml | 120 +++++++++++++++++++++----- 4 files changed, 130 insertions(+), 24 deletions(-) diff --git a/addons/website_event/__openerp__.py b/addons/website_event/__openerp__.py index f871094..ad615c0 100644 --- a/addons/website_event/__openerp__.py +++ b/addons/website_event/__openerp__.py @@ -8,7 +8,7 @@ OpenERP Blog """, 'author': 'OpenERP SA', - 'depends': ['website', 'event'], + 'depends': ['website', 'event', 'website_sale'], 'data': [ 'views/website_event.xml', 'security/ir.model.access.csv', diff --git a/addons/website_event/controllers/main.py b/addons/website_event/controllers/main.py index c698112..a8b599b 100644 --- a/addons/website_event/controllers/main.py +++ b/addons/website_event/controllers/main.py @@ -10,6 +10,7 @@ from datetime import datetime from dateutil.relativedelta import relativedelta from openerp import tools import urllib +import werkzeug class website_hr(http.Controller): @@ -21,7 +22,7 @@ class website_hr(http.Controller): searches.setdefault('date', 'all') searches.setdefault('type', 'all') searches.setdefault('country', 'all') - + domain_search = {} def sd(date): @@ -81,7 +82,7 @@ class website_hr(http.Controller): countries.insert(0, {'country_id_count': event_obj.search(request.cr, request.uid, domain, count=True), 'country_id': ("all", _("All Countries"))}) - obj_ids = event_obj.search(request.cr, request.uid, dom_without("none")) + obj_ids = event_obj.search(request.cr, request.uid, dom_without("none"), order="date_begin DESC") values = { 'event_ids': event_obj.browse(request.cr, request.uid, obj_ids), 'dates': dates, @@ -96,7 +97,20 @@ class website_hr(http.Controller): @http.route(['/event/'], type='http', auth="public") def event(self, event_id=None, **post): - return "" + event = request.registry['event.event'].browse(request.cr, request.uid, event_id) + values = { + 'event_id': event, + 'google_map_url': "http://maps.googleapis.com/maps/api/staticmap?center=%s&sensor=false&zoom=12&size=298x298" % urllib.quote_plus('%s, %s %s, %s' % (event.street, event.city, event.zip, event.country_id and event.country_id.name_get()[0][1] or '')) + } + html = website.render("website_event.detail", values) + return html + + @http.route(['/event//add_cart'], type='http', auth="public") + def add_cart(self, event_id=None, **post): + if not post: + return werkzeug.utils.redirect("/event/%s/" % event_id) + + return werkzeug.utils.redirect("/shop/checkout" % event_id) @http.route(['/event/publish'], type='http', auth="public") def publish(self, **post): diff --git a/addons/website_event/event.py b/addons/website_event/event.py index a1f6b32..72ad35a 100644 --- a/addons/website_event/event.py +++ b/addons/website_event/event.py @@ -7,5 +7,17 @@ class event(osv.osv): _inherit = 'event.event' _columns = { 'website_published': fields.boolean('Available in the website'), + 'description_website': fields.html('Description for the website'), + 'product_ids': fields.one2many('event.event.product', "event_id", "Event"), } + +class event_product(osv.osv): + _name = 'event.event.product' + _columns = { + 'event_id': fields.many2one('event.event', "Event"), + 'product_id': fields.many2one('product.product', 'Product'), + 'price': fields.float('Price'), + 'qty': fields.integer('Current Registrations', readonly=True), + 'max_qty': fields.integer('Maximum Registrations'), + } diff --git a/addons/website_event/views/website_event.xml b/addons/website_event/views/website_event.xml index 01a2540..42f155d 100644 --- a/addons/website_event/views/website_event.xml +++ b/addons/website_event/views/website_event.xml @@ -2,6 +2,29 @@ + + view_event_form + event.event + + + + + + + + + + + + + + + + + + + + @@ -28,6 +51,18 @@ + + + \ No newline at end of file -- 1.7.10.4