diff --git a/addons/account/process/supplier_invoice_process.xml b/addons/account/process/supplier_invoice_process.xml index 6f5526623df..65a924bf75e 100644 --- a/addons/account/process/supplier_invoice_process.xml +++ b/addons/account/process/supplier_invoice_process.xml @@ -68,6 +68,7 @@ + diff --git a/addons/process/process.py b/addons/process/process.py index 524a3236e7b..3eae5cc9565 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: