rossp/django-helpdesk — Issue #96: Allow tickets to be merged
Author: fatbox
Created: 2011-12-20 19:53:12+00:00
State: open

This is a feature request.

Often times clients will open two (or more) tickets by forwarding messages around and then replying to the forwards. This leads to having multiple tickets tracking the same issue.

Tickets should be able to be merged together to combine their histories and allow future updates to any of the ticket IDs to end up in the final, merged ticket.

Here's how I see this working from a UI perspective:

At the top of the ticket view we would add a new button named "Merge" alongside the "Edit", "Close" & "Hold" functions. When clicked it would move to a view where you can select the ticket you wish to merge IN TO. Selecting a ticket and choosing next will mark the current ticket status as "Merged" and will copy all of the followups to the selected ticket. This should also move over any CC's from the current ticket, if the requester of the current ticket is not the requester of the selected ticket then they should also be added as a CC (with view & edit).

From an implementation standpoint:

We will need to add a new foreignkey named ```merged_with``` to the ticket model that's self referential.

Once a ticket is Status merged any attempt to access the ticket via the web interface will send a 301 redirect to the new ticket.

Any attempt to update the ticket via email should check if the status of the ticket is "Merged" and if so replace the reference to the ticket with ```ticket.merged_with```.