diff options
| author | Xavier ALT <xal@openerp.com> | 2012-07-16 12:44:53 +0200 |
|---|---|---|
| committer | Xavier ALT <xal@openerp.com> | 2012-07-16 12:44:53 +0200 |
| commit | b01d0124b07dfc0c9f2fbfff590e416956a43e57 (patch) | |
| tree | c6f5e3486a6faf45027ff2ced859555b09dfeeee /addons/process/process.py | |
| parent | 2dd0485d4a14c1e3f64f8e40c9b91b166463eb4f (diff) | |
| parent | 9cf6d7e4affcb42c885d15b45837aaecf0fa6552 (diff) | |
[MERGE] OPW 574806: process: process node active state should be evaluated on related related model_id, if defined (v6.0 forward-port)
bzr revid: xal@openerp.com-20120716104453-gi4l8jt71y8d3qom
Diffstat (limited to 'addons/process/process.py')
| -rw-r--r-- | addons/process/process.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/addons/process/process.py b/addons/process/process.py index 464cf460616..bc486cfb416 100644 --- a/addons/process/process.py +++ b/addons/process/process.py @@ -118,6 +118,7 @@ class process_process(osv.osv): data['active'] = False data['gray'] = False data['url'] = node.help_url + data['model_states'] = node.model_states # get assosiated workflow if data['model']: @@ -198,6 +199,12 @@ class process_process(osv.osv): resource['name'] = refobj.name_get(context)[0][1] resource['perm'] = pool.get(ref_model).perm_read(cr, uid, [ref_id], context)[0] + ref_expr_context = Env(refobj, current_user) + try: + if not nodes[nid]['gray']: + nodes[nid]['active'] = eval(nodes[nid]['model_states'], ref_expr_context) + except: + pass for r in relatives: node = nodes[r] if 'res' not in node: |
