diff --git a/bin/addons/base/ir/ir_values.py b/bin/addons/base/ir/ir_values.py index 310f3552403..f600f53ec79 100644 --- a/bin/addons/base/ir/ir_values.py +++ b/bin/addons/base/ir/ir_values.py @@ -24,6 +24,11 @@ from osv.orm import except_orm import pickle from tools.translate import _ +EXCLUDED_FIELDS = set(( + 'report_sxw_content', 'report_rml_content', 'report_sxw', 'report_rml', + 'report_sxw_content_data', 'report_rml_content_data', 'search_view', + 'search_view_id')) + class ir_values(osv.osv): _name = 'ir.values' @@ -149,8 +154,8 @@ class ir_values(osv.osv): def get(self, cr, uid, key, key2, models, meta=False, context={}, res_id_req=False, without_user=True, key2_req=True): result = [] for m in models: - if type(m)==type([]) or type(m)==type(()): - m,res_id = m + if isinstance(m, (list, tuple)): + m, res_id = m else: res_id=False @@ -159,9 +164,8 @@ class ir_values(osv.osv): if key2: where.append('key2=%s') params.append(key2[:200]) - else: - if key2_req and not meta: - where.append('key2 is null') + elif key2_req and not meta: + where.append('key2 is null') if res_id_req and (models[-1][0]==m): if res_id: where.append('res_id=%s') @@ -193,48 +197,37 @@ class ir_values(osv.osv): keys.append(x[1]) if x[3]: model,id = x[2].split(',') - id = int(id) - fields = self.pool.get(model).fields_get_keys(cr, uid) - pos = 0 - while pos