feat(helpdesk): add software updates tracking with BC ticket integration

New Updates page in the Helpdesk module that fetches UPDATE/UPDATE-HF tickets
from Business Central (PBI_LV_Tickets) and allows assigning a domain and Gitea
link via a dialog. Ticket status (from BC) and assignment status (local) are
shown as separate columns with filters for both plus type and free-text search.
Assigned updates also appear on the domain detail page. Includes session-cached
BC fetch with refresh button, admin permissions, migration, and 16 unit tests.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-16 13:21:40 +02:00
parent 693d33a0c8
commit da0abc824a
23 changed files with 1971 additions and 6 deletions

View File

@@ -25,6 +25,7 @@ final class HelpdeskLayoutProvider implements LayoutContextProvider
$canViewHandovers = $authorizationService->authorize('helpdesk.handovers.view', $actorContext)->isAllowed();
$canCreateHandovers = $authorizationService->authorize('helpdesk.handovers.create', $actorContext)->isAllowed();
$canManageHandovers = $authorizationService->authorize('helpdesk.handovers.manage', $actorContext)->isAllowed();
$canViewUpdates = $authorizationService->authorize('helpdesk.updates.view', $actorContext)->isAllowed();
} catch (\Throwable) {
$canManageSettings = false;
$canViewTeam = false;
@@ -33,6 +34,7 @@ final class HelpdeskLayoutProvider implements LayoutContextProvider
$canViewHandovers = false;
$canCreateHandovers = false;
$canManageHandovers = false;
$canViewUpdates = false;
}
return ['helpdesk.nav' => [
@@ -43,6 +45,7 @@ final class HelpdeskLayoutProvider implements LayoutContextProvider
'can_view_handovers' => $canViewHandovers,
'can_create_handovers' => $canCreateHandovers,
'can_manage_handovers' => $canManageHandovers,
'can_view_updates' => $canViewUpdates,
]];
}
}