diff --git a/modules/helpdesk/i18n/default_de.json b/modules/helpdesk/i18n/default_de.json index a3f28f1..347d4fd 100644 --- a/modules/helpdesk/i18n/default_de.json +++ b/modules/helpdesk/i18n/default_de.json @@ -37,6 +37,7 @@ "No tickets found": "Keine Tickets gefunden", "No tickets are linked to this debtor in Business Central.": "Diesem Kunden sind in Business Central keine Tickets zugeordnet.", "Ticket No.": "Ticket-Nr.", + "Dashboard": "Dashboard", "Description": "Beschreibung", "Status": "Status", "Category": "Kategorie", diff --git a/modules/helpdesk/i18n/default_en.json b/modules/helpdesk/i18n/default_en.json index cd576e5..7884ad2 100644 --- a/modules/helpdesk/i18n/default_en.json +++ b/modules/helpdesk/i18n/default_en.json @@ -37,6 +37,7 @@ "No tickets found": "No tickets found", "No tickets are linked to this debtor in Business Central.": "No tickets are linked to this debtor in Business Central.", "Ticket No.": "Ticket No.", + "Dashboard": "Dashboard", "Description": "Description", "Status": "Status", "Category": "Category", diff --git a/modules/helpdesk/lib/Module/Helpdesk/Providers/HelpdeskLayoutProvider.php b/modules/helpdesk/lib/Module/Helpdesk/Providers/HelpdeskLayoutProvider.php index f976306..bc49d3a 100644 --- a/modules/helpdesk/lib/Module/Helpdesk/Providers/HelpdeskLayoutProvider.php +++ b/modules/helpdesk/lib/Module/Helpdesk/Providers/HelpdeskLayoutProvider.php @@ -38,6 +38,7 @@ final class HelpdeskLayoutProvider implements LayoutContextProvider } return ['helpdesk.nav' => [ + 'can_view_dashboard' => true, 'can_manage_settings' => $canManageSettings, 'can_view_team' => $canViewTeam, 'can_view_risk_radar' => $canViewRiskRadar, diff --git a/modules/helpdesk/module.php b/modules/helpdesk/module.php index 81ef5ba..be90fcd 100644 --- a/modules/helpdesk/module.php +++ b/modules/helpdesk/module.php @@ -14,6 +14,7 @@ return [ 'requires' => [], 'routes' => [ + ['path' => 'helpdesk/dashboard', 'target' => 'helpdesk/dashboard'], ['path' => 'helpdesk/search-data', 'target' => 'helpdesk/search-data'], ['path' => 'helpdesk/domains', 'target' => 'helpdesk/domains'], ['path' => 'helpdesk/domains-data', 'target' => 'helpdesk/domains-data'], diff --git a/modules/helpdesk/pages/helpdesk/dashboard/index().php b/modules/helpdesk/pages/helpdesk/dashboard/index().php new file mode 100644 index 0000000..ef35908 --- /dev/null +++ b/modules/helpdesk/pages/helpdesk/dashboard/index().php @@ -0,0 +1,16 @@ + t('Home'), 'path' => 'admin'], + ['label' => t('Helpdesk'), 'path' => 'helpdesk'], + ['label' => t('Dashboard')], +]; diff --git a/modules/helpdesk/pages/helpdesk/dashboard/index(default).phtml b/modules/helpdesk/pages/helpdesk/dashboard/index(default).phtml new file mode 100644 index 0000000..124f7a2 --- /dev/null +++ b/modules/helpdesk/pages/helpdesk/dashboard/index(default).phtml @@ -0,0 +1,8 @@ +
+
+ t('Dashboard')]; + require templatePath('partials/app-details-titlebar.phtml'); + ?> +
+
diff --git a/modules/helpdesk/templates/aside-helpdesk-panel.phtml b/modules/helpdesk/templates/aside-helpdesk-panel.phtml index 84f0502..b5cc5df 100644 --- a/modules/helpdesk/templates/aside-helpdesk-panel.phtml +++ b/modules/helpdesk/templates/aside-helpdesk-panel.phtml @@ -2,6 +2,7 @@ $layoutNav = is_array($layoutNav ?? null) ? $layoutNav : []; $helpdeskNav = is_array($layoutNav['helpdesk.nav'] ?? null) ? $layoutNav['helpdesk.nav'] : []; +$canViewDashboard = !empty($helpdeskNav['can_view_dashboard']); $canManageSettings = !empty($helpdeskNav['can_manage_settings']); $canViewTeam = !empty($helpdeskNav['can_view_team']); $canViewRiskRadar = !empty($helpdeskNav['can_view_risk_radar']); @@ -9,6 +10,7 @@ $canManageSoftwareProducts = !empty($helpdeskNav['can_manage_software_products'] $canViewHandovers = !empty($helpdeskNav['can_view_handovers']); $canViewUpdates = !empty($helpdeskNav['can_view_updates']); +$dashboardActive = navActive('helpdesk/dashboard', true); $settingsActive = navActive('helpdesk/settings', true); $teamActive = navActive('helpdesk/team', true); $riskRadarActive = navActive('helpdesk/risk-radar', true); @@ -17,11 +19,24 @@ $softwareProductsActive = navActive('helpdesk/software-products', true); $handoversActive = navActive('helpdesk/handovers', true); $updatesActive = navActive('helpdesk/updates', true); $customersActive = navActive('helpdesk', true); -if ($settingsActive['isActive'] || $teamActive['isActive'] || $riskRadarActive['isActive'] || $domainsActive['isActive'] || $softwareProductsActive['isActive'] || $handoversActive['isActive'] || $updatesActive['isActive']) { +if ($dashboardActive['isActive'] || $settingsActive['isActive'] || $teamActive['isActive'] || $riskRadarActive['isActive'] || $domainsActive['isActive'] || $softwareProductsActive['isActive'] || $handoversActive['isActive'] || $updatesActive['isActive']) { $customersActive = ['class' => '', 'aria' => '', 'isActive' => false]; } $helpdeskNavGroups = [ + [ + 'key' => 'helpdesk-overview', + 'label' => t('Overview'), + 'icon' => 'bi-speedometer2', + 'items' => [ + [ + 'label' => t('Dashboard'), + 'path' => 'helpdesk/dashboard', + 'active' => $dashboardActive, + 'visible' => $canViewDashboard, + ], + ], + ], [ 'key' => 'helpdesk-lookup', 'label' => t('Lookup'),