diff --git a/bin/addons/base/ir/ir_actions.py b/bin/addons/base/ir/ir_actions.py index 9b9ff1fb369..f6d23294831 100644 --- a/bin/addons/base/ir/ir_actions.py +++ b/bin/addons/base/ir/ir_actions.py @@ -298,13 +298,12 @@ def model_get(self, cr, uid, context={}): class ir_model_fields(osv.osv): _inherit = 'ir.model.fields' - _rec_name = 'complete_name' + _rec_name = 'field_description' _columns = { 'complete_name': fields.char('Complete Name', required=True, size=64, select=1), } def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=80): - def get_fields(cr, uid, field, rel): result = [] mobj = self.pool.get('ir.model') diff --git a/bin/addons/base/ir/ir_model.py b/bin/addons/base/ir/ir_model.py index 8154c130528..db3423c57d1 100644 --- a/bin/addons/base/ir/ir_model.py +++ b/bin/addons/base/ir/ir_model.py @@ -214,10 +214,10 @@ class ir_model_fields(osv.osv): 'state': fields.selection([('manual','Custom Field'),('base','Base Field')],'Manualy Created', required=True, readonly=True), 'on_delete': fields.selection([('cascade','Cascade'),('set null','Set NULL')], 'On delete', help='On delete property for many2one fields'), 'domain': fields.char('Domain', size=256), - 'groups': fields.many2many('res.groups', 'ir_model_fields_group_rel', 'field_id', 'group_id', 'Groups'), 'view_load': fields.boolean('View Auto-Load'), } + _rec_name='field_description' _defaults = { 'view_load': lambda *a: 0, 'selection': lambda *a: "[]", diff --git a/bin/addons/base/module/module.py b/bin/addons/base/module/module.py index 27f390a3bd1..323e032784f 100644 --- a/bin/addons/base/module/module.py +++ b/bin/addons/base/module/module.py @@ -591,10 +591,12 @@ class module(osv.osv): self.write(cr, uid, [id], {'category_id': p_id}) def action_install(self,cr,uid,ids,context=None): - self.write(cr , uid, ids ,{'state' : 'to install'}) - self.download(cr, uid, ids, context=context) - for id in ids: - cr.execute("select m.id as id from ir_module_module_dependency d inner join ir_module_module m on (m.name=d.name) where d.module_id=%d and m.state='uninstalled'",(id,)) + for module in self.browse(cr, uid, ids, context): + if module.state <> 'uninstalled': + continue + self.write(cr , uid, [module.id] ,{'state' : 'to install'}) + self.download(cr, uid, [module.id], context=context) + cr.execute("select m.id as id from ir_module_module_dependency d inner join ir_module_module m on (m.name=d.name) where d.module_id=%d and m.state='uninstalled'",(module.id,)) dep_ids = map(lambda x:x[0],cr.fetchall()) if len(dep_ids): self.action_install(cr,uid,dep_ids,context=context) diff --git a/bin/addons/base/module/report/ir_module_reference.rml b/bin/addons/base/module/report/ir_module_reference.rml index e4ab73dfabb..156abdba246 100644 --- a/bin/addons/base/module/report/ir_module_reference.rml +++ b/bin/addons/base/module/report/ir_module_reference.rml @@ -112,7 +112,7 @@ - Name: [[ module.shortdesc]] +
Name: [[ objdoc(module.shortdesc) ]]
Version: [[module.latest_version]] @@ -127,7 +127,7 @@
- [[ module.description ]] +
[[ module.description ]]
[[ repeatIn(findobj(module.name) ,'object') ]]