diff --git a/addons/website/models/website.py b/addons/website/models/website.py index 2d4bf290f2b..bcf2526596c 100644 --- a/addons/website/models/website.py +++ b/addons/website/models/website.py @@ -71,23 +71,6 @@ def urlplus(url, params): def quote_plus(value): return urllib.quote_plus(value.encode('utf-8') if isinstance(value, unicode) else str(value)) -def preload_records(*args, **kwargs): - """ This helper allows to check the existence and prefetch one or many browse_records at once. - If the browse record(s) does not exists in the db it will raise a LazyResponse - """ - field = kwargs.pop('field', 'name') - on_error = kwargs.pop('on_error', 'website.404') - error_code = kwargs.pop('error_code', 404) - try: - for arg in args: - if isinstance(arg, orm.browse_record): - arg[field] - elif isinstance(arg, orm.browse_record_list): - [record[field] for record in arg] - except: - lazy_error = request.website.render(on_error, status_code=error_code) - raise werkzeug.exceptions.HTTPException(response=lazy_error) - class website(osv.osv): def _get_menu_website(self, cr, uid, ids, context=None): # IF a menu is changed, update all websites diff --git a/addons/website_blog/controllers/main.py b/addons/website_blog/controllers/main.py index 999e372305b..265935c721f 100644 --- a/addons/website_blog/controllers/main.py +++ b/addons/website_blog/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.tools.translate import _ from openerp import SUPERUSER_ID @@ -98,7 +97,6 @@ class WebsiteBlog(http.Controller): """ BYPAGE = 10 - website.preload_records(category, tag) cr, uid, context = request.cr, request.uid, request.context blog_post_obj = request.registry['blog.post'] @@ -180,8 +178,6 @@ class WebsiteBlog(http.Controller): - 'nav_list': a dict [year][month] for archives navigation """ - website.preload_records(blog_post) - pager_url = "/blogpost/%s" % blog_post.id pager = request.website.pager( diff --git a/addons/website_crm_partner_assign/controllers/main.py b/addons/website_crm_partner_assign/controllers/main.py index a8d696e1353..faceb692a38 100644 --- a/addons/website_crm_partner_assign/controllers/main.py +++ b/addons/website_crm_partner_assign/controllers/main.py @@ -7,7 +7,6 @@ from openerp import SUPERUSER_ID 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_partner.controllers import main as website_partner @@ -97,7 +96,6 @@ class WebsiteCrmPartnerAssign(http.Controller): @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) values = website_partner.get_partner_template_value(partner) if not values: return self.partners(**post) diff --git a/addons/website_customer/controllers/main.py b/addons/website_customer/controllers/main.py index 98b77fdd547..52e8e1bea21 100644 --- a/addons/website_customer/controllers/main.py +++ b/addons/website_customer/controllers/main.py @@ -5,7 +5,6 @@ from openerp import SUPERUSER_ID 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_partner.controllers import main as website_partner import urllib @@ -79,7 +78,6 @@ class WebsiteCustomer(http.Controller): @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) values = website_partner.get_partner_template_value(partner) if not values: return self.customers(**post) diff --git a/addons/website_event/controllers/main.py b/addons/website_event/controllers/main.py index 8e9fe440abc..2a0f37528e9 100644 --- a/addons/website_event/controllers/main.py +++ b/addons/website_event/controllers/main.py @@ -23,7 +23,6 @@ from openerp import SUPERUSER_ID from openerp.addons.web import http from openerp.addons.web.http import request from openerp.tools.translate import _ -from openerp.addons.website.models import website from openerp.addons.website.controllers.main import Website as controllers controllers = controllers() @@ -163,7 +162,6 @@ class website_event(http.Controller): @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 = { 'event': event, 'main_object': event @@ -172,7 +170,6 @@ class website_event(http.Controller): @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: target_url = event.menu_id.child_id[0].url else: @@ -183,7 +180,6 @@ class website_event(http.Controller): @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 = { 'event': event, 'main_object': event, diff --git a/addons/website_event_track/controllers/event.py b/addons/website_event_track/controllers/event.py index f8863a162ad..c65ba3c7d52 100644 --- a/addons/website_event_track/controllers/event.py +++ b/addons/website_event_track/controllers/event.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.addons.website.controllers.main import Website as controllers import re @@ -33,14 +32,11 @@ class website_event(http.Controller): @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") - website.preload_records(track) values = { 'track': track, 'event': track.event_id, 'main_object': track } return request.website.render("website_event_track.track_view", values) @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 = { 'event': event, 'main_object': event, @@ -52,8 +48,6 @@ class website_event(http.Controller): '/event//track/tag/' ], 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) searches = {} if tag: @@ -82,7 +76,6 @@ class website_event(http.Controller): @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) diff --git a/addons/website_membership/controllers/main.py b/addons/website_membership/controllers/main.py index 56ae698ebe3..888cf982f69 100644 --- a/addons/website_membership/controllers/main.py +++ b/addons/website_membership/controllers/main.py @@ -4,7 +4,6 @@ import openerp 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 from openerp.addons.website_partner.controllers import main as website_partner from openerp.tools.translate import _ @@ -95,7 +94,6 @@ class WebsiteMembership(http.Controller): @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) values = website_partner.get_partner_template_value(partner) if not values: return self.members(**post) diff --git a/addons/website_partner/controllers/main.py b/addons/website_partner/controllers/main.py index a405fb6e798..6b0dc18a1f8 100644 --- a/addons/website_partner/controllers/main.py +++ b/addons/website_partner/controllers/main.py @@ -4,7 +4,6 @@ import openerp 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 import werkzeug @@ -38,7 +37,6 @@ class WebsitePartner(http.Controller): 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) - website.preload_records(partner) values = get_partner_template_value(partner) if not values: raise werkzeug.exceptions.NotFound diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index f429b68a5ad..32a9a91c620 100644 --- a/addons/website_sale/controllers/main.py +++ b/addons/website_sale/controllers/main.py @@ -7,7 +7,6 @@ import werkzeug 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 PPG = 20 # Products Per Page PPR = 4 # Products Per Row @@ -258,8 +257,6 @@ class Ecommerce(http.Controller): @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") - category_obj = request.registry.get('product.public.category') category_ids = category_obj.search(request.cr, request.uid, [], context=request.context)