From 5bd354b69026bf18695bb42bd55c34841fa7ce33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20H=C3=A4ttasch?= <benjamin.haettasch@fachschaft.informatik.tu-darmstadt.de> Date: Sat, 3 Dec 2022 20:35:06 +0100 Subject: [PATCH] Improve violation count badge in scheduler Show total count of violations as number, but only mark in orange if there are any violations that are not manually resolved already --- .../admin/AKScheduling/scheduling.html | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/AKScheduling/templates/admin/AKScheduling/scheduling.html b/AKScheduling/templates/admin/AKScheduling/scheduling.html index fc07b69d..5d15411c 100644 --- a/AKScheduling/templates/admin/AKScheduling/scheduling.html +++ b/AKScheduling/templates/admin/AKScheduling/scheduling.html @@ -196,16 +196,17 @@ const cv_callback_success = function(response) { let table_html = ''; - if(response.length > 0) { - // Update violation count badge - $('#violationCountBadge').html(response.length).removeClass('badge-success').addClass('badge-warning'); + let unresolved_violations_count = 0; + if(response.length > 0) { // Update violations table for(let i=0;i<response.length;i++) { if(response[i].manually_resolved) table_html += '<tr class="text-muted"><td class="nowrap">{% fa5_icon "check" "fas" %} '; - else + else { table_html += '<tr><td>'; + unresolved_violations_count++; + } if(response[i].level_display==='{% trans "Violation" %}') table_html += '{% fa5_icon "exclamation-triangle" "fas" %}'; @@ -217,13 +218,16 @@ } } else { - // Update violation count badge - $('#violationCountBadge').html(0).removeClass('badge-warning').addClass('badge-success'); - // Update violations table table_html ='<tr class="text-muted"><td colspan="2" class="text-center">{% trans "No violations" %}</td></tr>' } + // Update violation count badge + if(unresolved_violations_count > 0) + $('#violationCountBadge').html(response.length).removeClass('badge-success').addClass('badge-warning'); + else + $('#violationCountBadge').html(0).removeClass('badge-warning').addClass('badge-success'); + // Show violation list (potentially empty) in violations table $('#violationsTableBody').html(table_html); } -- GitLab