[IMP] clean UI for ir.model.data form and tree view

bzr revid: fp@tinyerp.com-20120622141222-ddizks1sz66nqxgw
This commit is contained in:
Fabien Pinckaers 2012-06-22 16:12:22 +02:00
parent 7df26eb3ec
commit a139c6fc6c
3 changed files with 41 additions and 9 deletions

View File

@ -1068,18 +1068,23 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="External Identifiers" version="7.0">
<sheet>
<group col="4">
<field name="name"/>
<group>
<group>
<field name="complete_name"/>
<field name="module"/>
<field name="name"/>
</group>
<group>
<field name="display_name"/>
<field name="model"/>
<field name="res_id"/>
</group>
<group>
<field name="noupdate"/>
<newline/>
<field name="date_update" />
<field name="date_init" />
</group>
</sheet>
</group>
</form>
</field>
</record>
@ -1090,10 +1095,9 @@
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="External Identifiers">
<field name="module"/>
<field name="name"/>
<field name="model"/>
<field name="res_id"/>
<field name="complete_name"/>
<field name="display_name"/>
<field name="model" groups="base.group_no_one"/>
</tree>
</field>
</record>

View File

@ -642,10 +642,37 @@ class ir_model_data(osv.osv):
"""
_name = 'ir.model.data'
_order = 'module,model,name'
def _display_name_get(self, cr, uid, ids, prop, unknow_none, context=None):
result = {}
result2 = {}
for res in self.browse(cr, uid, ids, context=context):
if res.id:
result.setdefault(res.model, {})
result[res.model][res.res_id] = res.id
result2[res.id] = False
for model in result:
try:
r = dict(self.pool.get(model).name_get(cr, uid, result[model].keys(), context=context))
for key,val in result[model].items():
result2[val] = r.get(key, False)
except:
# some object have no valid name_get implemented, we accept this
pass
return result2
def _complete_name_get(self, cr, uid, ids, prop, unknow_none, context=None):
result = {}
for res in self.browse(cr, uid, ids, context=context):
result[res.id] = (res.module and (res.module + '.') or '')+res.name
return result
_columns = {
'name': fields.char('External Identifier', required=True, size=128, select=1,
help="External Key/Identifier that can be used for "
"data integration with third-party systems"),
'complete_name': fields.function(_complete_name_get, type='char', string='Complete ID'),
'display_name': fields.function(_display_name_get, type='char', string='Record Name'),
'model': fields.char('Model Name', required=True, size=64, select=1),
'module': fields.char('Module', required=True, size=64, select=1),
'res_id': fields.integer('Record ID', select=1,

View File

@ -35,6 +35,7 @@ res_widget()
class res_widget_user(osv.osv):
_name="res.widget.user"
_rec_name="user_id"
_order = "sequence"
_columns = {
'sequence': fields.integer('Sequence'),