diff --git a/include/ajax.reports.php b/include/ajax.reports.php index 1dd3247f9eb76cc8407bcd389ddccde13094145b..9d002eb52c698a6788e33635f5576c22560d93df 100644 --- a/include/ajax.reports.php +++ b/include/ajax.reports.php @@ -72,22 +72,32 @@ class OverviewReportAjaxAPI extends AjaxController { # XXX: Die if $group not in $groups $queries=array( - array(7, 'SELECT '.$info['fields'].', + array(5, 'SELECT '.$info['fields'].', COUNT(*)-COUNT(NULLIF(A1.state, "created")) AS Opened, COUNT(*)-COUNT(NULLIF(A1.state, "assigned")) AS Assigned, COUNT(*)-COUNT(NULLIF(A1.state, "overdue")) AS Overdue, COUNT(*)-COUNT(NULLIF(A1.state, "closed")) AS Closed, - COUNT(*)-COUNT(NULLIF(A1.state, "reopened")) AS Reopened, - FORMAT(AVG(DATEDIFF(T2.closed, T2.created)),1) AS ServiceTime, - FORMAT(AVG(DATEDIFF(B2.created, B1.created)),1) AS ResponseTime + COUNT(*)-COUNT(NULLIF(A1.state, "reopened")) AS Reopened FROM '.$info['table'].' T1 LEFT JOIN '.TICKET_TABLE.' T2 USING ('.$info['pk'].') LEFT JOIN '.TICKET_EVENT_TABLE.' A1 USING (ticket_id) - LEFT JOIN '.TICKET_THREAD_TABLE.' B1 ON (B1.ticket_id = T2.ticket_id - AND B1.thread_type="M") - LEFT JOIN '.TICKET_THREAD_TABLE.' B2 ON (B2.pid = B1.id) WHERE A1.timestamp BETWEEN '.$start.' AND '.$stop.' - OR B1.created BETWEEN '.$start.' AND '.$stop.' - OR T1.created BETWEEN '.$start.' AND '.$stop.' + GROUP BY '.$info['fields'].' + ORDER BY '.$info['fields']), + + array(1, 'SELECT '.$info['fields'].', + FORMAT(AVG(DATEDIFF(T2.closed, T2.created)),1) AS ServiceTime + FROM '.$info['table'].' T1 LEFT JOIN '.TICKET_TABLE.' T2 USING ('.$info['pk'].') + WHERE T2.closed BETWEEN '.$start.' AND '.$stop.' + GROUP BY '.$info['fields'].' + ORDER BY '.$info['fields']), + + array(1, 'SELECT '.$info['fields'].', + FORMAT(AVG(DATEDIFF(B2.created, B1.created)),1) AS ResponseTime + FROM '.$info['table'].' T1 LEFT JOIN '.TICKET_TABLE.' T2 USING ('.$info['pk'].') + LEFT JOIN '.TICKET_THREAD_TABLE.' B2 ON (B2.ticket_id = T2.ticket_id + AND B2.thread_type="R") + LEFT JOIN '.TICKET_THREAD_TABLE.' B1 ON (B2.pid = B1.id) + WHERE B1.created BETWEEN '.$start.' AND '.$stop.' GROUP BY '.$info['fields'].' ORDER BY '.$info['fields']) ); diff --git a/scp/js/dashboard.inc.js b/scp/js/dashboard.inc.js index 6411d302ec23e673ed40f308961dc1a1e9190ee3..abd6254dee7773b1285edb1841ddd913e83e1627 100644 --- a/scp/js/dashboard.inc.js +++ b/scp/js/dashboard.inc.js @@ -167,6 +167,8 @@ tr.append($('<th>').append(row[j])); else { val = parseFloat(row[j])||0; + color = 'black'; + size = 0; if (val && max[j] && json.data.length > 1) { scale = val / max[j]; color = Raphael.hsb(