[IMP]:improved diagram code with signal in graph.
bzr revid: apa@tinyerp.com-20100222101823-ksphjjdecxjn6cnp
This commit is contained in:
parent
802f93ef25
commit
6eadc92bee
|
@ -132,18 +132,18 @@ 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={}):
|
||||
nodes= []
|
||||
nodes_name = []
|
||||
transitions = []
|
||||
start = []
|
||||
tres = {}
|
||||
signal = {}
|
||||
no_ancester = []
|
||||
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={}
|
||||
sig={}
|
||||
no_ancester=[]
|
||||
|
||||
_Model_Obj = self.pool.get(model)
|
||||
_Node_Obj = self.pool.get(node_obj)
|
||||
_Arrow_Obj = self.pool.get(conn_obj)
|
||||
_Model_Obj=self.pool.get(model)
|
||||
_Node_Obj=self.pool.get(node_obj)
|
||||
_Arrow_Obj=self.pool.get(conn_obj)
|
||||
|
||||
for model_key,model_value in _Model_Obj._columns.items():
|
||||
if model_value._type=='one2many':
|
||||
|
@ -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):
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
<rng:define name="diagram">
|
||||
<rng:element name="diagram">
|
||||
<rng:optional><rng:attribute name="string"/></rng:optional>
|
||||
<rng:optional><rng:attribute name="string"/></rng:optional>
|
||||
<rng:zeroOrMore>
|
||||
<rng:choice>
|
||||
<rng:ref name="node"/>
|
||||
|
@ -41,7 +41,7 @@
|
|||
</rng:zeroOrMore>
|
||||
</rng:element>
|
||||
</rng:define>
|
||||
|
||||
|
||||
<rng:define name="node">
|
||||
<rng:element name="node">
|
||||
<rng:attribute name="object"/>
|
||||
|
@ -49,25 +49,26 @@
|
|||
<rng:optional><rng:attribute name="bgcolor"/></rng:optional>
|
||||
<rng:zeroOrMore>
|
||||
<rng:choice>
|
||||
<rng:ref name="field"/>
|
||||
<rng:ref name="field"/>
|
||||
</rng:choice>
|
||||
</rng:zeroOrMore>
|
||||
</rng:element>
|
||||
</rng:define>
|
||||
|
||||
|
||||
<rng:define name="arrow">
|
||||
<rng:element name="arrow">
|
||||
<rng:attribute name="object" />
|
||||
<rng:attribute name="source" />
|
||||
<rng:attribute name="destination" />
|
||||
<rng:attribute name="destination" />
|
||||
<rng:optional><rng:attribute name="signal"/></rng:optional>
|
||||
<rng:zeroOrMore>
|
||||
<rng:choice>
|
||||
<rng:ref name="field"/>
|
||||
<rng:ref name="field"/>
|
||||
</rng:choice>
|
||||
</rng:zeroOrMore>
|
||||
</rng:element>
|
||||
</rng:define>
|
||||
|
||||
|
||||
<rng:define name="tree">
|
||||
<rng:element name="tree">
|
||||
<rng:optional><rng:attribute name="string"/></rng:optional>
|
||||
|
|
Loading…
Reference in New Issue