feat(helpdesk): add team workload dashboard with per-agent metrics
New standalone page (helpdesk/team) showing support agent workload aggregated from BC tickets. KPI bar (open, unassigned, avg age, resolved), per-agent table sorted by open tickets, period selector (30/90/180/365d). Global OData query via getTicketsForTeam() without customer filter. New permission helpdesk.team-workload.view with admin role assignment. Includes 6 PHPUnit tests for buildTeamWorkloadDashboard(). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -3,10 +3,12 @@
|
||||
$layoutNav = is_array($layoutNav ?? null) ? $layoutNav : [];
|
||||
$helpdeskNav = is_array($layoutNav['helpdesk.nav'] ?? null) ? $layoutNav['helpdesk.nav'] : [];
|
||||
$canManageSettings = !empty($helpdeskNav['can_manage_settings']);
|
||||
$canViewTeam = !empty($helpdeskNav['can_view_team']);
|
||||
|
||||
$settingsActive = navActive('helpdesk/settings', true);
|
||||
$teamActive = navActive('helpdesk/team', true);
|
||||
$customersActive = navActive('helpdesk', true);
|
||||
if ($settingsActive['isActive']) {
|
||||
if ($settingsActive['isActive'] || $teamActive['isActive']) {
|
||||
$customersActive = ['class' => '', 'aria' => '', 'isActive' => false];
|
||||
}
|
||||
|
||||
@@ -17,6 +19,12 @@ $helpdeskNavItems = [
|
||||
'active' => $customersActive,
|
||||
'visible' => true,
|
||||
],
|
||||
[
|
||||
'label' => t('Team'),
|
||||
'path' => 'helpdesk/team',
|
||||
'active' => $teamActive,
|
||||
'visible' => $canViewTeam,
|
||||
],
|
||||
[
|
||||
'label' => t('Settings'),
|
||||
'path' => 'helpdesk/settings',
|
||||
|
||||
Reference in New Issue
Block a user