[REM] Removed @website.route() decorator
authorFabien Meghazi <fme@openerp.com>
Mon, 20 Jan 2014 15:37:33 +0000 (16:37 +0100)
committerFabien Meghazi <fme@openerp.com>
Mon, 20 Jan 2014 15:37:33 +0000 (16:37 +0100)
Need trunk-website-al Rev#5151

bzr revid: fme@openerp.com-20140120153733-ve3dn2kwvha7n3yl

23 files changed:
addons/payment_acquirer_adyen/controllers/main.py
addons/payment_acquirer_ogone/controllers/main.py
addons/payment_acquirer_paypal/controllers/main.py
addons/payment_acquirer_transfer/controllers/main.py
addons/website/controllers/main.py
addons/website/models/ir_http.py
addons/website/models/website.py
addons/website_blog/controllers/main.py
addons/website_crm/controllers/main.py
addons/website_crm_partner_assign/controllers/main.py
addons/website_customer/controllers/main.py
addons/website_event/controllers/main.py
addons/website_event_track/controllers/event.py
addons/website_google_map/controllers/main.py
addons/website_hr/controllers/main.py
addons/website_hr_recruitment/controllers/main.py
addons/website_mail/controllers/email_designer.py
addons/website_mail/controllers/main.py
addons/website_membership/controllers/main.py
addons/website_partner/controllers/main.py
addons/website_project/controllers/main.py
addons/website_sale/controllers/main.py
addons/website_sale_delivery/controllers/main.py

