class DontCloseMilestoneTickets(Component): implements(ITicketManipulator) ### methods for ITicketManipulator """Miscellaneous manipulation of ticket workflow features.""" def prepare_ticket(self, req, ticket, fields, actions): """Not currently called, but should be provided for future compatibility.""" def validate_ticket(self, req, ticket): """Validate a ticket after it's been populated from user input. Must return a list of `(field, message)` tuples, one for each problem detected. `field` can be `None` to indicate an overall problem with the ticket. Therefore, a return value of `[]` means everything is OK."""