summaryrefslogtreecommitdiff
path: root/addons/process/process.py
diff options
context:
space:
mode:
authorame (Tiny/Axelor) <ame@tinyerp.com>2008-12-24 18:37:29 +0530
committerame (Tiny/Axelor) <ame@tinyerp.com>2008-12-24 18:37:29 +0530
commita5d8cf5d2c8a6de68fe5d0cead394a056ff1688d (patch)
tree517b7c02b9a0a23d7d70772c444d39e32d18e4b3 /addons/process/process.py
parent11e102cef611cf5c770628bb728b41db59b23b3e (diff)
* Improved process module
bzr revid: ame@tinyerp.com-20081224130729-857dvlgcrlki4b6r
Diffstat (limited to 'addons/process/process.py')
-rw-r--r--addons/process/process.py18
1 files changed, 9 insertions, 9 deletions
diff --git a/addons/process/process.py b/addons/process/process.py
index b1a6002dfd9..94bbd6daaa1 100644
--- a/addons/process/process.py
+++ b/addons/process/process.py
@@ -60,15 +60,13 @@ class process_process(osv.osv):
def search_by_model(self, cr, uid, res_model, context):
pool = pooler.get_pool(cr.dbname)
+ model_ids = (res_model or None) and pool.get('ir.model').search(cr, uid, [('model', '=', res_model)])
- model_ids = pool.get('ir.model').search(cr, uid, [('model', '=', res_model)])
- if not model_ids:
- return []
-
+ domain = (model_ids or []) and [('model_id', 'in', model_ids)]
result = []
# search all processes
- res = pool.get('process.process').search(cr, uid, [('model_id', 'in', model_ids)])
+ res = pool.get('process.process').search(cr, uid, domain)
if res:
res = pool.get('process.process').browse(cr, uid, res, context)
for process in res:
@@ -77,9 +75,9 @@ class process_process(osv.osv):
return result
# else search process nodes
- res = pool.get('process.node').search(cr, uid, [('model_id', 'in', model_ids)])
+ res = pool.get('process.node').search(cr, uid, domain)
if res:
- res = pool.get('process.node').browse(cr, uid, res, context)
+ res = pool.get('process.node').browse(cr, uid, res, context)
for node in res:
if (node.process_id.id, node.process_id.name) not in result:
result.append((node.process_id.id, node.process_id.name))
@@ -91,13 +89,15 @@ class process_process(osv.osv):
pool = pooler.get_pool(cr.dbname)
process = pool.get('process.process').browse(cr, uid, [id])[0]
- states = dict(pool.get(res_model).fields_get(cr, uid, context=context).get('state', {}).get('selection', {}))
-
title = process.name
expr_context = {}
+ states = {}
perm = None
+ if res_model:
+ states = dict(pool.get(res_model).fields_get(cr, uid, context=context).get('state', {}).get('selection', {}))
+
if res_id:
current_object = pool.get(res_model).browse(cr, uid, [res_id], context)[0]
current_user = pool.get('res.users').browse(cr, uid, [uid], context)[0]