[IMP]:improved diagram code with signal in graph.

bzr revid: apa@tinyerp.com-20100222101823-ksphjjdecxjn6cnp
This commit is contained in:
apa-tiny 2010-02-22 15:48:23 +05:30
parent 802f93ef25
commit 6eadc92bee
2 changed files with 23 additions and 23 deletions

View File

@ -132,13 +132,13 @@ class view(osv.osv):
return super(view, self).write(cr, uid, ids, vals, context)
def graph_get(self, cr, uid, id, model, node_obj, conn_obj, src_node, des_node, scale,context={}):
def graph_get(self, cr, uid, id, model, node_obj, conn_obj, src_node, des_node,signal,scale,context={}):
nodes=[]
nodes_name=[]
transitions=[]
start=[]
tres={}
signal = {}
sig={}
no_ancester=[]
_Model_Obj=self.pool.get(model)
@ -172,10 +172,9 @@ class view(osv.osv):
for t in _Arrow_Obj.read(cr,uid, a[_Destination_Field],[]):
transitions.append((a['id'], t[des_node][0]))
tres[str(t['id'])] = (a['id'],t[des_node][0])
if t['signal']:
signal[str(t['id'])] = t['signal']
else:
signal[str(t['id'])] = t['condition']
if t.has_key(str(signal)) and str(t[signal])=='False':
t[signal]=' '
sig[str(t['id'])] = (a['id'],t.get(signal,' '))
g = graph(nodes, transitions, no_ancester)
g.process(start)
g.scale(*scale)
@ -184,7 +183,7 @@ class view(osv.osv):
for node in nodes_name:
results[str(node[0])] = result[node[0]]
results[str(node[0])]['name'] = node[1]
return {'nodes': results, 'transitions': tres, 'signal' : signal}
return {'nodes': results, 'transitions': tres, 'signal' : sig}
view()
class view_sc(osv.osv):

View File

@ -60,6 +60,7 @@
<rng:attribute name="object" />
<rng:attribute name="source" />
<rng:attribute name="destination" />
<rng:optional><rng:attribute name="signal"/></rng:optional>
<rng:zeroOrMore>
<rng:choice>
<rng:ref name="field"/>