File: /home/eslinced-103/brise-edu.or.kr/AmuzPackages/Cms2/NovaMainMenu.php
<?php
namespace AmuzPackages\Cms2;
use App\Amuz\NovaTools\NovaMenuInterface;
use App\Nova\Central\Admin;
use App\Nova\Central\Domain;
use App\Nova\Central\SubscriptionCancelation;
use App\Nova\Tenant\Post;
use Illuminate\Http\Request;
use Laravel\Nova\Menu\Menu;
use Laravel\Nova\Menu\MenuGroup;
use Laravel\Nova\Menu\MenuItem;
use Laravel\Nova\Menu\MenuSection;
use Vyuldashev\NovaPermission\NovaPermissionTool;
class NovaMainMenu implements NovaMenuInterface {
function makeCentralNovaMainMenu(Request $request, Menu $menu, NovaPermissionTool $permissionTool): void
{
$menu->append($this->getPagesMenu());
$menu->append(MenuSection::make(__('User & Roles'), [
MenuGroup::make(__('User'), [
MenuItem::resource(Admin::class),
MenuItem::resource(config('amuz.central_user_resource')),
]),
MenuGroup::make(__('Roles & Permissions'), [
MenuItem::resource($permissionTool->roleResource)->canSee(function ($request) {
return $request->user()->hasRole('SuperAdmin');
}),
MenuItem::resource($permissionTool->permissionResource)->canSee(function ($request) {
return $request->user()->hasRole('SuperAdmin');
}),
]),
])->icon('user')->collapsedByDefault());
if(config('amuz.use_multi_site',false) === true){
$menu->prepend(MenuSection::make(__('Multi-Site'), [
MenuGroup::make(__('Tenants'), [
MenuItem::resource(config('amuz.tenant_resource')),
MenuItem::resource(Domain::class),
]),
MenuGroup::make(__('Subscriptions'), [
MenuItem::resource(SubscriptionCancelation::class),
]),
])->icon('desktop-computer')->collapsable());
}
// ->prepend(MenuItem::link('My Profile', '/resources/users/'.$request->user()->getKey()));
}
function makeTenancyNovaMainMenu(Request $request, Menu $menu, NovaPermissionTool $permissionTool): void
{
$menu->append($this->getPagesMenu());
if(config('amuz.use_tenant_preset',false) === true){
$menu->append(
MenuSection::make(__('Contents'), [
MenuItem::resource(Post::class),
])->icon('document-text')->collapsable()
);
}
$menu->append(
MenuSection::make(__('User & Roles'), [
MenuGroup::make('User', [
MenuItem::resource(config('amuz.tenant_user_resource')),
]),
MenuGroup::make(__('Roles & Permissions'), [
MenuItem::resource($permissionTool->roleResource),
MenuItem::resource($permissionTool->permissionResource),
]),
])->icon('user')->collapsable(),
);
}
private function getPagesMenu(): MenuSection
{
return MenuSection::make(__('Manage Documents'),[
MenuItem::resource(config('amuz.static_page_resource'))
])
->icon('newspaper')
->collapsable();
}
function makeAdvancedMenu(Request $request, MenuSection $advancedSection): void
{
// $advancedSection->items->prepend(MenuItem::externalLink('Naver', 'http://naver.com'));
}
}