# HG changeset patch # User Sylvain Thénault # Date 1259830652 -3600 # Node ID ac2a54a6f36f659aa48391b910f369b3ecb09bf6 # Parent 8029019884afc49abfefa26894d5db2e91931399 implements 'parent' method on workflow entity types diff -r 8029019884af -r ac2a54a6f36f entities/wfobjs.py --- a/entities/wfobjs.py Thu Dec 03 09:56:53 2009 +0100 +++ b/entities/wfobjs.py Thu Dec 03 09:57:32 2009 +0100 @@ -34,6 +34,7 @@ return any(et for et in self.reverse_default_workflow if et.name == etype) + # XXX define parent() instead? what if workflow of multiple types? def after_deletion_path(self): """return (path, parameters) which should be used as redirect information when this entity is being deleted @@ -244,6 +245,9 @@ def destination(self): return self.destination_state[0] + def parent(self): + return self.workflow + class WorkflowTransition(BaseTransition): """customized class for WorkflowTransition entities""" @@ -309,6 +313,9 @@ def destination(self): return self.destination_state and self.destination_state[0] or None + def parent(self): + return self.reverse_subworkflow_exit[0] + class State(AnyEntity): """customized class for State entities""" @@ -321,13 +328,8 @@ # take care, may be missing in multi-sources configuration return self.state_of and self.state_of[0] - def after_deletion_path(self): - """return (path, parameters) which should be used as redirect - information when this entity is being deleted - """ - if self.state_of: - return self.state_of[0].rest_path(), {} - return super(State, self).after_deletion_path() + def parent(self): + return self.workflow class TrInfo(AnyEntity): @@ -352,13 +354,8 @@ def transition(self): return self.by_transition and self.by_transition[0] or None - def after_deletion_path(self): - """return (path, parameters) which should be used as redirect - information when this entity is being deleted - """ - if self.for_entity: - return self.for_entity.rest_path(), {} - return 'view', {} + def parent(self): + return self.for_entity class WorkflowableMixIn(object):