entities/wfobjs.py
branchstable
changeset 3663 c74d8ec4cdb2
parent 3628 440931181322
child 3674 387d51af966d
child 3687 859f7d741bfb
equal deleted inserted replaced
3662:9eeadad82d93 3663:c74d8ec4cdb2
   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