Fix AdminMenuProvider interface compatibility

Add HasMenuPermissions trait to classes implementing AdminMenuProvider:
- Website\Hub\Boot
- Core\Mod\Hub\Boot

The trait provides default implementations for the new menuPermissions()
and canViewMenu() methods added to the AdminMenuProvider interface.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Snider 2026-01-23 11:39:28 +00:00
parent 2d348f4c2d
commit febfeb5fdb
2 changed files with 6 additions and 0 deletions

View file

@ -6,12 +6,15 @@ namespace Core\Mod\Hub;
use Core\Events\AdminPanelBooting; use Core\Events\AdminPanelBooting;
use Core\Front\Admin\AdminMenuRegistry; use Core\Front\Admin\AdminMenuRegistry;
use Core\Front\Admin\Concerns\HasMenuPermissions;
use Core\Front\Admin\Contracts\AdminMenuProvider; use Core\Front\Admin\Contracts\AdminMenuProvider;
use Illuminate\Support\ServiceProvider; use Illuminate\Support\ServiceProvider;
use Core\Mod\Tenant\Services\WorkspaceService; use Core\Mod\Tenant\Services\WorkspaceService;
class Boot extends ServiceProvider implements AdminMenuProvider class Boot extends ServiceProvider implements AdminMenuProvider
{ {
use HasMenuPermissions;
protected string $moduleName = 'hub'; protected string $moduleName = 'hub';
/** /**

View file

@ -7,6 +7,7 @@ namespace Website\Hub;
use Core\Events\DomainResolving; use Core\Events\DomainResolving;
use Core\Events\AdminPanelBooting; use Core\Events\AdminPanelBooting;
use Core\Front\Admin\AdminMenuRegistry; use Core\Front\Admin\AdminMenuRegistry;
use Core\Front\Admin\Concerns\HasMenuPermissions;
use Core\Front\Admin\Contracts\AdminMenuProvider; use Core\Front\Admin\Contracts\AdminMenuProvider;
use Core\Website\DomainResolver; use Core\Website\DomainResolver;
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
@ -20,6 +21,8 @@ use Illuminate\Support\ServiceProvider;
*/ */
class Boot extends ServiceProvider implements AdminMenuProvider class Boot extends ServiceProvider implements AdminMenuProvider
{ {
use HasMenuPermissions;
/** /**
* Domain patterns this website responds to. * Domain patterns this website responds to.
* Listed separately so DomainResolver can expand them. * Listed separately so DomainResolver can expand them.