Browse Source

[ENH] Transformed mass.object's model_list char field into a proper m2m field.

pull/78/head
Virgil Dupras 12 years ago
parent
commit
d908d739cc
  1. 15
      mass_editing/mass_editing.py
  2. 4
      mass_editing/mass_editing_view.xml

15
mass_editing/mass_editing.py

@ -36,23 +36,22 @@ class mass_object(osv.osv):
"of the related document model"),
'ref_ir_value':fields.many2one('ir.values', 'Sidebar button', readonly=True,
help="Sidebar button to open the sidebar action"),
'model_list': fields.char('Model List', size=256)
'model_ids': fields.many2many('ir.model', string='Model List')
}
def onchange_model(self, cr, uid, ids, model_id):
model_list = ""
model_ids = []
if model_id:
model_obj = self.pool.get('ir.model')
model_data = model_obj.browse(cr, uid, model_id)
model_list = "[" + str(model_id) + ""
model_ids = [model_id]
active_model_obj = self.pool.get(model_data.model)
if active_model_obj._inherits:
for key, val in active_model_obj._inherits.items():
model_ids = model_obj.search(cr, uid, [('model', '=', key)])
if model_ids:
model_list += "," + str(model_ids[0]) + ""
model_list += "]"
return {'value': {'model_list': model_list}}
found_model_ids = model_obj.search(cr, uid, [('model', '=', key)])
if found_model_ids:
model_ids += found_model_ids[0]
return {'value': {'model_ids': [(6, 0, model_ids)]}}
def create_action(self, cr, uid, ids, context=None):
vals = {}

4
mass_editing/mass_editing_view.xml

@ -10,11 +10,11 @@
<form string="Object">
<field name="name"/>
<field name="model_id" on_change="onchange_model(model_id)"/>
<field name="model_list" invisible="1"/>
<field name="model_ids" invisible="1"/>
<notebook colspan="4">
<page string="Fields">
<field name="field_ids" colspan="4" nolabel="1"
domain="[('ttype', 'not in', ['one2many', 'refenrence', 'function']), ('model_id', 'in', eval(model_list))]"/>
domain="[('ttype', 'not in', ['one2many', 'refenrence', 'function']), ('model_id', 'in', model_ids[0][2])]"/>
</page>
<page string="Advance">
<group colspan="2" col="2">

Loading…
Cancel
Save