[IMP] Move some qweb rendering context vars from website#ir.qweb to server#ir.ui.view
bzr revid: fme@openerp.com-20140206161204-vp6kydvdxhg5qykx
This commit is contained in:
parent
2f682975bc
commit
297781df08
|
@ -20,15 +20,19 @@
|
||||||
##############################################################################
|
##############################################################################
|
||||||
import collections
|
import collections
|
||||||
import copy
|
import copy
|
||||||
|
import fnmatch
|
||||||
import logging
|
import logging
|
||||||
from lxml import etree
|
from lxml import etree
|
||||||
from operator import itemgetter
|
from operator import itemgetter
|
||||||
import os
|
import os
|
||||||
|
import simplejson
|
||||||
|
import werkzeug
|
||||||
|
|
||||||
import HTMLParser
|
import HTMLParser
|
||||||
|
|
||||||
import openerp
|
import openerp
|
||||||
from openerp import tools
|
from openerp import tools
|
||||||
|
from openerp.http import request
|
||||||
from openerp.osv import fields, osv, orm
|
from openerp.osv import fields, osv, orm
|
||||||
from openerp.tools import graph, SKIPPED_ELEMENT_TYPES
|
from openerp.tools import graph, SKIPPED_ELEMENT_TYPES
|
||||||
from openerp.tools.safe_eval import safe_eval as eval
|
from openerp.tools.safe_eval import safe_eval as eval
|
||||||
|
@ -40,6 +44,17 @@ _logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
MOVABLE_BRANDING = ['data-oe-model', 'data-oe-id', 'data-oe-field', 'data-oe-xpath']
|
MOVABLE_BRANDING = ['data-oe-model', 'data-oe-id', 'data-oe-field', 'data-oe-xpath']
|
||||||
|
|
||||||
|
def keep_query(*args, **kw):
|
||||||
|
if not args and not kw:
|
||||||
|
args = ('*',)
|
||||||
|
params = kw.copy()
|
||||||
|
query_params = frozenset(werkzeug.url_decode(request.httprequest.query_string).keys())
|
||||||
|
for keep_param in args:
|
||||||
|
for param in fnmatch.filter(query_params, keep_param):
|
||||||
|
if param not in params and param in request.params:
|
||||||
|
params[param] = request.params[param]
|
||||||
|
return werkzeug.urls.url_encode(params)
|
||||||
|
|
||||||
class view_custom(osv.osv):
|
class view_custom(osv.osv):
|
||||||
_name = 'ir.ui.view.custom'
|
_name = 'ir.ui.view.custom'
|
||||||
_order = 'create_date desc' # search(limit=1) should return the last customization
|
_order = 'create_date desc' # search(limit=1) should return the last customization
|
||||||
|
@ -805,10 +820,20 @@ class view(osv.osv):
|
||||||
if not context:
|
if not context:
|
||||||
context = {}
|
context = {}
|
||||||
|
|
||||||
|
if values is None:
|
||||||
|
values = dict()
|
||||||
|
qcontext = dict(
|
||||||
|
keep_query=keep_query,
|
||||||
|
request=request,
|
||||||
|
json=simplejson,
|
||||||
|
quote_plus=werkzeug.url_quote_plus,
|
||||||
|
)
|
||||||
|
qcontext.update(values)
|
||||||
|
|
||||||
def loader(name):
|
def loader(name):
|
||||||
return self.read_template(cr, uid, name, context=context)
|
return self.read_template(cr, uid, name, context=context)
|
||||||
|
|
||||||
return self.pool[engine].render(cr, uid, tname, values, loader=loader, context=context)
|
return self.pool[engine].render(cr, uid, tname, qcontext, loader=loader, context=context)
|
||||||
|
|
||||||
#------------------------------------------------------
|
#------------------------------------------------------
|
||||||
# Misc
|
# Misc
|
||||||
|
|
Loading…
Reference in New Issue