quick code clean ups
This commit is contained in:
@@ -3,19 +3,8 @@
|
||||
namespace App\Providers;
|
||||
|
||||
use App\Nova\Dashboards\Main;
|
||||
use App\Nova\Resources\Branch\Branch;
|
||||
use App\Nova\Resources\Order\Card\CardOrder;
|
||||
use App\Nova\Resources\Order\Card\CardState;
|
||||
use App\Nova\Resources\Order\Card\CardType;
|
||||
use App\Nova\Resources\Order\Card\Pin\CardPin;
|
||||
use App\Nova\Resources\Order\Card\Requisite\CardRequisite;
|
||||
use App\Nova\Resources\Order\Loan\LoanOrder;
|
||||
use App\Nova\Resources\Order\Loan\LoanPaidOffLetterOrder;
|
||||
use App\Nova\Resources\Order\Loan\LoanType;
|
||||
use App\Nova\Resources\System\Location\Province;
|
||||
use App\Nova\Resources\System\Roles\Permission;
|
||||
use App\Nova\Resources\System\Roles\Role;
|
||||
use App\Nova\User;
|
||||
use App\Repos\System\Nova\NovaMenuRepo;
|
||||
use App\Repos\System\Nova\NovaRepo;
|
||||
use Eolica\NovaLocaleSwitcher\LocaleSwitcher;
|
||||
use Illuminate\Http\Request;
|
||||
@@ -23,9 +12,7 @@ use Illuminate\Support\Facades\Gate;
|
||||
use Laravel\Nova\Events\ServingNova;
|
||||
use Laravel\Nova\Fields\Date;
|
||||
use Laravel\Nova\Menu\Menu;
|
||||
use Laravel\Nova\Menu\MenuGroup;
|
||||
use Laravel\Nova\Menu\MenuItem;
|
||||
use Laravel\Nova\Menu\MenuSection;
|
||||
use Laravel\Nova\Nova;
|
||||
use Laravel\Nova\NovaApplicationServiceProvider;
|
||||
use Spatie\BackupTool\BackupTool;
|
||||
@@ -114,56 +101,7 @@ class NovaServiceProvider extends NovaApplicationServiceProvider
|
||||
*/
|
||||
public function setupNavigation(): void
|
||||
{
|
||||
Nova::mainMenu(function (Request $request) {
|
||||
return [
|
||||
MenuSection::dashboard(Main::class)->icon('chart-bar'),
|
||||
|
||||
MenuSection::make(__('Orders'), [
|
||||
MenuGroup::make(__('Loan department'), [
|
||||
MenuItem::resource(LoanOrder::class),
|
||||
MenuItem::resource(LoanPaidOffLetterOrder::class),
|
||||
])->collapsedByDefault(),
|
||||
|
||||
MenuGroup::make(__('Card department'), [
|
||||
MenuItem::resource(CardOrder::class)->name(__('Order new card')),
|
||||
MenuItem::resource(CardRequisite::class),
|
||||
MenuItem::resource(CardPin::class),
|
||||
])->collapsedByDefault(),
|
||||
])->icon('ticket')->collapsedByDefault(),
|
||||
|
||||
MenuSection::make(__('System'), [
|
||||
MenuGroup::make(__('Users'), [
|
||||
MenuItem::resource(User::class),
|
||||
MenuItem::resource(Role::class),
|
||||
MenuItem::resource(Permission::class),
|
||||
])->collapsedByDefault(),
|
||||
|
||||
MenuGroup::make(__('Loan'), [
|
||||
MenuItem::resource(LoanType::class),
|
||||
])->collapsedByDefault(),
|
||||
|
||||
MenuGroup::make(__('Card'), [
|
||||
MenuItem::resource(CardState::class),
|
||||
MenuItem::resource(CardType::class),
|
||||
])->collapsedByDefault(),
|
||||
|
||||
MenuGroup::make(__('Location'), [
|
||||
MenuItem::resource(Province::class),
|
||||
MenuItem::resource(Branch::class),
|
||||
])->collapsedByDefault(),
|
||||
])->icon('cog')->collapsedByDefault(),
|
||||
|
||||
MenuSection::make(__('Backups'))
|
||||
->path('/backups')
|
||||
->icon('server')
|
||||
->canSee(fn () => auth()->user()->isSuperAdmin()),
|
||||
|
||||
MenuSection::make(__('Logs'))
|
||||
->path('/logs')
|
||||
->icon('document-text')
|
||||
->canSee(fn () => auth()->user()->isSuperAdmin()),
|
||||
];
|
||||
});
|
||||
Nova::mainMenu(fn (Request $request) => NovaMenuRepo::items($request));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
80
app/Repos/System/Nova/NovaMenuRepo.php
Normal file
80
app/Repos/System/Nova/NovaMenuRepo.php
Normal file
@@ -0,0 +1,80 @@
|
||||
<?php
|
||||
|
||||
namespace App\Repos\System\Nova;
|
||||
|
||||
use App\Nova\Dashboards\Main;
|
||||
use App\Nova\Resources\Branch\Branch;
|
||||
use App\Nova\Resources\Order\Card\CardOrder;
|
||||
use App\Nova\Resources\Order\Card\CardState;
|
||||
use App\Nova\Resources\Order\Card\CardType;
|
||||
use App\Nova\Resources\Order\Card\Pin\CardPin;
|
||||
use App\Nova\Resources\Order\Card\Requisite\CardRequisite;
|
||||
use App\Nova\Resources\Order\Loan\LoanOrder;
|
||||
use App\Nova\Resources\Order\Loan\LoanPaidOffLetterOrder;
|
||||
use App\Nova\Resources\Order\Loan\LoanType;
|
||||
use App\Nova\Resources\System\Location\Province;
|
||||
use App\Nova\Resources\System\Roles\Permission;
|
||||
use App\Nova\Resources\System\Roles\Role;
|
||||
use App\Nova\User;
|
||||
use Illuminate\Http\Request;
|
||||
use Laravel\Nova\Menu\MenuGroup;
|
||||
use Laravel\Nova\Menu\MenuItem;
|
||||
use Laravel\Nova\Menu\MenuSection;
|
||||
|
||||
class NovaMenuRepo
|
||||
{
|
||||
/**
|
||||
* Nova menu items
|
||||
*/
|
||||
public static function items(Request $request): array
|
||||
{
|
||||
return [
|
||||
MenuSection::dashboard(Main::class)->icon('chart-bar'),
|
||||
|
||||
MenuSection::make(__('Orders'), [
|
||||
MenuGroup::make(__('Loan department'), [
|
||||
MenuItem::resource(LoanOrder::class),
|
||||
MenuItem::resource(LoanPaidOffLetterOrder::class),
|
||||
])->collapsedByDefault(),
|
||||
|
||||
MenuGroup::make(__('Card department'), [
|
||||
MenuItem::resource(CardOrder::class)->name(__('Order new card')),
|
||||
MenuItem::resource(CardRequisite::class),
|
||||
MenuItem::resource(CardPin::class),
|
||||
])->collapsedByDefault(),
|
||||
])->icon('ticket')->collapsedByDefault(),
|
||||
|
||||
MenuSection::make(__('System'), [
|
||||
MenuGroup::make(__('Users'), [
|
||||
MenuItem::resource(User::class),
|
||||
MenuItem::resource(Role::class),
|
||||
MenuItem::resource(Permission::class),
|
||||
])->collapsedByDefault(),
|
||||
|
||||
MenuGroup::make(__('Loan'), [
|
||||
MenuItem::resource(LoanType::class),
|
||||
])->collapsedByDefault(),
|
||||
|
||||
MenuGroup::make(__('Card'), [
|
||||
MenuItem::resource(CardState::class),
|
||||
MenuItem::resource(CardType::class),
|
||||
])->collapsedByDefault(),
|
||||
|
||||
MenuGroup::make(__('Location'), [
|
||||
MenuItem::resource(Province::class),
|
||||
MenuItem::resource(Branch::class),
|
||||
])->collapsedByDefault(),
|
||||
])->icon('cog')->collapsedByDefault(),
|
||||
|
||||
MenuSection::make(__('Backups'))
|
||||
->path('/backups')
|
||||
->icon('server')
|
||||
->canSee(NovaPermissionRepo::isSuperAdmin()),
|
||||
|
||||
MenuSection::make(__('Logs'))
|
||||
->path('/logs')
|
||||
->icon('document-text')
|
||||
->canSee(NovaPermissionRepo::isSuperAdmin()),
|
||||
];
|
||||
}
|
||||
}
|
||||
33
app/Repos/System/Nova/NovaPermissionRepo.php
Normal file
33
app/Repos/System/Nova/NovaPermissionRepo.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace App\Repos\System\Nova;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
|
||||
class NovaPermissionRepo
|
||||
{
|
||||
/**
|
||||
* Check if user is me
|
||||
*/
|
||||
public static function isMe(): Closure
|
||||
{
|
||||
return fn () => Gate::allows('isMe', auth()->user());
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if user is admin
|
||||
*/
|
||||
public static function isSuperAdmin(): Closure
|
||||
{
|
||||
return fn () => Gate::allows('isSuperAdmin', auth()->user());
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if user is admin
|
||||
*/
|
||||
public static function isAdmin(): Closure
|
||||
{
|
||||
return fn () => Gate::allows('isAdmin', auth()->user());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user