index f1f15bd..5528b88 100644 (file)
@@ -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
index 0e302d9..fa58db0 100644 (file)
@@ -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
index d5ec939..a2bf54e 100644 (file)
@@ -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
index 6d0a7c1..2f1be63 100644 (file)
@@ -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
index 0120545..e0203c4 100644 (file)
@@ -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/<path:path>', type='http', auth="user")
+    @http.route('/pagenew/<path:path>', 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/<page:page>', type='http', auth="public", multilang=True)
+    @http.route('/page/<page: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);
         </script>""" % (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:
index a550ab4..79db7aa 100644 (file)
@@ -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),
index 9dc4ea6..8303220 100644 (file)
@@ -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
index fc48266..999e372 100644 (file)
@@ -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/<int: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/<model("blog.category"):category>/',
         '/blog/<model("blog.category"):category>/page/<int:page>/',
         '/blog/<model("blog.category"):category>/tag/<model("blog.tag"):tag>/',
@@ -76,7 +76,7 @@ class WebsiteBlog(http.Controller):
         '/blog/<model("blog.category"):category>/date/<string(length=21):date>/page/<int:page>/',
         '/blog/<model("blog.category"):category>/tag/<model("blog.tag"):tag>/date/<string(length=21):date>/',
         '/blog/<model("blog.category"):category>/tag/<model("blog.tag"):tag>/date/<string(length=21):date>/page/<int: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/<model("blog.post"):blog_post>/',
-    ], 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.
 
index 570a9c9..65b38d3 100644 (file)
@@ -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
index 0314763..a8d696e 100644 (file)
@@ -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/<int:page>/',
         '/partners/country/<int:country_id>',
         '/partners/country/<country_name>-<int:country_id>',
         '/partners/country/<int:country_id>/page/<int:page>/',
         '/partners/country/<country_name>-<int:country_id>/page/<int: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/<int:partner_id>/', '/partners/<partner_name>-<int:partner_id>/'], type='http', auth="public", multilang=True)
+    @http.route(['/partners/<int:partner_id>/', '/partners/<partner_name>-<int:partner_id>/'], 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)
index 7977b8a..98b77fd 100644 (file)
@@ -13,14 +13,14 @@ import urllib
 class WebsiteCustomer(http.Controller):
     _references_per_page = 20
 
-    @website.route([
+    @http.route([
         '/customers/',
         '/customers/page/<int:page>/',
         '/customers/country/<int:country_id>',
         '/customers/country/<country_name>-<int:country_id>',
         '/customers/country/<int:country_id>/page/<int:page>/',
         '/customers/country/<country_name>-<int:country_id>/page/<int: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/<int:partner_id>/', '/customers/<partner_name>-<int:partner_id>/'], type='http', auth="public", multilang=True)
+    @http.route(['/customers/<int:partner_id>/', '/customers/<partner_name>-<int:partner_id>/'], 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)
index 3b7464c..8e9fe44 100644 (file)
@@ -34,7 +34,7 @@ from openerp import tools
 import urllib
 
 class website_event(http.Controller):
-    @website.route(['/event/', '/event/page/<int:page>'], type='http', auth="public", multilang=True)
+    @http.route(['/event/', '/event/page/<int: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/<model("event.event"):event>/page/<page:page>'], type='http', auth="public", multilang=True)
+    @http.route(['/event/<model("event.event"):event>/page/<page: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/<model("event.event"):event>'], type='http', auth="public", multilang=True)
+    @http.route(['/event/<model("event.event"):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/<model("event.event"):event>/register'], type='http', auth="public", multilang=True)
+    @http.route(['/event/<model("event.event"):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
index 3d4976c..f8863a1 100644 (file)
@@ -30,7 +30,7 @@ import werkzeug.utils
 controllers = controllers()
 
 class website_event(http.Controller):
-    @website.route(['/event/<model("event.event"):event>/track/<model("event.track"):track>'], type='http', auth="public", multilang=True)
+    @http.route(['/event/<model("event.event"):event>/track/<model("event.track"):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/<model("event.event"):event>/agenda/'], type='http', auth="public", multilang=True)
+    @http.route(['/event/<model("event.event"):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/<model("event.event"):event>/track/',
         '/event/<model("event.event"):event>/track/tag/<model("event.track.tag"):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/<model("event.event"):event>/track_proposal/'], type='http', auth="public", multilang=True)
+    @http.route(['/event/<model("event.event"):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/<model("event.event"):event>/track_proposal/post'], type='http', auth="public", methods=['POST'], multilang=True)
+    @http.route(['/event/<model("event.event"):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
 
index b818234..04cea69 100644 (file)
@@ -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']
 
index 72c15ae..20c865b 100644 (file)
@@ -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)],
index 42d9fbb..096c916 100644 (file)
@@ -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/<model("hr.department"):department>/office/<model("res.partner"):office>',
         '/jobs/department/<model("hr.department"):department>',
         '/jobs/office/<model("res.partner"):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/<model("hr.job"):job>'], type='http', auth="public", multilang=True)
+    @http.route(['/job/detail/<model("hr.job"):job>'], 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, {
index a7f6ef8..81bc703 100644 (file)
@@ -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/<model("email.template"):template>/', type='http', auth="public", multilang=True)
+    @http.route('/website_mail/email_designer/<model("email.template"):template>/', 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')
index ea0beff..f700fa7 100644 (file)
@@ -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'
index 8a7a6a7..56ae698 100644 (file)
@@ -14,7 +14,7 @@ import urllib
 class WebsiteMembership(http.Controller):
     _references_per_page = 20
 
-    @website.route([
+    @http.route([
         '/members/',
         '/members/page/<int:page>/',
         '/members/association/<int:membership_id>/',
@@ -29,7 +29,7 @@ class WebsiteMembership(http.Controller):
         '/members/association/<int:membership_id>/country/<int:country_id>',
         '/members/association/<int:membership_id>/country/<country_name>-<int:country_id>/page/<int:page>/',
         '/members/association/<int:membership_id>/country/<int:country_id>/page/<int: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/<int:partner_id>/', '/members/<partner_name>-<int:partner_id>/'], type='http', auth="public", multilang=True)
+    @http.route(['/members/<int:partner_id>/', '/members/<partner_name>-<int:partner_id>/'], 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)
index 896de36..a405fb6 100644 (file)
@@ -34,7 +34,7 @@ def get_partner_template_value(partner):
     return values
 
 class WebsitePartner(http.Controller):
-    @website.route(['/partners/<int:partner_id>/', '/partners/<partner_name>-<int:partner_id>/'], type='http', auth="public", multilang=True)
+    @http.route(['/partners/<int:partner_id>/', '/partners/<partner_name>-<int:partner_id>/'], 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)
index e44d34b..64f2fd0 100644 (file)
@@ -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/<int:project_id>/'], type='http', auth="public", multilang=True)
+    @http.route(['/project/<int:project_id>/'], 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/<int:task_id>'], type='http', auth="public", multilang=True)
+    @http.route(['/project/task/<int:task_id>'], 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']
index 7d44f07..17c7f3a 100644 (file)
@@ -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/<int:page>/',
         '/shop/category/<model("product.public.category"):category>/',
         '/shop/category/<model("product.public.category"):category>/page/<int: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/<model("product.template"):product>/'], type='http', auth="public", multilang=True)
+    @http.route(['/shop/product/<model("product.template"):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/<int:order_line_id>/'], type='http', auth="public", multilang=True)
+    @http.route(['/shop/change_cart/<int:order_line_id>/'], 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/<int:acquirer_id>'],
-                   type='http', methods=['POST'], auth="public")
+    @http.route(['/shop/payment/transaction/<int:acquirer_id>'],
+                   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/<int:sale_order_id>', type='json', auth="public", multilang=True)
+    @http.route('/shop/payment/get_status/<int:sale_order_id>', 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/<int:sale_order_id>'], type='http', auth="public", multilang=True)
+    @http.route(['/shop/confirmation/<int:sale_order_id>'], 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)
index 43895f7..25ee0ed 100644 (file)
@@ -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()