Hello, first I was wondering if you would be ok with the original date column updating to show the closed date, as it currently does not. Which is simple.
open: /inlcude/staff/tickets.inc.php
Find //ADD attachment,priorities, lock and other crap
$qselect.=' ,count(attach.attach_id) as attachments '
.' ,count(DISTINCT thread.id) as thread_count '
.' ,IF(ticket.duedate IS NULL,IF(sla.id IS NULL, NULL, DATE_ADD(ticket.created, INTERVAL sla.grace_period HOUR)), ticket.duedate) as duedate '
.' ,GREATEST(IFNULL(ticket.lastmessage, 0), IFNULL(ticket.reopened, 0), ticket.created) as effective_date '
.' ,CONCAT_WS(" ", staff.firstname, staff.lastname) as staff, team.name as team '
.' ,IF(staff.staff_id IS NULL,team.name,CONCAT_WS(" ", staff.lastname, staff.firstname)) as assigned '
.' ,IF(ptopic.topic_pid IS NULL, topic.topic, CONCAT_WS(" / ", ptopic.topic, topic.topic)) as helptopic ';
See the line the has starts with GREATEST and ends with effective_date? change it to look like this
.' ,GREATEST(IFNULL(ticket.lastmessage, 0), IFNULL(ticket.reopened, 0), ticket.created, IFNULL(ticket.closed,0)) as effective_date '
now when a ticket is closed(or modified after it is closed) it will show that date.
If that doesnt work for you, you will need to add another line in the first paragraph of code i showed like
.' ,ticket.closed as closed_date'
Then basically copy the effective date header and body code, which it sounds like you already did, and put the 'closed_date' variable in there instead of 'effective_date'