413 return self.reverse_wf_info_for[-1] |
413 return self.reverse_wf_info_for[-1] |
414 |
414 |
415 @cached |
415 @cached |
416 def cwetype_workflow(self): |
416 def cwetype_workflow(self): |
417 """return the default workflow for entities of this type""" |
417 """return the default workflow for entities of this type""" |
418 # XXX CWEType method |
418 wfrset = self.req.execute('Any WF WHERE ET default_workflow WF, ' |
419 wfrset = self.req.execute('Any WF WHERE X is ET, X eid %(x)s, ' |
419 'ET name %(et)s', {'et': self.id}) |
420 'WF workflow_of ET', {'x': self.eid}, 'x') |
420 if wfrset: |
421 if len(wfrset) == 1: |
|
422 return wfrset.get_entity(0, 0) |
421 return wfrset.get_entity(0, 0) |
423 if len(wfrset) > 1: |
422 self.warning("can't find any workflow for %s", self.id) |
424 for wf in wfrset.entities(): |
|
425 if wf.is_default_workflow_of(self.id): |
|
426 return wf |
|
427 self.warning("can't find default workflow for %s", self.id) |
|
428 else: |
|
429 self.warning("can't find any workflow for %s", self.id) |
|
430 return None |
423 return None |
431 |
424 |
432 def possible_transitions(self, type='normal'): |
425 def possible_transitions(self, type='normal'): |
433 """generates transition that MAY be fired for the given entity, |
426 """generates transition that MAY be fired for the given entity, |
434 expected to be in this state |
427 expected to be in this state |