entities/wfobjs.py
changeset 3674 387d51af966d
parent 3629 559cad62c786
parent 3663 c74d8ec4cdb2
child 3675 5d143781a604
equal deleted inserted replaced
3661:12ea53a4c0da 3674:387d51af966d
   415 
   415 
   416     @cached
   416     @cached
   417     def cwetype_workflow(self):
   417     def cwetype_workflow(self):
   418         """return the default workflow for entities of this type"""
   418         """return the default workflow for entities of this type"""
   419         # XXX CWEType method
   419         # XXX CWEType method
   420         wfrset = self._cw.execute('Any WF WHERE X is ET, X eid %(x)s, '
   420         wfrset = self._cw.execute('Any WF WHERE ET default_workflow WF, '
   421                                   'WF workflow_of ET', {'x': self.eid}, 'x')
   421                                   'ET name %(et)s', {'et': self.id})
   422         if len(wfrset) == 1:
   422         if wfrset:
   423             return wfrset.get_entity(0, 0)
   423             return wfrset.get_entity(0, 0)
   424         if len(wfrset) > 1:
   424         self.warning("can't find any workflow for %s", self.id)
   425             for wf in wfrset.entities():
       
   426                 if wf.is_default_workflow_of(self.__regid__):
       
   427                     return wf
       
   428             self.warning("can't find default workflow for %s", self.__regid__)
       
   429         else:
       
   430             self.warning("can't find any workflow for %s", self.__regid__)
       
   431         return None
   425         return None
   432 
   426 
   433     def possible_transitions(self, type='normal'):
   427     def possible_transitions(self, type='normal'):
   434         """generates transition that MAY be fired for the given entity,
   428         """generates transition that MAY be fired for the given entity,
   435         expected to be in this state
   429         expected to be in this state