[FIX] module, technical reference guide report: don't print fields having the same name than another on another object that have been modified in that module. + small refactoring
bzr revid: qdp-launchpad@openerp.com-20130412133214-s92o4gcfwfu7yfbp
This commit is contained in:
parent
7f4d6299cc
commit
3f1d969e51
|
@ -72,14 +72,16 @@ class ir_module_reference_print(report_sxw.rml_parse):
|
||||||
return modobj.browse(self.cr, self.uid, ids)
|
return modobj.browse(self.cr, self.uid, ids)
|
||||||
|
|
||||||
def _fields_find(self, obj, module):
|
def _fields_find(self, obj, module):
|
||||||
|
res = []
|
||||||
data_obj = self.pool.get('ir.model.data')
|
data_obj = self.pool.get('ir.model.data')
|
||||||
modobj = self.pool.get(obj)
|
modobj = self.pool.get(obj)
|
||||||
tmp_res = modobj.fields_get(self.cr, self.uid).items()
|
fname_wildcard = 'field_' + modobj._name.replace('.', '_') + '_%'
|
||||||
module_fields_ids = data_obj.search(self.cr, self.uid, [('model', '=', 'ir.model.fields'), ('module', '=', module)])
|
module_fields_ids = data_obj.search(self.cr, self.uid, [('model', '=', 'ir.model.fields'), ('module', '=', module), ('name', 'like', fname_wildcard)])
|
||||||
module_fields_res_ids = [x['res_id'] for x in data_obj.read(self.cr, self.uid, module_fields_ids, ['res_id'])]
|
if module_fields_ids:
|
||||||
module_fields_names = [x['name'] for x in self.pool.get('ir.model.fields').read(self.cr, self.uid, module_fields_res_ids, ['name'])]
|
module_fields_res_ids = [x['res_id'] for x in data_obj.read(self.cr, self.uid, module_fields_ids, ['res_id'])]
|
||||||
res = [tmp_res[i] for i in range(len(tmp_res)) if tmp_res[i][0] in module_fields_names]
|
module_fields_names = [x['name'] for x in self.pool.get('ir.model.fields').read(self.cr, self.uid, module_fields_res_ids, ['name'])]
|
||||||
res.sort()
|
res = modobj.fields_get(self.cr, self.uid, allfields=module_fields_names).items()
|
||||||
|
res.sort()
|
||||||
return res
|
return res
|
||||||
|
|
||||||
report_sxw.report_sxw('report.ir.module.reference', 'ir.module.module',
|
report_sxw.report_sxw('report.ir.module.reference', 'ir.module.module',
|
||||||
|
|
Loading…
Reference in New Issue