From 14bb6060d74277ffbd55ddd2b87538089c61ac52 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Mon, 20 Jan 2014 16:37:33 +0100 Subject: [PATCH] [REM] Removed @website.route() decorator Need trunk-website-al Rev#5151 bzr revid: fme@openerp.com-20140120153733-ve3dn2kwvha7n3yl --- .../controllers/main.py | 5 +- .../controllers/main.py | 5 +- .../controllers/main.py | 13 +++--- .../controllers/main.py | 5 +- addons/website/controllers/main.py | 35 +++++++------- addons/website/models/ir_http.py | 10 ++-- addons/website/models/website.py | 17 ++----- addons/website_blog/controllers/main.py | 18 ++++---- addons/website_crm/controllers/main.py | 3 +- .../controllers/main.py | 7 ++- addons/website_customer/controllers/main.py | 6 +-- addons/website_event/controllers/main.py | 14 +++--- .../website_event_track/controllers/event.py | 12 ++--- addons/website_google_map/controllers/main.py | 7 ++- addons/website_hr/controllers/main.py | 3 +- .../controllers/main.py | 13 +++--- .../controllers/email_designer.py | 5 +- addons/website_mail/controllers/main.py | 3 +- addons/website_membership/controllers/main.py | 6 +-- addons/website_partner/controllers/main.py | 2 +- addons/website_project/controllers/main.py | 5 +- addons/website_sale/controllers/main.py | 46 +++++++++---------- .../website_sale_delivery/controllers/main.py | 4 +- 23 files changed, 111 insertions(+), 133 deletions(-) diff --git a/addons/payment_acquirer_adyen/controllers/main.py b/addons/payment_acquirer_adyen/controllers/main.py index f1f15bddf8d..5528b8824ba 100644 --- a/addons/payment_acquirer_adyen/controllers/main.py +++ b/addons/payment_acquirer_adyen/controllers/main.py @@ -2,7 +2,6 @@ from openerp.addons.web import http from openerp.addons.web.http import request -from openerp.addons.website.models import website try: import simplejson as json @@ -17,9 +16,9 @@ _logger = logging.getLogger(__name__) class AdyenController(http.Controller): _return_url = '/payment/adyen/return/' - @website.route([ + @http.route([ '/payment/adyen/return/', - ], type='http', auth='public') + ], type='http', auth='public', website=True) def adyen_return(self, pspReference, **post): """ Paypal IPN.""" post["pspReference"] = pspReference diff --git a/addons/payment_acquirer_ogone/controllers/main.py b/addons/payment_acquirer_ogone/controllers/main.py index 0e302d90019..fa58db07e49 100644 --- a/addons/payment_acquirer_ogone/controllers/main.py +++ b/addons/payment_acquirer_ogone/controllers/main.py @@ -4,7 +4,6 @@ import pprint from openerp.addons.web import http from openerp.addons.web.http import request -from openerp.addons.website.models import website _logger = logging.getLogger(__name__) @@ -15,12 +14,12 @@ class OgoneController(http.Controller): _exception_url = '/payment/ogone/test/exception' _cancel_url = '/payment/ogone/test/cancel' - @website.route([ + @http.route([ '/payment/ogone/accept', '/payment/ogone/test/accept', '/payment/ogone/decline', '/payment/ogone/test/decline', '/payment/ogone/exception', '/payment/ogone/test/exception', '/payment/ogone/cancel', '/payment/ogone/test/cancel', - ], type='http', auth='admin') + ], type='http', auth='admin', website=True) def ogone_form_feedback(self, **post): """ Ogone contacts using GET, at least for accept """ _logger.info('Ogone: entering form_feedback with post data %s', pprint.pformat(post)) # debug diff --git a/addons/payment_acquirer_paypal/controllers/main.py b/addons/payment_acquirer_paypal/controllers/main.py index d5ec93909af..a2bf54ea36b 100644 --- a/addons/payment_acquirer_paypal/controllers/main.py +++ b/addons/payment_acquirer_paypal/controllers/main.py @@ -11,7 +11,6 @@ import urllib2 from openerp.addons.web import http from openerp.addons.web.http import request -from openerp.addons.website.models import website _logger = logging.getLogger(__name__) @@ -54,18 +53,18 @@ class PaypalController(http.Controller): _logger.warning('Paypal: unrecognized paypal answer, received %s instead of VERIFIED or INVALID' % resp.text) return res - @website.route([ + @http.route([ '/payment/paypal/ipn/', - ], type='http', auth='public', methods=['POST']) + ], type='http', auth='public', methods=['POST'], website=True) def paypal_ipn(self, **post): """ Paypal IPN. """ _logger.info('Beginning Paypal IPN form_feedback with post data %s', pprint.pformat(post)) # debug self.paypal_validate_data(**post) return '' - @website.route([ + @http.route([ '/payment/paypal/dpn', - ], type='http', auth="public", methods=['POST']) + ], type='http', auth="public", methods=['POST'], website=True) def paypal_dpn(self, **post): """ Paypal DPN """ _logger.info('Beginning Paypal DPN form_feedback with post data %s', pprint.pformat(post)) # debug @@ -73,9 +72,9 @@ class PaypalController(http.Controller): self.paypal_validate_data(**post) return request.redirect(return_url) - @website.route([ + @http.route([ '/payment/paypal/cancel', - ], type='http', auth="public") + ], type='http', auth="public", website=True) def paypal_cancel(self, **post): """ When the user cancels its Paypal payment: GET on this route """ cr, uid, context = request.cr, request.uid, request.context diff --git a/addons/payment_acquirer_transfer/controllers/main.py b/addons/payment_acquirer_transfer/controllers/main.py index 6d0a7c1fa6f..2f1be63179e 100644 --- a/addons/payment_acquirer_transfer/controllers/main.py +++ b/addons/payment_acquirer_transfer/controllers/main.py @@ -4,7 +4,6 @@ import pprint from openerp.addons.web import http from openerp.addons.web.http import request -from openerp.addons.website.models import website _logger = logging.getLogger(__name__) @@ -12,9 +11,9 @@ _logger = logging.getLogger(__name__) class OgoneController(http.Controller): _accept_url = '/payment/transfer/feedback' - @website.route([ + @http.route([ '/payment/transfer/feedback', - ], type='http', auth='admin') + ], type='http', auth='admin', website=True) def transfer_form_feedback(self, **post): cr, uid, context = request.cr, request.uid, request.context _logger.info('Beginning form_feedback with post data %s', pprint.pformat(post)) # debug diff --git a/addons/website/controllers/main.py b/addons/website/controllers/main.py index 0120545a8bc..e0203c4746d 100644 --- a/addons/website/controllers/main.py +++ b/addons/website/controllers/main.py @@ -31,7 +31,7 @@ NOPE = object() MAX_IMAGE_WIDTH, MAX_IMAGE_HEIGHT = IMAGE_LIMITS = (1024, 768) class Website(openerp.addons.web.controllers.main.Home): - @website.route('/', type='http', auth="public", multilang=True) + @http.route(['/', '/2'], type='http', auth="public", website=True, multilang=True) def index(self, **kw): try: main_menu = request.registry['ir.model.data'].get_object(request.cr, request.uid, 'website', 'main_menu') @@ -42,7 +42,7 @@ class Website(openerp.addons.web.controllers.main.Home): pass return self.page("website.homepage") - @website.route('/pagenew/', type='http', auth="user") + @http.route('/pagenew/', type='http', auth="user") def pagenew(self, path, noredirect=NOPE): web = request.registry['website'] try: @@ -60,7 +60,7 @@ class Website(openerp.addons.web.controllers.main.Home): return werkzeug.wrappers.Response(url, mimetype='text/plain') return werkzeug.utils.redirect(url) - @website.route('/website/theme_change', type='http', auth="admin") + @http.route('/website/theme_change', type='http', auth="admin", website=True) def theme_change(self, theme_id=False, **kwargs): imd = request.registry['ir.model.data'] view = request.registry['ir.ui.view'] @@ -82,11 +82,11 @@ class Website(openerp.addons.web.controllers.main.Home): return request.website.render('website.themes', {'theme_changed': True}) - @website.route(['/website/snippets'], type='json', auth="public") + @http.route(['/website/snippets'], type='json', auth="public", website=True) def snippets(self): return request.website._render('website.snippets') - @website.route('/page/', type='http', auth="public", multilang=True) + @http.route('/page/', type='http', auth="public", website=True, multilang=True) def page(self, page, **opt): values = { 'path': page, @@ -108,7 +108,7 @@ class Website(openerp.addons.web.controllers.main.Home): return request.website.render(page, values) - @website.route('/website/reset_templates', type='http', auth='user', methods=['POST']) + @http.route('/website/reset_templates', type='http', auth='user', methods=['POST'], website=True) def reset_template(self, templates, redirect='/'): templates = request.httprequest.form.getlist('templates') modules_to_update = [] @@ -124,7 +124,7 @@ class Website(openerp.addons.web.controllers.main.Home): module_obj.button_immediate_upgrade(request.cr, request.uid, module_ids, context=request.context) return request.redirect(redirect) - @website.route('/website/customize_template_toggle', type='json', auth='user') + @http.route('/website/customize_template_toggle', type='json', auth='user', website=True) def customize_template_set(self, view_id): view_obj = request.registry.get("ir.ui.view") view = view_obj.browse(request.cr, request.uid, int(view_id), @@ -138,7 +138,7 @@ class Website(openerp.addons.web.controllers.main.Home): }, context=request.context) return True - @website.route('/website/customize_template_get', type='json', auth='user') + @http.route('/website/customize_template_get', type='json', auth='user', website=True) def customize_template_get(self, xml_id, optional=True): imd = request.registry['ir.model.data'] view_model, view_theme_id = imd.get_object_reference( @@ -173,7 +173,7 @@ class Website(openerp.addons.web.controllers.main.Home): }) return result - @website.route('/website/get_view_translations', type='json', auth='admin') + @http.route('/website/get_view_translations', type='json', auth='admin', website=True) def get_view_translations(self, xml_id, lang=None): lang = lang or request.context.get('lang') views = self.customize_template_get(xml_id, optional=False) @@ -182,7 +182,7 @@ class Website(openerp.addons.web.controllers.main.Home): irt = request.registry.get('ir.translation') return irt.search_read(request.cr, request.uid, domain, ['id', 'res_id', 'value'], context=request.context) - @website.route('/website/set_translations', type='json', auth='admin') + @http.route('/website/set_translations', type='json', auth='admin', website=True) def set_translations(self, data, lang): irt = request.registry.get('ir.translation') for view_id, trans in data.items(): @@ -217,7 +217,7 @@ class Website(openerp.addons.web.controllers.main.Home): irt.create(request.cr, request.uid, new_trans) return True - @website.route('/website/attach', type='http', auth='user') + @http.route('/website/attach', type='http', auth='user', website=True) def attach(self, func, upload): req = request.httprequest if req.method != 'POST': @@ -247,7 +247,7 @@ class Website(openerp.addons.web.controllers.main.Home): window.parent['%s'](%s, %s); """ % (func, json.dumps(url), json.dumps(message)) - @website.route(['/website/publish'], type='json', auth="public") + @http.route(['/website/publish'], type='json', auth="public", website=True) def publish(self, id, object): _id = int(id) _object = request.registry[object] @@ -264,23 +264,23 @@ class Website(openerp.addons.web.controllers.main.Home): obj = _object.browse(request.cr, request.uid, _id) return bool(obj.website_published) - @website.route(['/website/kanban/'], type='http', auth="public", methods=['POST']) + @http.route(['/website/kanban/'], type='http', auth="public", methods=['POST'], website=True) def kanban(self, **post): return request.website.kanban_col(**post) - @website.route(['/robots.txt'], type='http', auth="public") + @http.route(['/robots.txt'], type='http', auth="public", website=True) def robots(self): response = request.website.render('website.robots', {'url_root': request.httprequest.url_root}) response.mimetype = 'text/plain' return response - @website.route('/sitemap', type='http', auth='public', multilang=True) + @http.route('/sitemap', type='http', auth='public', website=True, multilang=True) def sitemap(self): return request.website.render('website.sitemap', { 'pages': request.website.enumerate_pages() }) - @website.route('/sitemap.xml', type='http', auth="public") + @http.route('/sitemap.xml', type='http', auth="public", website=True) def sitemap_xml(self): response = request.website.render('website.sitemap_xml', { 'pages': request.website.enumerate_pages() @@ -298,7 +298,7 @@ class Images(http.Controller): response.set_data(f.read()) return response.make_conditional(request.httprequest) - @website.route('/website/image', auth="public") + @http.route('/website/image', auth="public", website=True) def image(self, model, id, field, max_width=maxint, max_height=maxint): Model = request.registry[model] @@ -363,5 +363,4 @@ class Images(http.Controller): return response - # vim:expandtab:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/website/models/ir_http.py b/addons/website/models/ir_http.py index a550ab4fcbc..79db7aa4628 100644 --- a/addons/website/models/ir_http.py +++ b/addons/website/models/ir_http.py @@ -38,15 +38,15 @@ class ir_http(orm.AbstractModel): func = None try: func, arguments = self._find_handler() - request.cms = getattr(func, 'cms', False) + request.website_enabled = func.routing.get('website', False) except werkzeug.exceptions.NotFound: # either we have a language prefixed route, either a real 404 # in all cases, website processes them - request.cms = True + request.website_enabled = True - if request.cms: + if request.website_enabled: if func: - self._authenticate(getattr(func, 'auth', None)) + self._authenticate(func.routing['auth']) else: self._auth_method_public() request.website = request.registry['website'].get_current_website(request.cr, request.uid, context=request.context) @@ -82,7 +82,7 @@ class ir_http(orm.AbstractModel): def _handle_exception(self, exception=None, code=500): if isinstance(exception, werkzeug.exceptions.HTTPException) and exception.response: return exception.response - if getattr(request, 'cms', False) and request.website: + if getattr(request, 'website_enabled', False) and request.website: values = dict( exception=exception, traceback=traceback.format_exc(exception), diff --git a/addons/website/models/website.py b/addons/website/models/website.py index 9dc4ea61744..8303220e7af 100644 --- a/addons/website/models/website.py +++ b/addons/website/models/website.py @@ -1,6 +1,5 @@ # -*- coding: utf-8 -*- import fnmatch -import functools import inspect import logging import math @@ -17,19 +16,11 @@ import openerp from openerp.osv import orm, osv, fields from openerp.tools.safe_eval import safe_eval -from openerp.addons.web import http from openerp.addons.web.http import request, LazyResponse from ..utils import slugify logger = logging.getLogger(__name__) -def route(routes, *route_args, **route_kwargs): - def decorator(f): - f.cms = True - f.multilang = route_kwargs.pop('multilang', False) - return http.route(routes, *route_args, **route_kwargs)(f) - return decorator - def url_for(path_or_uri, lang=None, keep_query=None): location = path_or_uri.strip() url = urlparse.urlparse(location) @@ -313,10 +304,10 @@ class website(osv.osv): converters = rule._converters.values() return ( - 'GET' in methods - and endpoint.exposed == 'http' - and endpoint.auth in ('none', 'public') - and getattr(endpoint, 'cms', False) + 'GET' in methods + and endpoint.routing['type'] == 'http' + and endpoint.routing['auth'] in ('none', 'public') + and endpoint.routing.get('website', False) # preclude combinatorial explosion by only allowing a single converter and len(converters) <= 1 # ensure all converters on the rule are able to generate values for diff --git a/addons/website_blog/controllers/main.py b/addons/website_blog/controllers/main.py index fc48266cc5e..999e372305b 100644 --- a/addons/website_blog/controllers/main.py +++ b/addons/website_blog/controllers/main.py @@ -45,10 +45,10 @@ class WebsiteBlog(http.Controller): group['date'] = "%s_%s" % (group['__domain'][0][2], group['__domain'][1][2]) return groups - @website.route([ + @http.route([ '/blog', '/blog/page//', - ], type='http', auth="public", multilang=True) + ], type='http', auth="public", website=True, multilang=True) def blogs(self, page=1): BYPAGE = 60 cr, uid, context = request.cr, request.uid, request.context @@ -67,7 +67,7 @@ class WebsiteBlog(http.Controller): 'pager': pager }) - @website.route([ + @http.route([ '/blog//', '/blog//page//', '/blog//tag//', @@ -76,7 +76,7 @@ class WebsiteBlog(http.Controller): '/blog//date//page//', '/blog//tag//date//', '/blog//tag//date//page//', - ], type='http', auth="public", multilang=True) + ], type='http', auth="public", website=True, multilang=True) def blog(self, category=None, tag=None, date=None, page=1, **opt): """ Prepare all values to display the blog. @@ -152,9 +152,9 @@ class WebsiteBlog(http.Controller): } return request.website.render("website_blog.blog_post_short", values) - @website.route([ + @http.route([ '/blogpost//', - ], type='http', auth="public", multilang=True) + ], type='http', auth="public", website=True, multilang=True) def blog_post(self, blog_post, tag=None, date=None, page=1, enable_editor=None, **post): """ Prepare all values to display the blog. @@ -219,7 +219,7 @@ class WebsiteBlog(http.Controller): } return request.website.render("website_blog.blog_post_complete", values) - @website.route(['/blogpost/comment'], type='http', auth="public", methods=['POST']) + @http.route(['/blogpost/comment'], type='http', auth="public", methods=['POST'], website=True) def blog_post_comment(self, blog_post_id=0, **post): cr, uid, context = request.cr, request.uid, request.context if post.get('comment'): @@ -238,7 +238,7 @@ class WebsiteBlog(http.Controller): context=dict(context, mail_create_nosubcribe=True)) return werkzeug.utils.redirect(request.httprequest.referrer + "#comments") - @website.route('/blogpost/new', type='http', auth="public", multilang=True) + @http.route('/blogpost/new', type='http', auth="public", website=True, multilang=True) def blog_post_create(self, category_id, **post): cr, uid, context = request.cr, request.uid, request.context create_context = dict(context, mail_create_nosubscribe=True) @@ -251,7 +251,7 @@ class WebsiteBlog(http.Controller): }, context=create_context) return werkzeug.utils.redirect("/blogpost/%s/?enable_editor=1" % new_blog_post_id) - @website.route('/blogpost/duplicate', type='http', auth="public") + @http.route('/blogpost/duplicate', type='http', auth="public", website=True) def blog_post_copy(self, blog_post_id, **post): """ Duplicate a blog. diff --git a/addons/website_crm/controllers/main.py b/addons/website_crm/controllers/main.py index 570a9c99b27..65b38d3b09f 100644 --- a/addons/website_crm/controllers/main.py +++ b/addons/website_crm/controllers/main.py @@ -2,7 +2,6 @@ from openerp.addons.web import http from openerp.addons.web.http import request -from openerp.addons.website.models import website from openerp import SUPERUSER_ID from urllib import quote_plus @@ -16,7 +15,7 @@ class contactus(http.Controller): ) return url - @website.route(['/crm/contactus'], type='http', auth="public", multilang=True) + @http.route(['/crm/contactus'], type='http', auth="public", website=True, multilang=True) def contactus(self, *arg, **post): required_fields = ['contact_name', 'email_from', 'description'] post['user_id'] = False diff --git a/addons/website_crm_partner_assign/controllers/main.py b/addons/website_crm_partner_assign/controllers/main.py index 03147633b8f..a8d696e1353 100644 --- a/addons/website_crm_partner_assign/controllers/main.py +++ b/addons/website_crm_partner_assign/controllers/main.py @@ -9,20 +9,19 @@ from openerp.tools.translate import _ from openerp.addons.web.http import request from openerp.addons.website.models import website from openerp.addons.website_partner.controllers import main as website_partner -import werkzeug class WebsiteCrmPartnerAssign(http.Controller): _references_per_page = 20 - @website.route([ + @http.route([ '/partners/', '/partners/page//', '/partners/country/', '/partners/country/-', '/partners/country//page//', '/partners/country/-/page//', - ], type='http', auth="public", multilang=True) + ], type='http', auth="public", website=True, multilang=True) def partners(self, country_id=0, page=0, **post): country_obj = request.registry['res.country'] partner_obj = request.registry['res.partner'] @@ -95,7 +94,7 @@ class WebsiteCrmPartnerAssign(http.Controller): } return request.website.render("website_crm_partner_assign.index", values) - @website.route(['/partners//', '/partners/-/'], type='http', auth="public", multilang=True) + @http.route(['/partners//', '/partners/-/'], type='http', auth="public", website=True, multilang=True) def partners_ref(self, partner_id, **post): partner = request.registry['res.partner'].browse(request.cr, SUPERUSER_ID, partner_id, context=request.context) website.preload_records(partner) diff --git a/addons/website_customer/controllers/main.py b/addons/website_customer/controllers/main.py index 7977b8afa53..98b77fdd547 100644 --- a/addons/website_customer/controllers/main.py +++ b/addons/website_customer/controllers/main.py @@ -13,14 +13,14 @@ import urllib class WebsiteCustomer(http.Controller): _references_per_page = 20 - @website.route([ + @http.route([ '/customers/', '/customers/page//', '/customers/country/', '/customers/country/-', '/customers/country//page//', '/customers/country/-/page//', - ], type='http', auth="public", multilang=True) + ], type='http', auth="public", website=True, multilang=True) def customers(self, country_id=0, page=0, **post): cr, uid, context = request.cr, request.uid, request.context partner_obj = request.registry['res.partner'] @@ -76,7 +76,7 @@ class WebsiteCustomer(http.Controller): } return request.website.render("website_customer.index", values) - @website.route(['/customers//', '/customers/-/'], type='http', auth="public", multilang=True) + @http.route(['/customers//', '/customers/-/'], type='http', auth="public", website=True, multilang=True) def customer(self, partner_id, **post): partner = request.registry['res.partner'].browse(request.cr, SUPERUSER_ID, partner_id, context=request.context) website.preload_records(partner) diff --git a/addons/website_event/controllers/main.py b/addons/website_event/controllers/main.py index 3b7464ca445..8e9fe440abc 100644 --- a/addons/website_event/controllers/main.py +++ b/addons/website_event/controllers/main.py @@ -34,7 +34,7 @@ from openerp import tools import urllib class website_event(http.Controller): - @website.route(['/event/', '/event/page/'], type='http', auth="public", multilang=True) + @http.route(['/event/', '/event/page/'], type='http', auth="public", website=True, multilang=True) def events(self, page=1, **searches): cr, uid, context = request.cr, request.uid, request.context event_obj = request.registry['event.event'] @@ -161,7 +161,7 @@ class website_event(http.Controller): return request.website.render("website_event.index", values) - @website.route(['/event//page/'], type='http', auth="public", multilang=True) + @http.route(['/event//page/'], type='http', auth="public", website=True, multilang=True) def event_page(self, event, page, **post): website.preload_records(event, on_error="website_event.404") values = { @@ -170,7 +170,7 @@ class website_event(http.Controller): } return request.website.render(page, values) - @website.route(['/event/'], type='http', auth="public", multilang=True) + @http.route(['/event/'], type='http', auth="public", website=True, multilang=True) def event(self, event, **post): website.preload_records(event, on_error="website_event.404") if event.menu_id and event.menu_id.child_id: @@ -181,7 +181,7 @@ class website_event(http.Controller): target_url += '?enable_editor=1' return request.redirect(target_url); - @website.route(['/event//register'], type='http', auth="public", multilang=True) + @http.route(['/event//register'], type='http', auth="public", website=True, multilang=True) def event_register(self, event, **post): website.preload_records(event, on_error="website_event.404") values = { @@ -192,7 +192,7 @@ class website_event(http.Controller): } return request.website.render("website_event.event_description_full", values) - @website.route(['/event/add_cart'], type='http', auth="public", multilang=True) + @http.route(['/event/add_cart'], type='http', auth="public", website=True, multilang=True) def add_cart(self, event_id, **post): user_obj = request.registry['res.users'] order_line_obj = request.registry.get('sale.order.line') @@ -247,7 +247,7 @@ class website_event(http.Controller): return request.redirect("/event/%s/" % event_id) return request.redirect("/shop/checkout") - @website.route(['/event/publish'], type='json', auth="public") + @http.route(['/event/publish'], type='json', auth="public", website=True) def publish(self, id, object): # if a user publish an event, he publish all linked res.partner event = request.registry[object].browse(request.cr, request.uid, int(id)) @@ -259,7 +259,7 @@ class website_event(http.Controller): return controllers.publish(id, object) - @website.route('/event/add_event/', type='http', auth="user", multilang=True, methods=['POST']) + @http.route('/event/add_event/', type='http', auth="user", multilang=True, methods=['POST'], website=True) def add_event(self, event_name="New Event", **kwargs): Event = request.registry.get('event.event') date_begin = datetime.today() + timedelta(days=(15)) # FIXME: better defaults diff --git a/addons/website_event_track/controllers/event.py b/addons/website_event_track/controllers/event.py index 3d4976c07d4..f8863a162ad 100644 --- a/addons/website_event_track/controllers/event.py +++ b/addons/website_event_track/controllers/event.py @@ -30,7 +30,7 @@ import werkzeug.utils controllers = controllers() class website_event(http.Controller): - @website.route(['/event//track/'], type='http', auth="public", multilang=True) + @http.route(['/event//track/'], type='http', auth="public", website=True, multilang=True) def event_track_view(self, event, track, **post): # TODO: not implemented website.preload_records(event, on_error="website_event.404") @@ -38,7 +38,7 @@ class website_event(http.Controller): values = { 'track': track, 'event': track.event_id, 'main_object': track } return request.website.render("website_event_track.track_view", values) - @website.route(['/event//agenda/'], type='http', auth="public", multilang=True) + @http.route(['/event//agenda/'], type='http', auth="public", website=True, multilang=True) def event_agenda(self, event, tag=None, **post): website.preload_records(event, on_error="website_event.404") values = { @@ -47,10 +47,10 @@ class website_event(http.Controller): } return request.website.render("website_event_track.agenda", values) - @website.route([ + @http.route([ '/event//track/', '/event//track/tag/' - ], type='http', auth="public", multilang=True) + ], type='http', auth="public", website=True, multilang=True) def event_tracks(self, event, tag=None, **post): website.preload_records(event, on_error="website_event.404") website.preload_records(tag) @@ -80,13 +80,13 @@ class website_event(http.Controller): - @website.route(['/event//track_proposal/'], type='http', auth="public", multilang=True) + @http.route(['/event//track_proposal/'], type='http', auth="public", website=True, multilang=True) def event_track_proposal(self, event, **post): website.preload_records(event, on_error="website_event.404") values = { 'event': event } return request.website.render("website_event_track.event_track_proposal", values) - @website.route(['/event//track_proposal/post'], type='http', auth="public", methods=['POST'], multilang=True) + @http.route(['/event//track_proposal/post'], type='http', auth="public", methods=['POST'], website=True, multilang=True) def event_track_proposal_post(self, event, **post): cr, uid, context = request.cr, request.uid, request.context diff --git a/addons/website_google_map/controllers/main.py b/addons/website_google_map/controllers/main.py index b81823428e8..04cea6901fc 100644 --- a/addons/website_google_map/controllers/main.py +++ b/addons/website_google_map/controllers/main.py @@ -3,12 +3,11 @@ import openerp from openerp.addons.web import http from openerp.addons.web.http import request -from openerp.addons.website.models import website from datetime import datetime class google_map(http.Controller): - @website.route(['/google_map/'], type='http', auth="admin") + @http.route(['/google_map/'], type='http', auth="admin", website=True) def google_map(self, *arg, **post): values = { 'partner_ids': post.get('partner_ids', ""), @@ -18,7 +17,7 @@ class google_map(http.Controller): } return request.website.render("website_google_map.google_map", values) - @website.route(['/google_map/partners.json'], type='http', auth="admin") + @http.route(['/google_map/partners.json'], type='http', auth="admin", website=True) def google_map_data(self, *arg, **post): partner_obj = request.registry['res.partner'] @@ -29,7 +28,7 @@ class google_map(http.Controller): return partner_obj.google_map_json(request.cr, openerp.SUPERUSER_ID, partner_ids, request.context) - @website.route(['/google_map/set_partner_position/'], type='http', auth="admin") + @http.route(['/google_map/set_partner_position/'], type='http', auth="admin", website=True) def google_map_set_partner_position(self, *arg, **post): partner_obj = request.registry['res.partner'] diff --git a/addons/website_hr/controllers/main.py b/addons/website_hr/controllers/main.py index 72c15aea023..20c865b5b89 100644 --- a/addons/website_hr/controllers/main.py +++ b/addons/website_hr/controllers/main.py @@ -2,11 +2,10 @@ from openerp.addons.web import http from openerp.addons.web.http import request -from openerp.addons.website.models import website class website_hr(http.Controller): - @website.route(['/page/website.aboutus'], type='http', auth="public", multilang=True) + @http.route(['/page/website.aboutus'], type='http', auth="public", website=True, multilang=True) def blog(self, **post): hr_obj = request.registry['hr.employee'] employee_ids = hr_obj.search(request.cr, request.uid, [('website_published', '=', True)], diff --git a/addons/website_hr_recruitment/controllers/main.py b/addons/website_hr_recruitment/controllers/main.py index 42d9fbbc2d0..096c91677a8 100644 --- a/addons/website_hr_recruitment/controllers/main.py +++ b/addons/website_hr_recruitment/controllers/main.py @@ -2,7 +2,6 @@ from openerp.addons.web import http from openerp.tools.translate import _ from openerp.addons.web.http import request -from openerp.addons.website.models import website from openerp.addons.website.controllers.main import Website as controllers controllers = controllers() @@ -10,12 +9,12 @@ import base64 class website_hr_recruitment(http.Controller): - @website.route([ + @http.route([ '/jobs', '/jobs/department//office/', '/jobs/department/', '/jobs/office/' - ], type='http', auth="public", multilang=True) + ], type='http', auth="public", website=True, multilang=True) def jobs(self, department=None, office=None): JobsObj = request.registry['hr.job'] jobpost_ids = JobsObj.search(request.cr, request.uid, [], @@ -47,11 +46,11 @@ class website_hr_recruitment(http.Controller): 'office': office and office.id or None }) - @website.route(['/job/detail/'], type='http', auth="public", multilang=True) + @http.route(['/job/detail/'], type='http', auth="public", website=True, multilang=True) def detail(self, job, **kwargs): return request.website.render("website_hr_recruitment.detail", { 'job': job, 'main_object': job }) - @website.route(['/job/success'], methods=['POST'], type='http', auth="admin", multilang=True) + @http.route(['/job/success'], methods=['POST'], type='http', auth="admin", website=True, multilang=True) def success(self, **post): data = { 'name': _('Online Form'), @@ -84,7 +83,7 @@ class website_hr_recruitment(http.Controller): request.registry['ir.attachment'].create(request.cr, request.uid, attachment_values, context=request.context) return request.website.render("website_hr_recruitment.thankyou", {}) - @website.route(['/job/apply'], type='http', auth="public", multilang=True) + @http.route(['/job/apply'], type='http', auth="public", website=True, multilang=True) def applyjobpost(self, job): [job_object] = request.registry['hr.job'].browse( request.cr, request.uid, [int(job)], context=request.context) @@ -93,7 +92,7 @@ class website_hr_recruitment(http.Controller): 'job': job_object }) - @website.route('/job/add_job_offer/', type='http', auth="user", multilang=True, methods=['POST']) + @http.route('/job/add_job_offer/', type='http', auth="user", methods=['POST'], website=True, multilang=True) def add_job_offer(self, **kwargs): Job = request.registry.get('hr.job') job_id = Job.create(request.cr, request.uid, { diff --git a/addons/website_mail/controllers/email_designer.py b/addons/website_mail/controllers/email_designer.py index a7f6ef8d287..81bc703b702 100644 --- a/addons/website_mail/controllers/email_designer.py +++ b/addons/website_mail/controllers/email_designer.py @@ -3,12 +3,11 @@ # from openerp import SUPERUSER_ID from openerp.addons.web import http from openerp.addons.web.http import request -from openerp.addons.website.models import website class WebsiteEmailDesigner(http.Controller): - @website.route('/website_mail/email_designer//', type='http', auth="public", multilang=True) + @http.route('/website_mail/email_designer//', type='http', auth="public", website=True, multilang=True) def index(self, template, **kw): values = { 'template': template, @@ -16,6 +15,6 @@ class WebsiteEmailDesigner(http.Controller): print template return request.website.render("website_mail.designer_index", values) - @website.route(['/website_mail/snippets'], type='json', auth="public") + @http.route(['/website_mail/snippets'], type='json', auth="public", website=True) def snippets(self): return request.website._render('website_mail.email_designer_snippets') diff --git a/addons/website_mail/controllers/main.py b/addons/website_mail/controllers/main.py index ea0befff81a..f700fa7dc67 100644 --- a/addons/website_mail/controllers/main.py +++ b/addons/website_mail/controllers/main.py @@ -22,7 +22,6 @@ from openerp import SUPERUSER_ID from openerp.addons.web import http from openerp.addons.web.http import request -from openerp.addons.website.models import website class WebsiteMail(http.Controller): @@ -40,7 +39,7 @@ class WebsiteMail(http.Controller): partner_ids = [user_obj.browse(request.cr, request.uid, request.uid, request.context).partner_id.id] return partner_ids - @website.route(['/website_mail/follow/'], type='json', auth="public") + @http.route(['/website_mail/follow/'], type='json', auth="public", website=True) def website_message_subscribe(self, id=0, object=None, message_is_follower="on", email=False, **post): _id = int(id) _message_is_follower = message_is_follower == 'on' diff --git a/addons/website_membership/controllers/main.py b/addons/website_membership/controllers/main.py index 8a7a6a757d3..56ae698ebe3 100644 --- a/addons/website_membership/controllers/main.py +++ b/addons/website_membership/controllers/main.py @@ -14,7 +14,7 @@ import urllib class WebsiteMembership(http.Controller): _references_per_page = 20 - @website.route([ + @http.route([ '/members/', '/members/page//', '/members/association//', @@ -29,7 +29,7 @@ class WebsiteMembership(http.Controller): '/members/association//country/', '/members/association//country/-/page//', '/members/association//country//page//', - ], type='http', auth="public", multilang=True) + ], type='http', auth="public", website=True, multilang=True) def members(self, membership_id=None, country_name=None, country_id=0, page=0, **post): cr, uid, context = request.cr, request.uid, request.context product_obj = request.registry['product.product'] @@ -92,7 +92,7 @@ class WebsiteMembership(http.Controller): } return request.website.render("website_membership.index", values) - @website.route(['/members//', '/members/-/'], type='http', auth="public", multilang=True) + @http.route(['/members//', '/members/-/'], type='http', auth="public", website=True, multilang=True) def partners_ref(self, partner_id, **post): partner = request.registry['res.partner'].browse(request.cr, SUPERUSER_ID, partner_id, context=request.context) website.preload_records(partner) diff --git a/addons/website_partner/controllers/main.py b/addons/website_partner/controllers/main.py index 896de36c352..a405fb6e798 100644 --- a/addons/website_partner/controllers/main.py +++ b/addons/website_partner/controllers/main.py @@ -34,7 +34,7 @@ def get_partner_template_value(partner): return values class WebsitePartner(http.Controller): - @website.route(['/partners//', '/partners/-/'], type='http', auth="public", multilang=True) + @http.route(['/partners//', '/partners/-/'], type='http', auth="public", website=True, multilang=True) def partner(self, partner_id, **post): """ Route for displaying a single partner / customer. """ partner = request.registry['res.partner'].browse(request.cr, SUPERUSER_ID, partner_id, context=request.context) diff --git a/addons/website_project/controllers/main.py b/addons/website_project/controllers/main.py index e44d34be4cb..64f2fd0762e 100644 --- a/addons/website_project/controllers/main.py +++ b/addons/website_project/controllers/main.py @@ -21,7 +21,6 @@ from openerp.addons.web import http from openerp.addons.web.http import request -from openerp.addons.website.models import website from openerp.osv import osv @@ -39,7 +38,7 @@ class Website(osv.Model): class website_project(http.Controller): - @website.route(['/project//'], type='http', auth="public", multilang=True) + @http.route(['/project//'], type='http', auth="public", website=True, multilang=True) def project(self, project_id=None, **post): cr, uid, context = request.cr, request.uid, request.context project_obj = request.registry['project.project'] @@ -52,7 +51,7 @@ class website_project(http.Controller): } return request.website.render("website_project.index", render_values) - @website.route(['/project/task/'], type='http', auth="public", multilang=True) + @http.route(['/project/task/'], type='http', auth="public", website=True, multilang=True) def task(self, task_id=None, **post): cr, uid, context = request.cr, request.uid, request.context task_obj = request.registry['project.task'] diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index 7d44f07a040..17c7f3a574a 100644 --- a/addons/website_sale/controllers/main.py +++ b/addons/website_sale/controllers/main.py @@ -144,7 +144,7 @@ class Ecommerce(http.Controller): return key_val return False - @website.route(['/shop/filters/'], type='http', auth="public", multilang=True) + @http.route(['/shop/filters/'], type='http', auth="public", website=True, multilang=True) def filters(self, **post): index = [] filters = [] @@ -190,18 +190,18 @@ class Ecommerce(http.Controller): att = obj.read(request.cr, request.uid, att_ids, ["product_tmpl_id"], context=request.context) return [r["product_tmpl_id"][0] for r in att] - @website.route(['/shop/pricelist'], type='http', auth="public", multilang=True) + @http.route(['/shop/pricelist'], type='http', auth="public", website=True, multilang=True) def shop_promo(self, code, **post): assert code, 'No pricelist code provided' request.registry['website']._ecommerce_change_pricelist(request.cr, request.uid, code=code, context=request.context) return request.redirect("/shop") - @website.route([ + @http.route([ '/shop/', '/shop/page//', '/shop/category//', '/shop/category//page//' - ], type='http', auth="public", multilang=True) + ], type='http', auth="public", website=True, multilang=True) def shop(self, category=None, page=0, filters='', search='', **post): cr, uid, context = request.cr, request.uid, request.context product_obj = request.registry.get('product.template') @@ -257,7 +257,7 @@ class Ecommerce(http.Controller): } return request.website.render("website_sale.products", values) - @website.route(['/shop/product//'], type='http', auth="public", multilang=True) + @http.route(['/shop/product//'], type='http', auth="public", website=True, multilang=True) def product(self, product, search='', category='', filters='', **kwargs): website.preload_records(product, on_error="website_sale.404") @@ -286,7 +286,7 @@ class Ecommerce(http.Controller): } return request.website.render("website_sale.product", values) - @website.route(['/shop/product/comment'], type='http', auth="public", methods=['POST']) + @http.route(['/shop/product/comment'], type='http', auth="public", methods=['POST'], website=True) def product_comment(self, product_template_id, **post): cr, uid, context = request.cr, request.uid, request.context if post.get('comment'): @@ -298,7 +298,7 @@ class Ecommerce(http.Controller): context=dict(context, mail_create_nosubcribe=True)) return werkzeug.utils.redirect(request.httprequest.referrer + "#comments") - @website.route(['/shop/add_product/'], type='http', auth="user", multilang=True, methods=['POST']) + @http.route(['/shop/add_product/'], type='http', auth="user", methods=['POST'], website=True, multilang=True) def add_product(self, name="New Product", category=0, **post): Product = request.registry.get('product.product') product_id = Product.create(request.cr, request.uid, { @@ -308,7 +308,7 @@ class Ecommerce(http.Controller): return request.redirect("/shop/product/%s/?enable_editor=1" % product.product_tmpl_id.id) - @website.route(['/shop/mycart/'], type='http', auth="public", multilang=True) + @http.route(['/shop/mycart/'], type='http', auth="public", website=True, multilang=True) def mycart(self, **post): cr, uid, context = request.cr, request.uid, request.context prod_obj = request.registry.get('product.product') @@ -343,21 +343,21 @@ class Ecommerce(http.Controller): } return request.website.render("website_sale.mycart", values) - @website.route(['/shop/add_cart/'], type='http', auth="public", multilang=True, methods=['POST']) + @http.route(['/shop/add_cart/'], type='http', auth="public", methods=['POST'], website=True, multilang=True) def add_cart(self, product_id, remove=None, **kw): request.registry['website']._ecommerce_add_product_to_cart(request.cr, request.uid, product_id=int(product_id), context=request.context) return request.redirect("/shop/mycart/") - @website.route(['/shop/change_cart//'], type='http', auth="public", multilang=True) + @http.route(['/shop/change_cart//'], type='http', auth="public", website=True, multilang=True) def add_cart_order_line(self, order_line_id=None, remove=None, **kw): request.registry['website']._ecommerce_add_product_to_cart(request.cr, request.uid, order_line_id=order_line_id, number=(remove and -1 or 1), context=request.context) return request.redirect("/shop/mycart/") - @website.route(['/shop/add_cart_json/'], type='json', auth="public") + @http.route(['/shop/add_cart_json/'], type='json', auth="public", website=True) def add_cart_json(self, product_id=None, order_line_id=None, remove=None): quantity = request.registry['website']._ecommerce_add_product_to_cart(request.cr, request.uid, product_id=product_id, order_line_id=order_line_id, number=(remove and -1 or 1), @@ -368,13 +368,13 @@ class Ecommerce(http.Controller): order.amount_total, request.website._render("website_sale.total", {'website_sale_order': order})] - @website.route(['/shop/set_cart_json/'], type='json', auth="public") + @http.route(['/shop/set_cart_json/'], type='json', auth="public", website=True) def set_cart_json(self, path=None, product_id=None, order_line_id=None, set_number=0, json=None): return request.registry['website']._ecommerce_add_product_to_cart(request.cr, request.uid, product_id=product_id, order_line_id=order_line_id, set_number=set_number, context=request.context) - @website.route(['/shop/checkout/'], type='http', auth="public", multilang=True) + @http.route(['/shop/checkout/'], type='http', auth="public", website=True, multilang=True) def checkout(self, **post): cr, uid, context, registry = request.cr, request.uid, request.context, request.registry @@ -428,7 +428,7 @@ class Ecommerce(http.Controller): return request.website.render("website_sale.checkout", values) - @website.route(['/shop/confirm_order/'], type='http', auth="public", multilang=True) + @http.route(['/shop/confirm_order/'], type='http', auth="public", website=True, multilang=True) def confirm_order(self, **post): cr, uid, context, registry = request.cr, request.uid, request.context, request.registry order_line_obj = request.registry.get('sale.order') @@ -527,7 +527,7 @@ class Ecommerce(http.Controller): return request.redirect("/shop/payment/") - @website.route(['/shop/payment/'], type='http', auth="public", multilang=True) + @http.route(['/shop/payment/'], type='http', auth="public", website=True, multilang=True) def payment(self, **post): """ Payment step. This page proposes several payment means based on available payment.acquirer. State at this point : @@ -585,8 +585,8 @@ class Ecommerce(http.Controller): return request.website.render("website_sale.payment", values) - @website.route(['/shop/payment/transaction/'], - type='http', methods=['POST'], auth="public") + @http.route(['/shop/payment/transaction/'], + type='http', methods=['POST'], auth="public", website=True) def payment_transaction(self, acquirer_id, **post): """ Hook method that creates a payment.transaction and redirect to the acquirer, using post values to re-create the post action. @@ -628,7 +628,7 @@ class Ecommerce(http.Controller): acquirer_total_url = '%s?%s' % (acquirer_form_post_url, urllib.urlencode(post)) return request.redirect(acquirer_total_url) - @website.route('/shop/payment/get_status/', type='json', auth="public", multilang=True) + @http.route('/shop/payment/get_status/', type='json', auth="public", website=True, multilang=True) def payment_get_status(self, sale_order_id, **post): cr, uid, context = request.cr, request.uid, request.context @@ -653,7 +653,7 @@ class Ecommerce(http.Controller): 'state': tx.state, } - @website.route('/shop/payment/validate/', type='http', auth="public", multilang=True) + @http.route('/shop/payment/validate/', type='http', auth="public", website=True, multilang=True) def payment_validate(self, transaction_id=None, sale_order_id=None, **post): """ Method that should be called by the server when receiving an update for a transaction. State at this point : @@ -694,7 +694,7 @@ class Ecommerce(http.Controller): return request.redirect('/shop/confirmation/%s' % order.id) - @website.route(['/shop/confirmation/'], type='http', auth="public", multilang=True) + @http.route(['/shop/confirmation/'], type='http', auth="public", website=True, multilang=True) def payment_confirmation(self, sale_order_id, **post): """ End of checkout process controller. Confirmation is basically seing the status of a sale.order. State at this point : @@ -710,7 +710,7 @@ class Ecommerce(http.Controller): return request.website.render("website_sale.confirmation", {'order': order}) - @website.route(['/shop/change_sequence/'], type='json', auth="public") + @http.route(['/shop/change_sequence/'], type='json', auth="public", website=True) def change_sequence(self, id, sequence): product_obj = request.registry.get('product.template') if sequence == "top": @@ -722,7 +722,7 @@ class Ecommerce(http.Controller): elif sequence == "down": product_obj.set_sequence_down(request.cr, request.uid, [id], context=request.context) - @website.route(['/shop/change_styles/'], type='json', auth="public") + @http.route(['/shop/change_styles/'], type='json', auth="public", website=True) def change_styles(self, id, style_id): product_obj = request.registry.get('product.template') product = product_obj.browse(request.cr, request.uid, id, context=request.context) @@ -744,7 +744,7 @@ class Ecommerce(http.Controller): return not active - @website.route(['/shop/change_size/'], type='json', auth="public") + @http.route(['/shop/change_size/'], type='json', auth="public", website=True) def change_size(self, id, x, y): product_obj = request.registry.get('product.template') product = product_obj.browse(request.cr, request.uid, id, context=request.context) diff --git a/addons/website_sale_delivery/controllers/main.py b/addons/website_sale_delivery/controllers/main.py index 43895f73263..25ee0ed7b68 100644 --- a/addons/website_sale_delivery/controllers/main.py +++ b/addons/website_sale_delivery/controllers/main.py @@ -1,13 +1,13 @@ # -*- coding: utf-8 -*- from openerp.addons.website_sale.controllers.main import Ecommerce +from openerp.addons.web import http from openerp.addons.web.http import request -from openerp.addons.website.models import website from openerp import SUPERUSER_ID class Ecommerce(Ecommerce): - @website.route(['/shop/payment/'], type='http', auth="public", multilang=True) + @http.route(['/shop/payment/'], type='http', auth="public", website=True, multilang=True) def payment(self, **post): cr, uid, context = request.cr, request.uid, request.context order = self.get_order()