feat(helpdesk): align module with core list/drawer standards

- add helpdesk module pages, services, settings and tests

- standardize debtor list on drawer/grid contracts and robust filter drawer behavior

- add helpdesk aside panel navigation and settings visibility provider

- switch primary list slug to helpdesk/debitor and remove helpdesk/search compatibility

- include required core contract updates for list contracts and detail/drawer integration
This commit is contained in:
2026-04-02 17:48:27 +02:00
parent 5d07236758
commit a0d7670dd7
55 changed files with 5977 additions and 11 deletions

View File

@@ -44,6 +44,7 @@ trait ListContractFiles
{
return [
'modules/addressbook/pages/address-book/data().php',
'modules/helpdesk/pages/helpdesk/search-data().php',
'pages/search/data().php',
'pages/admin/users/data().php',
'pages/admin/tenants/data().php',
@@ -67,6 +68,7 @@ trait ListContractFiles
{
return [
'modules/addressbook/pages/address-book/data().php' => "gridParseFiltersFromSchemaFile(__DIR__ . '/filter-schema.php'",
'modules/helpdesk/pages/helpdesk/search-data().php' => "gridParseFiltersFromSchemaFile(__DIR__ . '/filter-schema.php'",
'pages/search/data().php' => "gridParseFiltersFromSchemaFile(__DIR__ . '/filter-schema.php'",
'pages/admin/users/data().php' => "gridParseFiltersFromSchemaFile(__DIR__ . '/filter-schema.php'",
'pages/admin/tenants/data().php' => "gridParseFiltersFromSchemaFile(__DIR__ . '/filter-schema.php'",
@@ -90,6 +92,7 @@ trait ListContractFiles
{
return [
'modules/addressbook/pages/address-book/index(default).phtml',
'modules/helpdesk/pages/helpdesk/search(default).phtml',
'pages/search/index(default).phtml',
'pages/admin/users/index(default).phtml',
'pages/admin/tenants/index(default).phtml',
@@ -112,6 +115,7 @@ trait ListContractFiles
{
return [
'modules/addressbook/pages/address-book/index().php',
'modules/helpdesk/pages/helpdesk/search().php',
'pages/search/index().php',
'pages/admin/users/index().php',
'pages/admin/tenants/index().php',
@@ -134,6 +138,7 @@ trait ListContractFiles
{
return [
'modules/addressbook/pages/address-book/index(default).phtml',
'modules/helpdesk/pages/helpdesk/search(default).phtml',
'pages/admin/users/index(default).phtml',
'pages/admin/tenants/index(default).phtml',
'pages/admin/departments/index(default).phtml',

View File

@@ -12,7 +12,7 @@ class ListDataEndpointContractTest extends TestCase
public function testDataEndpointsRequireGetGuard(): void
{
$files = $this->hardCutGridEndpointFiles();
$this->assertCount(14, $files, 'Unexpected number of hard-cut grid data endpoints.');
$this->assertCount(15, $files, 'Unexpected number of hard-cut grid data endpoints.');
$this->assertNotContains('pages/admin/search/data().php', $files);
foreach ($files as $file) {