fix(addressbook): register authorization policy in DI container

AddressBookAuthorizationPolicy requires PermissionService in its
constructor, so ModuleClassResolver cannot auto-instantiate it.
Register it explicitly in the container registrar so the
addressbook.view ability resolves correctly for sidebar visibility.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-26 12:47:24 +01:00
parent 570e3923b7
commit 77badcde67

View File

@@ -5,6 +5,7 @@ namespace MintyPHP\Module\AddressBook;
use MintyPHP\App\AppContainer; use MintyPHP\App\AppContainer;
use MintyPHP\App\Container\ContainerRegistrar; use MintyPHP\App\Container\ContainerRegistrar;
use MintyPHP\Module\AddressBook\Service\AddressBookService; use MintyPHP\Module\AddressBook\Service\AddressBookService;
use MintyPHP\Service\Access\PermissionService;
use MintyPHP\Service\Access\RoleService; use MintyPHP\Service\Access\RoleService;
use MintyPHP\Service\CustomField\UserCustomFieldValueService; use MintyPHP\Service\CustomField\UserCustomFieldValueService;
use MintyPHP\Service\Org\DepartmentService; use MintyPHP\Service\Org\DepartmentService;
@@ -18,6 +19,10 @@ final class AddressBookContainerRegistrar implements ContainerRegistrar
{ {
public function register(AppContainer $container): void public function register(AppContainer $container): void
{ {
$container->set(AddressBookAuthorizationPolicy::class, static fn (AppContainer $c): AddressBookAuthorizationPolicy => new AddressBookAuthorizationPolicy(
$c->get(PermissionService::class)
));
$container->set(AddressBookService::class, static fn (AppContainer $c): AddressBookService => new AddressBookService( $container->set(AddressBookService::class, static fn (AppContainer $c): AddressBookService => new AddressBookService(
$c->get(UserAccountService::class), $c->get(UserAccountService::class),
$c->get(UserAssignmentService::class), $c->get(UserAssignmentService::class),