summaryrefslogtreecommitdiff
path: root/addons/process/process.py
diff options
context:
space:
mode:
authorFabien Pinckaers <fp@tinyerp.com>2008-09-24 15:40:59 +0200
committerFabien Pinckaers <fp@tinyerp.com>2008-09-24 15:40:59 +0200
commit257418221cce95a083115eae5a5d5e2e44609fe9 (patch)
tree8b6f6e61e4db0bb0813a27d0a52d4e5dbf8d9fe2 /addons/process/process.py
parent9762414abfe40ff5320dc2d5e8b451480b4937d3 (diff)
parent32518af10916aa8242c44fc33328f96ff0ffbc0d (diff)
improved views
bzr revid: fp@tinyerp.com-20080924134059-vl9mz892nr35640p
Diffstat (limited to 'addons/process/process.py')
-rw-r--r--addons/process/process.py23
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)