Modify

Opened 13 years ago

Last modified 9 years ago

#9103 assigned defect

Closed parents with open children

Reported by: david.killick@… Owned by: Mark Ryan
Priority: normal Component: ChildTicketsPlugin
Severity: normal Keywords:
Cc: ludovic.belliere@… Trac Release: 0.12

Description

  • Tracchildtickets: 2.4.4
  • Trac: 0.12.2

We have a parent ticket that has been closed, however at least one of its children has not.

We now want to close the child ticket, however we cannot as the parent is closed, and the ticket update form reports:

Warning: The ticket field 'parent' is invalid: The parent ticket (#7328) is not an active ticket (status: closed).

I've not tested, but it seems that it would in fact be impossible to make any changes to an open child ticket once the parent has been closed.

I have tested closing parent tickets with open children, and it seems that this is not prevented.

Attachments (1)

tickets-with-workflow.patch (934 bytes) - added by Mark Ryan 13 years ago.

Download all attachments as: .zip

Change History (9)

comment:1 Changed 13 years ago by anonymous

Owner: changed from Mark Ryan to anonymous
Status: newassigned

You're correct, once a parent is in the 'closed' state, then doing anything with any of the children is not possible.

Can you give me more details of how you've got things set up.... It should not be possible to close a parent when child tickets are still open, I've tested this and I cannot reproduce the behaviour.

Do you use the standard ticket workflow or have you modified it somehow? Are you sure the parent tickets were not 'resolved' when the plugin was disabled or before it was configured?

The plugin checks for the 'resolved' action on a parent ticket and then checks that all its children have the 'closed' state. Is there another way to 'resolve' a ticket (I can only think that you've modified the workflow so that there is another 'action' that brings the ticket to the 'closed' state...???)

Regards Mark

comment:2 Changed 13 years ago by Mark Ryan

Owner: changed from anonymous to Mark Ryan
Status: assignednew

comment:3 Changed 13 years ago by Mark Ryan

Status: newassigned

comment:4 Changed 13 years ago by david.killick@…

That makes sense, we have a custom workflow where there are several actions that can close a ticket depending on its type, and where in the lifecycle it is, and none of them are called 'resolve'.

Can supply some examples if it would be useful, but they are all of the form <action_name> <some_state> -> closed:

<action_name>.operations = set_resolution
<action_name>.name = Message specific to closing at this point in process
<action_name>.permissions = <permission>
Last edited 9 years ago by Ryan J Ollos (previous) (diff)

Changed 13 years ago by Mark Ryan

Attachment: tickets-with-workflow.patch added

comment:5 Changed 13 years ago by Mark Ryan

Hi David

I've attached a patch to the ticket with some changes in the childtickets.py file (I try and get the possible actions leading to a 'closed' state and look for them instead of just relying on there being a 'resolve' action).

I'd be greatful if you could rebuild with the patch and let me know if it fixes your problem (or at least prevents you from 'resolving' a parent with open children!)

If it works, I'll check it into svn and make a new release.

Thanks Mark

comment:6 Changed 13 years ago by ludovic.belliere@…

Cc: ludovic.belliere@… added; anonymous removed

I don't think he got the notice about your patch.

Also, I'd rather have the ability to propagate the resolve status and message of all children alongside the master ticket.

comment:7 Changed 11 years ago by gsanchez@…

Hi, I have the same problem. How can apply the patch to a working environment? Thanks a lot.

comment:8 Changed 9 years ago by t.beimel@…

Hi, I run into the same problem. Is there a fix for this?

Modify Ticket

Change Properties
Set your email in Preferences
Action
as assigned The owner will remain Mark Ryan.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.