entities/wfobjs.py
changeset 10374 699e49d76334
parent 10096 decd60fa8cc5
child 10473 23a2fa8cb725
equal deleted inserted replaced
10371:88577b10b31e 10374:699e49d76334
   172         """migration convenience method"""
   172         """migration convenience method"""
   173         if not hasattr(todelstate, 'eid'):
   173         if not hasattr(todelstate, 'eid'):
   174             todelstate = self.state_by_name(todelstate)
   174             todelstate = self.state_by_name(todelstate)
   175         if not hasattr(replacement, 'eid'):
   175         if not hasattr(replacement, 'eid'):
   176             replacement = self.state_by_name(replacement)
   176             replacement = self.state_by_name(replacement)
       
   177         args = {'os': todelstate.eid, 'ns': replacement.eid}
   177         execute = self._cw.execute
   178         execute = self._cw.execute
   178         execute('SET X in_state S WHERE S eid %(s)s', {'s': todelstate.eid})
   179         execute('SET X in_state NS WHERE X in_state OS, '
   179         execute('SET X from_state NS WHERE X to_state OS, OS eid %(os)s, NS eid %(ns)s',
   180                 'NS eid %(ns)s, OS eid %(os)s', args)
   180                 {'os': todelstate.eid, 'ns': replacement.eid})
   181         execute('SET X from_state NS WHERE X from_state OS, '
   181         execute('SET X to_state NS WHERE X to_state OS, OS eid %(os)s, NS eid %(ns)s',
   182                 'OS eid %(os)s, NS eid %(ns)s', args)
   182                 {'os': todelstate.eid, 'ns': replacement.eid})
   183         execute('SET X to_state NS WHERE X to_state OS, '
       
   184                 'OS eid %(os)s, NS eid %(ns)s', args)
   183         todelstate.cw_delete()
   185         todelstate.cw_delete()
   184 
   186 
   185 
   187 
   186 class BaseTransition(AnyEntity):
   188 class BaseTransition(AnyEntity):
   187     """customized class for abstract transition
   189     """customized class for abstract transition