forked from fa/breadcrumb-the-shire
Add a new "Domains" page to the helpdesk module that fetches domain data from the FS_Contract_Domains OData endpoint and enriches each domain with its contract type (PI_Header_Type) by joining with FS_Contract_Lines_Test where Type = 'Domain'. New files: - domains/index().php, index(default).phtml, filter-schema.php — list page - domains-data().php — data endpoint with PHP-side filtering/sorting - helpdesk-domains-index.js — Grid.js via initStandardListPage() Gateway additions: - listDomains() — fetch all contract domains - listDomainContractLines() — fetch domain-type contract lines for type lookup Sidebar restructured into three collapsible groups (Lookup, Monitoring, Administration) with per-group icons and color coding, matching the core admin panel pattern. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
113 lines
4.7 KiB
PHP
113 lines
4.7 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Helpdesk module manifest.
|
|
*
|
|
* Internal employee lookup for BC debtors, contacts and tickets
|
|
* via OData V4. Read-only V1 with Basic Auth (OAuth2 optional).
|
|
*/
|
|
return [
|
|
'id' => 'helpdesk',
|
|
'version' => '1.0.0',
|
|
'enabled_by_default' => false,
|
|
'load_order' => 50,
|
|
'requires' => [],
|
|
|
|
'routes' => [
|
|
['path' => 'helpdesk/search-data', 'target' => 'helpdesk/search-data'],
|
|
['path' => 'helpdesk/domains', 'target' => 'helpdesk/domains'],
|
|
['path' => 'helpdesk/domains-data', 'target' => 'helpdesk/domains-data'],
|
|
['path' => 'helpdesk/debitor/{id}', 'target' => 'helpdesk/debitor'],
|
|
['path' => 'helpdesk/ticket/{id}', 'target' => 'helpdesk/ticket'],
|
|
['path' => 'helpdesk/settings', 'target' => 'helpdesk/settings'],
|
|
['path' => 'helpdesk/settings/test-connection-data', 'target' => 'helpdesk/settings/test-connection-data'],
|
|
['path' => 'helpdesk/settings/diagnose-data', 'target' => 'helpdesk/settings/diagnose-data'],
|
|
['path' => 'helpdesk/debitor-support-dashboard-data', 'target' => 'helpdesk/debitor-support-dashboard-data'],
|
|
['path' => 'helpdesk/debitor-overview-data', 'target' => 'helpdesk/debitor-overview-data'],
|
|
['path' => 'helpdesk/debitor-summary-data', 'target' => 'helpdesk/debitor-summary-data'],
|
|
['path' => 'helpdesk/debitor-contacts-data', 'target' => 'helpdesk/debitor-contacts-data'],
|
|
['path' => 'helpdesk/debitor-tickets-data', 'target' => 'helpdesk/debitor-tickets-data'],
|
|
['path' => 'helpdesk/debitor-ticket-categories-data', 'target' => 'helpdesk/debitor-ticket-categories-data'],
|
|
['path' => 'helpdesk/ticket-log-data', 'target' => 'helpdesk/ticket-log-data'],
|
|
['path' => 'helpdesk/ticket-communication-data', 'target' => 'helpdesk/ticket-communication-data'],
|
|
['path' => 'helpdesk/ticket-file-data', 'target' => 'helpdesk/ticket-file-data'],
|
|
['path' => 'helpdesk/debitor-communication-data', 'target' => 'helpdesk/debitor-communication-data'],
|
|
['path' => 'helpdesk/debitor-sales-dashboard-data', 'target' => 'helpdesk/debitor-sales-dashboard-data'],
|
|
['path' => 'helpdesk/debitor-meetings-data', 'target' => 'helpdesk/debitor-meetings-data'],
|
|
['path' => 'helpdesk/debitor-controlling-dashboard-data', 'target' => 'helpdesk/debitor-controlling-dashboard-data'],
|
|
['path' => 'helpdesk/team', 'target' => 'helpdesk/team'],
|
|
['path' => 'helpdesk/team-workload-data', 'target' => 'helpdesk/team-workload-data'],
|
|
['path' => 'helpdesk/risk-radar', 'target' => 'helpdesk/risk-radar'],
|
|
['path' => 'helpdesk/risk-radar-data', 'target' => 'helpdesk/risk-radar-data'],
|
|
],
|
|
'public_paths' => [],
|
|
|
|
'container_registrars' => [
|
|
\MintyPHP\Module\Helpdesk\HelpdeskContainerRegistrar::class,
|
|
],
|
|
|
|
'ui_slots' => [
|
|
'aside.tab_panel' => [
|
|
[
|
|
'key' => 'helpdesk',
|
|
'label' => 'Helpdesk',
|
|
'icon' => 'bi-headset',
|
|
'icon_fill' => 'bi-headset',
|
|
'href' => '',
|
|
'permission' => 'helpdesk.access',
|
|
'panel_template' => 'templates/aside-helpdesk-panel.phtml',
|
|
'details_storage' => 'aside-helpdesk-sections-v1',
|
|
'details_open_active' => true,
|
|
'order' => 800,
|
|
],
|
|
],
|
|
],
|
|
|
|
'authorization_policies' => [
|
|
\MintyPHP\Module\Helpdesk\HelpdeskAuthorizationPolicy::class,
|
|
],
|
|
|
|
'permissions' => [
|
|
[
|
|
'key' => 'helpdesk.access',
|
|
'description' => 'Access helpdesk debtor search and detail views',
|
|
'active' => true,
|
|
'is_system' => true,
|
|
],
|
|
[
|
|
'key' => 'helpdesk.settings.manage',
|
|
'description' => 'Manage helpdesk BC connection settings',
|
|
'active' => true,
|
|
'is_system' => true,
|
|
],
|
|
[
|
|
'key' => 'helpdesk.team-workload.view',
|
|
'description' => 'View helpdesk team workload dashboard',
|
|
'active' => true,
|
|
'is_system' => true,
|
|
],
|
|
[
|
|
'key' => 'helpdesk.risk-radar.view',
|
|
'description' => 'View helpdesk risk radar dashboard',
|
|
'active' => true,
|
|
'is_system' => true,
|
|
],
|
|
],
|
|
|
|
'search_resources' => [],
|
|
'asset_groups' => [
|
|
'helpdesk' => [
|
|
'modules/helpdesk/css/helpdesk.css',
|
|
],
|
|
],
|
|
'scheduler_jobs' => [],
|
|
'layout_context_providers' => [
|
|
\MintyPHP\Module\Helpdesk\Providers\HelpdeskLayoutProvider::class,
|
|
],
|
|
'session_providers' => [],
|
|
'event_listeners' => [],
|
|
'deactivation_handler' => null,
|
|
'migrations_path' => 'migrations',
|
|
'i18n_path' => 'i18n',
|
|
];
|