It will be usefull to have an option to rule over validation policy.
Thanks for the suggestion. I'd like to hear more details about that.
It is hardcoded, that child ticket couldn't set closed before parent. But there are a lot of different processes, where the path organized in different way. For example, I have to patch source code to implement opposite behaviour: parent ticket can't set closed before all childs are closed. I think that it's possible to make some kind of setup in admin area where one can control this.
I believe that the correct dependency is that a parent can't be closed before all it's children are closed. I haven't looked to see that the plugin does the opposite. If it does, I strongly favor a configuration option to control that.
Under the existing policy, a ticket cannot be moved to VALIDATION state until all its children are CLOSED.
This patch relaxes that constraint so that a ticket may be moved to VALIDATION provided that all its children are in VALIDATION or CLOSED state. I find this suits my workflow better.
diff TracSubTicketsPlugin-ORIG/tracsubtickets/web_ui.py TracSubTicketsPlugin-HACK/tracsubtickets/web_ui.py
< if Ticket(self.env, child)['status'] != 'closed':
< yield None, 'Child ticket #%s has not been closed yet' % child
> status = Ticket(self.env, child)['status']
> if status != 'closed' and status != 'validation':
> yield None, 'Child ticket #%s has not been fixed yet' % child
Experimental code for #1