[REM] Removed preload_records
This feature will be stripped down and moved to server's ir.http#_dispatch() bzr revid: fme@openerp.com-20140123150448-3hhlj4vytr82k88n
This commit is contained in:
parent
8ee6f53005
commit
d6690455e9
|
@ -71,23 +71,6 @@ def urlplus(url, params):
|
||||||
def quote_plus(value):
|
def quote_plus(value):
|
||||||
return urllib.quote_plus(value.encode('utf-8') if isinstance(value, unicode) else str(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):
|
class website(osv.osv):
|
||||||
def _get_menu_website(self, cr, uid, ids, context=None):
|
def _get_menu_website(self, cr, uid, ids, context=None):
|
||||||
# IF a menu is changed, update all websites
|
# IF a menu is changed, update all websites
|
||||||
|
|
|
@ -21,7 +21,6 @@
|
||||||
|
|
||||||
from openerp.addons.web import http
|
from openerp.addons.web import http
|
||||||
from openerp.addons.web.http import request
|
from openerp.addons.web.http import request
|
||||||
from openerp.addons.website.models import website
|
|
||||||
from openerp.tools.translate import _
|
from openerp.tools.translate import _
|
||||||
from openerp import SUPERUSER_ID
|
from openerp import SUPERUSER_ID
|
||||||
|
|
||||||
|
@ -98,7 +97,6 @@ class WebsiteBlog(http.Controller):
|
||||||
"""
|
"""
|
||||||
BYPAGE = 10
|
BYPAGE = 10
|
||||||
|
|
||||||
website.preload_records(category, tag)
|
|
||||||
cr, uid, context = request.cr, request.uid, request.context
|
cr, uid, context = request.cr, request.uid, request.context
|
||||||
blog_post_obj = request.registry['blog.post']
|
blog_post_obj = request.registry['blog.post']
|
||||||
|
|
||||||
|
@ -180,8 +178,6 @@ class WebsiteBlog(http.Controller):
|
||||||
- 'nav_list': a dict [year][month] for archives navigation
|
- 'nav_list': a dict [year][month] for archives navigation
|
||||||
"""
|
"""
|
||||||
|
|
||||||
website.preload_records(blog_post)
|
|
||||||
|
|
||||||
pager_url = "/blogpost/%s" % blog_post.id
|
pager_url = "/blogpost/%s" % blog_post.id
|
||||||
|
|
||||||
pager = request.website.pager(
|
pager = request.website.pager(
|
||||||
|
|
|
@ -7,7 +7,6 @@ from openerp import SUPERUSER_ID
|
||||||
from openerp.addons.web import http
|
from openerp.addons.web import http
|
||||||
from openerp.tools.translate import _
|
from openerp.tools.translate import _
|
||||||
from openerp.addons.web.http import request
|
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.addons.website_partner.controllers import main as website_partner
|
||||||
|
|
||||||
|
|
||||||
|
@ -97,7 +96,6 @@ class WebsiteCrmPartnerAssign(http.Controller):
|
||||||
@http.route(['/partners/<int:partner_id>/', '/partners/<partner_name>-<int:partner_id>/'], type='http', auth="public", website=True, 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):
|
def partners_ref(self, partner_id, **post):
|
||||||
partner = request.registry['res.partner'].browse(request.cr, SUPERUSER_ID, partner_id, context=request.context)
|
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)
|
values = website_partner.get_partner_template_value(partner)
|
||||||
if not values:
|
if not values:
|
||||||
return self.partners(**post)
|
return self.partners(**post)
|
||||||
|
|
|
@ -5,7 +5,6 @@ from openerp import SUPERUSER_ID
|
||||||
from openerp.addons.web import http
|
from openerp.addons.web import http
|
||||||
from openerp.tools.translate import _
|
from openerp.tools.translate import _
|
||||||
from openerp.addons.web.http import request
|
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.addons.website_partner.controllers import main as website_partner
|
||||||
import urllib
|
import urllib
|
||||||
|
|
||||||
|
@ -79,7 +78,6 @@ class WebsiteCustomer(http.Controller):
|
||||||
@http.route(['/customers/<int:partner_id>/', '/customers/<partner_name>-<int:partner_id>/'], type='http', auth="public", website=True, 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):
|
def customer(self, partner_id, **post):
|
||||||
partner = request.registry['res.partner'].browse(request.cr, SUPERUSER_ID, partner_id, context=request.context)
|
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)
|
values = website_partner.get_partner_template_value(partner)
|
||||||
if not values:
|
if not values:
|
||||||
return self.customers(**post)
|
return self.customers(**post)
|
||||||
|
|
|
@ -23,7 +23,6 @@ from openerp import SUPERUSER_ID
|
||||||
from openerp.addons.web import http
|
from openerp.addons.web import http
|
||||||
from openerp.addons.web.http import request
|
from openerp.addons.web.http import request
|
||||||
from openerp.tools.translate import _
|
from openerp.tools.translate import _
|
||||||
from openerp.addons.website.models import website
|
|
||||||
from openerp.addons.website.controllers.main import Website as controllers
|
from openerp.addons.website.controllers.main import Website as controllers
|
||||||
controllers = controllers()
|
controllers = controllers()
|
||||||
|
|
||||||
|
@ -163,7 +162,6 @@ class website_event(http.Controller):
|
||||||
|
|
||||||
@http.route(['/event/<model("event.event"):event>/page/<page:page>'], type='http', auth="public", website=True, 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):
|
def event_page(self, event, page, **post):
|
||||||
website.preload_records(event, on_error="website_event.404")
|
|
||||||
values = {
|
values = {
|
||||||
'event': event,
|
'event': event,
|
||||||
'main_object': event
|
'main_object': event
|
||||||
|
@ -172,7 +170,6 @@ class website_event(http.Controller):
|
||||||
|
|
||||||
@http.route(['/event/<model("event.event"):event>'], type='http', auth="public", website=True, multilang=True)
|
@http.route(['/event/<model("event.event"):event>'], type='http', auth="public", website=True, multilang=True)
|
||||||
def event(self, event, **post):
|
def event(self, event, **post):
|
||||||
website.preload_records(event, on_error="website_event.404")
|
|
||||||
if event.menu_id and event.menu_id.child_id:
|
if event.menu_id and event.menu_id.child_id:
|
||||||
target_url = event.menu_id.child_id[0].url
|
target_url = event.menu_id.child_id[0].url
|
||||||
else:
|
else:
|
||||||
|
@ -183,7 +180,6 @@ class website_event(http.Controller):
|
||||||
|
|
||||||
@http.route(['/event/<model("event.event"):event>/register'], type='http', auth="public", website=True, multilang=True)
|
@http.route(['/event/<model("event.event"):event>/register'], type='http', auth="public", website=True, multilang=True)
|
||||||
def event_register(self, event, **post):
|
def event_register(self, event, **post):
|
||||||
website.preload_records(event, on_error="website_event.404")
|
|
||||||
values = {
|
values = {
|
||||||
'event': event,
|
'event': event,
|
||||||
'main_object': event,
|
'main_object': event,
|
||||||
|
|
|
@ -21,7 +21,6 @@
|
||||||
|
|
||||||
from openerp.addons.web import http
|
from openerp.addons.web import http
|
||||||
from openerp.addons.web.http import request
|
from openerp.addons.web.http import request
|
||||||
from openerp.addons.website.models import website
|
|
||||||
from openerp.addons.website.controllers.main import Website as controllers
|
from openerp.addons.website.controllers.main import Website as controllers
|
||||||
|
|
||||||
import re
|
import re
|
||||||
|
@ -33,14 +32,11 @@ class website_event(http.Controller):
|
||||||
@http.route(['/event/<model("event.event"):event>/track/<model("event.track"):track>'], type='http', auth="public", website=True, 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):
|
def event_track_view(self, event, track, **post):
|
||||||
# TODO: not implemented
|
# 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 }
|
values = { 'track': track, 'event': track.event_id, 'main_object': track }
|
||||||
return request.website.render("website_event_track.track_view", values)
|
return request.website.render("website_event_track.track_view", values)
|
||||||
|
|
||||||
@http.route(['/event/<model("event.event"):event>/agenda/'], type='http', auth="public", website=True, 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):
|
def event_agenda(self, event, tag=None, **post):
|
||||||
website.preload_records(event, on_error="website_event.404")
|
|
||||||
values = {
|
values = {
|
||||||
'event': event,
|
'event': event,
|
||||||
'main_object': event,
|
'main_object': event,
|
||||||
|
@ -52,8 +48,6 @@ class website_event(http.Controller):
|
||||||
'/event/<model("event.event"):event>/track/tag/<model("event.track.tag"):tag>'
|
'/event/<model("event.event"):event>/track/tag/<model("event.track.tag"):tag>'
|
||||||
], type='http', auth="public", website=True, multilang=True)
|
], type='http', auth="public", website=True, multilang=True)
|
||||||
def event_tracks(self, event, tag=None, **post):
|
def event_tracks(self, event, tag=None, **post):
|
||||||
website.preload_records(event, on_error="website_event.404")
|
|
||||||
website.preload_records(tag)
|
|
||||||
searches = {}
|
searches = {}
|
||||||
|
|
||||||
if tag:
|
if tag:
|
||||||
|
@ -82,7 +76,6 @@ class website_event(http.Controller):
|
||||||
|
|
||||||
@http.route(['/event/<model("event.event"):event>/track_proposal/'], type='http', auth="public", website=True, 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):
|
def event_track_proposal(self, event, **post):
|
||||||
website.preload_records(event, on_error="website_event.404")
|
|
||||||
values = { 'event': event }
|
values = { 'event': event }
|
||||||
return request.website.render("website_event_track.event_track_proposal", values)
|
return request.website.render("website_event_track.event_track_proposal", values)
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,6 @@ import openerp
|
||||||
from openerp import SUPERUSER_ID
|
from openerp import SUPERUSER_ID
|
||||||
from openerp.addons.web import http
|
from openerp.addons.web import http
|
||||||
from openerp.addons.web.http import request
|
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.addons.website_partner.controllers import main as website_partner
|
||||||
from openerp.tools.translate import _
|
from openerp.tools.translate import _
|
||||||
|
|
||||||
|
@ -95,7 +94,6 @@ class WebsiteMembership(http.Controller):
|
||||||
@http.route(['/members/<int:partner_id>/', '/members/<partner_name>-<int:partner_id>/'], type='http', auth="public", website=True, 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):
|
def partners_ref(self, partner_id, **post):
|
||||||
partner = request.registry['res.partner'].browse(request.cr, SUPERUSER_ID, partner_id, context=request.context)
|
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)
|
values = website_partner.get_partner_template_value(partner)
|
||||||
if not values:
|
if not values:
|
||||||
return self.members(**post)
|
return self.members(**post)
|
||||||
|
|
|
@ -4,7 +4,6 @@ import openerp
|
||||||
from openerp import SUPERUSER_ID
|
from openerp import SUPERUSER_ID
|
||||||
from openerp.addons.web import http
|
from openerp.addons.web import http
|
||||||
from openerp.addons.web.http import request
|
from openerp.addons.web.http import request
|
||||||
from openerp.addons.website.models import website
|
|
||||||
import werkzeug
|
import werkzeug
|
||||||
|
|
||||||
|
|
||||||
|
@ -38,7 +37,6 @@ class WebsitePartner(http.Controller):
|
||||||
def partner(self, partner_id, **post):
|
def partner(self, partner_id, **post):
|
||||||
""" Route for displaying a single partner / customer. """
|
""" Route for displaying a single partner / customer. """
|
||||||
partner = request.registry['res.partner'].browse(request.cr, SUPERUSER_ID, partner_id, context=request.context)
|
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)
|
values = get_partner_template_value(partner)
|
||||||
if not values:
|
if not values:
|
||||||
raise werkzeug.exceptions.NotFound
|
raise werkzeug.exceptions.NotFound
|
||||||
|
|
|
@ -7,7 +7,6 @@ import werkzeug
|
||||||
from openerp import SUPERUSER_ID
|
from openerp import SUPERUSER_ID
|
||||||
from openerp.addons.web import http
|
from openerp.addons.web import http
|
||||||
from openerp.addons.web.http import request
|
from openerp.addons.web.http import request
|
||||||
from openerp.addons.website.models import website
|
|
||||||
|
|
||||||
PPG = 20 # Products Per Page
|
PPG = 20 # Products Per Page
|
||||||
PPR = 4 # Products Per Row
|
PPR = 4 # Products Per Row
|
||||||
|
@ -258,8 +257,6 @@ class Ecommerce(http.Controller):
|
||||||
|
|
||||||
@http.route(['/shop/product/<model("product.template"):product>/'], type='http', auth="public", website=True, 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):
|
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_obj = request.registry.get('product.public.category')
|
||||||
|
|
||||||
category_ids = category_obj.search(request.cr, request.uid, [], context=request.context)
|
category_ids = category_obj.search(request.cr, request.uid, [], context=request.context)
|
||||||
|
|
Loading…
Reference in New Issue