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 |