X-Git-Url: http://git.inspyration.org/?a=blobdiff_plain;f=addons%2Fprocess%2Fprocess.py;h=464cf460616a7067a270993f395f503710f3014a;hb=0d3bf8d1a21cae4d8bb70009fc34ad3520ca224c;hp=b4b82c13fac4547fa5c12aea341a48b7146727df;hpb=e583cf5f0dc5af07b1386661207729b04695f615;p=odoo%2Fodoo.git diff --git a/addons/process/process.py b/addons/process/process.py index b4b82c1..464cf46 100644 --- a/addons/process/process.py +++ b/addons/process/process.py @@ -131,21 +131,21 @@ class process_process(osv.osv): if node.menu_id: data['menu'] = {'name': node.menu_id.complete_name, 'id': node.menu_id.id} - if node.model_id and node.model_id.model == res_model: - try: - data['active'] = eval(node.model_states, expr_context) - except Exception: - pass - - if not data['active']: - try: - gray = True - for cond in node.condition_ids: - if cond.model_id and cond.model_id.model == res_model: - gray = gray and eval(cond.model_states, expr_context) - data['gray'] = not gray - except: - pass + try: + gray = True + for cond in node.condition_ids: + if cond.model_id and cond.model_id.model == res_model: + gray = gray and eval(cond.model_states, expr_context) + data['gray'] = not gray + except: + pass + + if not data['gray']: + if node.model_id and node.model_id.model == res_model: + try: + data['active'] = eval(node.model_states, expr_context) + except Exception: + pass nodes[node.id] = data if node.flow_start: @@ -242,10 +242,7 @@ class process_process(osv.osv): for k, v in nodes.items(): y = v['y'] v['y'] = min(y - miny + 10, y) - for k,v in nodes.items(): - k = str(k) - for t,i in transitions.items(): - t = str(t) + nodes = dict([str(n_key), n_val] for n_key, n_val in nodes.iteritems()) transitions = dict([str(t_key), t_val] for t_key, t_val in transitions.iteritems()) return dict(name=name, resource=resource, state=state, perm=perm, notes=notes, nodes=nodes, transitions=transitions)