From 82372afc23340142904c094724fe6baf734092fc Mon Sep 17 00:00:00 2001
From: Jared Hancock <jared@osticket.com>
Date: Thu, 28 Jun 2012 17:48:16 -0400
Subject: [PATCH] Add initial statistics from %ticket table

---
 .../patches/60fcbee1-f8856d56.patch.sql       | 42 +++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/include/upgrader/patches/60fcbee1-f8856d56.patch.sql b/include/upgrader/patches/60fcbee1-f8856d56.patch.sql
index 2b7e48599..624e88968 100644
--- a/include/upgrader/patches/60fcbee1-f8856d56.patch.sql
+++ b/include/upgrader/patches/60fcbee1-f8856d56.patch.sql
@@ -15,5 +15,47 @@ CREATE TABLE `%TABLE_PREFIX%ticket_event` (
 DROP TABLE IF EXISTS `%TABLE_PREFIX%ticket_history`;
 DROP TABLE IF EXISTS `%TABLE_PREFIX%history`;
 
+-- Transfer ticket statistics from the %ticket table (inaccurate)
+-- REOPENED
+INSERT INTO `%TABLE_PREFIX%ticket_event`
+    (`ticket_id`, `staff_id`, `team_id`, `dept_id`, `topic_id`,
+        `state`, `staff`, `timestamp`)
+    SELECT `ticket_id`, T1.`staff_id`, `team_id`, T1.`dept_id`, `topic_id`,
+        'reopened', T2.`username`, `reopened`
+    FROM `%TABLE_PREFIX%ticket` T1
+        INNER JOIN `%TABLE_PREFIX%staff` T2
+        ON (T1.`staff_id` = T2.`staff_id`)
+    WHERE `status` = 'open' and `reopened` is not null;
+
+-- CLOSED
+INSERT INTO `%TABLE_PREFIX%ticket_event`
+    (`ticket_id`, `staff_id`, `team_id`, `dept_id`, `topic_id`,
+        `state`, `staff`, `timestamp`)
+    SELECT `ticket_id`, T1.`staff_id`, `team_id`, T1.`dept_id`, `topic_id`,
+        'closed', COALESCE(T2.`username`,'unknown'), `closed`
+    FROM `%TABLE_PREFIX%ticket` T1
+        LEFT JOIN `%TABLE_PREFIX%staff` T2
+        ON (T1.`staff_id` = T2.`staff_id`)
+    WHERE `status` = 'closed' and `closed` is not null;
+
+-- OVERDUE
+INSERT INTO `%TABLE_PREFIX%ticket_event`
+    (`ticket_id`, `staff_id`, `team_id`, `dept_id`, `topic_id`,
+        `state`, `staff`, `timestamp`)
+    SELECT `ticket_id`, T1.`staff_id`, `team_id`, T1.`dept_id`, `topic_id`,
+        'overdue', 'SYSTEM', `duedate`
+    FROM `%TABLE_PREFIX%ticket` T1
+        INNER JOIN `%TABLE_PREFIX%staff` T2
+        ON (T1.`staff_id` = T2.`staff_id`)
+    WHERE `status` = 'open' and `isoverdue`;
+
+-- OPENED
+INSERT INTO `%TABLE_PREFIX%ticket_event`
+    (`ticket_id`, `staff_id`, `team_id`, `dept_id`, `topic_id`,
+        `state`, `staff`, `timestamp`)
+    SELECT `ticket_id`, 0, 0, 0, `topic_id`,
+        'created', 'SYSTEM', T1.`created`
+    FROM `%TABLE_PREFIX%ticket` T1;
+
 UPDATE `%TABLE_PREFIX%config`
     SET `schema_signature`='f8856d56e51c5cc3416389de78b54515';
-- 
GitLab