base: add field state to module.dependencie

bzr revid: ced-dcc783cb1409fc451cbc81ca4306fc1dcbb68230
This commit is contained in:
ced
2007-06-29 06:58:49 +00:00
parent 91d09e7096
commit e52a521b3c
2 changed files with 22 additions and 0 deletions
+21
View File
@@ -277,11 +277,32 @@ module()
class module_dependency(osv.osv):
_name = "ir.module.module.dependency"
_description = "Module dependency"
def _state(self, cr, uid, ids, name, args, context={}):
result = {}
mod_obj = self.pool.get('ir.module.module')
for md in self.browse(cr, uid, ids):
ids = mod_obj.search(cr, uid, [('name', '=', md.name)])
if ids:
result[md.id] = mod_obj.read(cr, uid, [ids[0]], ['state'])[0]['state']
else:
result[md.id] = 'unknown'
return result
_columns = {
'name': fields.char('Name', size=128),
'module_id': fields.many2one('ir.module.module', 'Module', select=True),
#'module_dest_id': fields.many2one('ir.module.module', 'Module'),
'version_pattern': fields.char('Required Version', size=128),
'state': fields.function(_state, method=True, type='selection', selection=[
('uninstallable','Uninstallable'),
('uninstalled','Not Installed'),
('installed','Installed'),
('to upgrade','To be upgraded'),
('to remove','To be removed'),
('to install','To be installed'),
('unknown', 'Unknown'),
], string='State', readonly=True),
}
# returns the ids of module version records which match all dependencies
# [version_id, ...]
+1
View File
@@ -102,6 +102,7 @@
<tree string="Dependencies">
<field name="name"/>
<field name="version_pattern"/>
<field name="state"/>
</tree>
</field>
</page>