diff options
| author | Fabien Pinckaers <fp@tinyerp.com> | 2008-09-24 15:40:59 +0200 |
|---|---|---|
| committer | Fabien Pinckaers <fp@tinyerp.com> | 2008-09-24 15:40:59 +0200 |
| commit | 257418221cce95a083115eae5a5d5e2e44609fe9 (patch) | |
| tree | 8b6f6e61e4db0bb0813a27d0a52d4e5dbf8d9fe2 /addons/process/process.py | |
| parent | 9762414abfe40ff5320dc2d5e8b451480b4937d3 (diff) | |
| parent | 32518af10916aa8242c44fc33328f96ff0ffbc0d (diff) | |
improved views
bzr revid: fp@tinyerp.com-20080924134059-vl9mz892nr35640p
Diffstat (limited to 'addons/process/process.py')
| -rw-r--r-- | addons/process/process.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/addons/process/process.py b/addons/process/process.py index 49f6c8dc83a..1a0024af4b1 100644 --- a/addons/process/process.py +++ b/addons/process/process.py @@ -63,6 +63,29 @@ class process_process(osv.osv): 'active' : lambda *a: True, } + def search_by_model(self, cr, uid, res_model, context): + pool = pooler.get_pool(cr.dbname) + + model_ids = pool.get('ir.model').search(cr, uid, [('model', '=', res_model)]) + if not model_ids: + return [] + + nodes = pool.get('process.node').search(cr, uid, [('model_id', 'in', model_ids)]) + if not nodes: + return [] + + nodes = pool.get('process.node').browse(cr, uid, nodes, context) + + unique = [] + result = [] + + for node in nodes: + if node.process_id.id not in unique: + result.append((node.process_id.id, node.process_id.name)) + unique.append(node.process_id.id) + + return result + def graph_get(self, cr, uid, id, res_model, res_id, scale, context): pool = pooler.get_pool(cr.dbname) |
