Files
awo-hamburg-intranet/module/tasks/pages/user/summary_widget.php
Moritz Weinmann 743476f64a Module tasks + knowledgecenter_update aus Kundenprojekt übernehmen (bereinigt)
Beide Module wurden aus einem anderen Kundenprojekt kopiert und bereinigt:

Knowledgecenter:
- Bild-Cache (1.985 Dateien) geleert, Ordnerstruktur mit .gitkeep behalten
- Files-Gallery-Lizenzschlüssel entfernt (config.php)
- Kundenspezifische Kategorien gelöscht: Teil I/II/III QM-Struktur,
  nummerierte QM-Kapitel, Gremien (Präsidium/Finanzausschuss/Landesausschuss),
  Sitzungsservice-Serie, Protokoll-Abteilungen, Testeinträge
- 56 generische Kategorien bleiben (Downloads, Onboarding, Personalthemen …)

Tasks:
- Alle Betriebsdaten gelöscht (114 Tasks, 914 Submissions, 579 Assignments)
- Task-Definitionen und Verlinkungen geleert
- Kategoriestruktur bleibt (Allgemein, IT, Personal, Buchhaltung …)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 09:20:02 +02:00

56 lines
1.6 KiB
PHP

<?php
declare(strict_types=1);
if (!isset($open_count) && !isset($error)) {
require_once dirname(dirname(__DIR__)) . '/actions/user/summary_widget_action.php';
$viewData = task_cert_user_summary_widget_action();
if (is_array($viewData)) {
extract($viewData, EXTR_SKIP);
}
}
$error = $error ?? null;
$openCount = (int) ($open_count ?? 0);
$overdueCount = (int) ($overdue_count ?? 0);
$escalatedCount = (int) ($escalated_count ?? 0);
if (!function_exists('task_cert_render_styles')) {
require_once dirname(dirname(__DIR__)) . '/bootstrap.php';
}
task_cert_render_styles(['user']);
$myTasksUrl = task_cert_view_url('user.my_tasks');
$buildLabel = static function (int $count, string $singular, string $plural): string {
return $count . ' ' . ($count === 1 ? $singular : $plural);
};
$parts = [];
if ($openCount > 0) {
$parts[] = $buildLabel($openCount, 'offene Aufgabe', 'offene Aufgaben');
}
if ($overdueCount > 0) {
$parts[] = $buildLabel($overdueCount, 'überfällige Aufgabe', 'überfällige Aufgaben');
}
if ($escalatedCount > 0) {
$parts[] = $buildLabel($escalatedCount, 'eskalierte Aufgabe', 'eskalierte Aufgaben');
}
if ($error || $parts === []) {
return;
}
$message = '';
if (count($parts) === 1) {
$message = $parts[0];
} elseif (count($parts) === 2) {
$message = $parts[0] . ' und ' . $parts[1];
} else {
$message = $parts[0] . ', ' . $parts[1] . ' und ' . $parts[2];
}
?>
<div class="task-cert task-cert-user-summary-widget">
<a href="<?php echo TaskCertView::e($myTasksUrl); ?>" class="task-cert-user-summary-bar">
Sie haben <?php echo TaskCertView::e($message); ?>.
</a>
</div>