ITicketManipulator - give access to ticket state before and after change
|Reported by:||Owned by:|
In our context, ticket validity depends on a check of the changes made to a ticket ; not just a check of the ticket itself.
So, in implementing ITicketManipulator, at validate_ticket, we want to inspect the ticket before, the ticket after, and any contextual information associated with the change.
For example, we would like to restrict it so that only the ticket owner can transition a ticket to another state. And, during this transition, the owner may change to another person: e.g. via [ticket-workflow]…set_owner…
So, to implement the above, we'd need access to: + Who's making the change (we have that, through req.authname) + Who the previous owner was (we don't have that)
It looks like the implementation for this is tantalizingly close. A 'prepare_ticket' method is available, which (I'm guessing?) would provide access to the ticket details prior to the change. However, as documented, it's never called..
Although, that guess could be wrong - #10125 suggests that the originally intended use for 'prepare_ticket' might be something very different. Regardless, having access to 'ticket_before' in implementations of ITicketManipulator would be handy.