diff options
| author | ced <> | 2007-06-29 06:58:49 +0000 |
|---|---|---|
| committer | ced <> | 2007-06-29 06:58:49 +0000 |
| commit | e52a521b3c2d1ce766e8256daad7abe86e84a4cb (patch) | |
| tree | ac7e396e4b75b35472df7590978ad5f3c3604c5a /bin/addons/base/module/module.py | |
| parent | 91d09e709699248b6764797cf67f90b0caf81fe3 (diff) | |
base: add field state to module.dependencie
bzr revid: ced-dcc783cb1409fc451cbc81ca4306fc1dcbb68230
Diffstat (limited to 'bin/addons/base/module/module.py')
| -rw-r--r-- | bin/addons/base/module/module.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/bin/addons/base/module/module.py b/bin/addons/base/module/module.py index fa6f22949cc..65a484e7b08 100644 --- a/bin/addons/base/module/module.py +++ b/bin/addons/base/module/module.py @@ -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, ...] |
