add option to 'hide empty queues' in dashboard overview.

code to show empty queue is from b7df9b9495
This commit is contained in:
Andreas Kotowicz 2011-12-02 12:54:06 +01:00
parent 71d69278bc
commit 1e6fa7a92d
2 changed files with 31 additions and 12 deletions

View File

@ -109,6 +109,9 @@ HELPDESK_CREATE_TICKET_HIDE_ASSIGNED_TO = getattr(settings, 'HELPDESK_CREATE_TIC
# show delete button next to unassigned tickets # show delete button next to unassigned tickets
HELPDESK_DASHBOARD_SHOW_DELETE_UNASSIGNED = getattr(settings, 'HELPDESK_DASHBOARD_SHOW_DELETE_UNASSIGNED', True) HELPDESK_DASHBOARD_SHOW_DELETE_UNASSIGNED = getattr(settings, 'HELPDESK_DASHBOARD_SHOW_DELETE_UNASSIGNED', True)
# hide empty queues in dashboard overview?
HELPDESK_DASHBOARD_HIDE_EMPTY_QUEUES = getattr(settings, 'HELPDESK_DASHBOARD_HIDE_EMPTY_QUEUES', True)
''' options for footer ''' ''' options for footer '''

View File

@ -85,18 +85,34 @@ def dashboard(request):
# Queue 2 4 12 # Queue 2 4 12
cursor = connection.cursor() cursor = connection.cursor()
cursor.execute(""" if helpdesk_settings.HELPDESK_DASHBOARD_HIDE_EMPTY_QUEUES:
SELECT q.id as queue, cursor.execute("""
q.title AS name, SELECT q.id as queue,
COUNT(CASE t.status WHEN '1' THEN t.id WHEN '2' THEN t.id END) AS open, q.title AS name,
COUNT(CASE t.status WHEN '3' THEN t.id END) AS resolved, COUNT(CASE t.status WHEN '1' THEN t.id WHEN '2' THEN t.id END) AS open,
COUNT(CASE t.status WHEN '4' THEN t.id END) AS closed COUNT(CASE t.status WHEN '3' THEN t.id END) AS resolved,
FROM helpdesk_ticket t, COUNT(CASE t.status WHEN '4' THEN t.id END) AS closed
helpdesk_queue q FROM helpdesk_ticket t,
WHERE q.id = t.queue_id helpdesk_queue q
GROUP BY queue, name WHERE q.id = t.queue_id
ORDER BY q.id; GROUP BY queue, name
""") ORDER BY q.id;
""")
else:
cursor.execute("""
SELECT q.id as queue,
q.title AS name,
COUNT(CASE t.status WHEN '1' THEN t.id WHEN '2' THEN t.id END) AS open,
COUNT(CASE t.status WHEN '3' THEN t.id END) AS resolved,
COUNT(CASE t.status WHEN '4' THEN t.id END) AS closed
FROM helpdesk_queue q
LEFT OUTER JOIN helpdesk_ticket t
ON q.id = t.queue_id
GROUP BY queue, name
ORDER BY q.id;
""")
dash_tickets = query_to_dict(cursor.fetchall(), cursor.description) dash_tickets = query_to_dict(cursor.fetchall(), cursor.description)
return render_to_response('helpdesk/dashboard.html', return render_to_response('helpdesk/dashboard.html',