From 620f68701626e824abbf94d4fc2674e39f8a6ade Mon Sep 17 00:00:00 2001 From: FlorianEisenmenger Date: Sun, 24 May 2026 23:08:35 +0200 Subject: [PATCH] report filter --- httpdocs/assets/styles/sections/_report.scss | 5 ++ httpdocs/src/Controller/ReportController.php | 8 +++- .../templates/report/_filter-panel.html.twig | 48 ++++++++++++++----- 3 files changed, 48 insertions(+), 13 deletions(-) diff --git a/httpdocs/assets/styles/sections/_report.scss b/httpdocs/assets/styles/sections/_report.scss index 462c230..7b33be6 100644 --- a/httpdocs/assets/styles/sections/_report.scss +++ b/httpdocs/assets/styles/sections/_report.scss @@ -585,6 +585,11 @@ button.report-toolbar__action { flex-direction: column; gap: $space-2; margin-top: $space-2; + + // [hidden] wird durch display:flex überschrieben – explizit gegensteuern + &[hidden] { + display: none; + } } .filter-date-group { diff --git a/httpdocs/src/Controller/ReportController.php b/httpdocs/src/Controller/ReportController.php index 132340a..b3934cc 100644 --- a/httpdocs/src/Controller/ReportController.php +++ b/httpdocs/src/Controller/ReportController.php @@ -58,8 +58,12 @@ class ReportController extends AbstractController // User-Liste für Filter-Dropdown (für Twig/JS) $userList = []; - foreach ($userMap as $uid => $uname) { - $userList[] = ['id' => $uid, 'name' => $uname]; + foreach ($accountUsers as $au) { + $userList[] = [ + 'id' => $au->getUser()->getId(), + 'name' => $au->getUser()->getFullName(), + 'archived' => $au->isArchived(), + ]; } // Filter aus GET-Parametern lesen diff --git a/httpdocs/templates/report/_filter-panel.html.twig b/httpdocs/templates/report/_filter-panel.html.twig index 2e99c93..ad32f1c 100644 --- a/httpdocs/templates/report/_filter-panel.html.twig +++ b/httpdocs/templates/report/_filter-panel.html.twig @@ -73,7 +73,7 @@ {% if i > 0 %} @@ -93,14 +93,27 @@ {{ 'app.report.filter_service'|trans }}
- {% set selServices = hasServices ? fr.services : [''] %} + {% set selServices = hasServices ? fr.services : [''] %} + {% set activeServices = services|filter(s => not s.isArchived()) %} + {% set archivedServices = services|filter(s => s.isArchived()) %} {% for i, val in selServices %}
{% if i > 0 %} @@ -120,14 +133,27 @@ {{ 'app.report.filter_user'|trans }}
- {% set selUsers = hasUsers ? fr.users : [''] %} + {% set selUsers = hasUsers ? fr.users : [''] %} + {% set activeUsers = userList|filter(u => not u.archived) %} + {% set archivedUsers = userList|filter(u => u.archived) %} {% for i, val in selUsers %}
{% if i > 0 %} @@ -228,11 +254,11 @@