Files
online.tbbank.gov.tm-larave…/app/Repos/System/Nova/NovaMenuRepo.php
2025-03-26 14:09:37 +05:00

124 lines
4.9 KiB
PHP

<?php
namespace App\Repos\System\Nova;
use App\Modules\SberPaymentOrder\Nova\Resources\NovaSberPaymentOrder;
use App\Modules\TuitionPaymentOrder\Nova\Resources\NovaTuitionPaymentOrder;
use App\Modules\VisaMasterPaymentOrder\Nova\Resources\NovaVisaMasterPaymentOrder;
use App\Nova\Dashboards\Main;
use App\Nova\Resources\Branch\Branch;
use App\Nova\Resources\CurrencyRate;
use App\Nova\Resources\NovaVisaMasterSetting;
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\LoanOrderMobile;
use App\Nova\Resources\Order\Loan\LoanPaidOffLetterOrder;
use App\Nova\Resources\Order\Loan\LoanType;
use App\Nova\Resources\Order\Loan\Remaining\NovaLoanRemainingOrder;
use App\Nova\Resources\Order\Loan\RequiredDocs\LoanOrderRequiredDocs;
use App\Nova\Resources\Payment\OnlinePaymentHistoryResource;
use App\Nova\Resources\System\Locale\LocaleManagerResource;
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\Nova\User\Client;
use App\Nova\User\Operator;
use Illuminate\Http\Request;
use Laravel\Nova\Menu\MenuGroup;
use Laravel\Nova\Menu\MenuItem;
use Laravel\Nova\Menu\MenuSection;
class NovaMenuRepo
{
/**
* Nova menu items
*
* @return array<int, \Laravel\Nova\Menu\MenuSection>
*/
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(LoanOrderMobile::class)
->name(__('Loan order').' (Mobile)'),
MenuItem::resource(NovaLoanRemainingOrder::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(),
MenuGroup::make(__('International payments'), [
MenuItem::resource(NovaVisaMasterPaymentOrder::class),
MenuItem::resource(NovaSberPaymentOrder::class),
// MenuItem::resource(NovaTuitionPaymentOrder::class),
])->collapsedByDefault(),
])->icon('ticket')->collapsedByDefault(),
MenuSection::make(__('Users'), [
MenuItem::resource(Operator::class),
MenuItem::resource(Client::class),
MenuItem::resource(User::class)->name(__('All users')),
])->icon('user-group'),
MenuSection::make(__('System'), [
MenuGroup::make(__('Users'), [
MenuItem::resource(Role::class),
MenuItem::resource(Permission::class),
])->collapsedByDefault(),
MenuGroup::make(__('Loan'), [
MenuItem::resource(LoanType::class),
MenuItem::resource(LoanOrderRequiredDocs::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(),
MenuGroup::make(__('Currencies'), [
MenuItem::resource(CurrencyRate::class),
MenuItem::resource(NovaVisaMasterSetting::class),
])->collapsedByDefault(),
MenuGroup::make(__('Locale'), [
MenuItem::resource(LocaleManagerResource::class),
])->collapsedByDefault(),
])->icon('cog')->collapsedByDefault()->canSee(NovaPermissionRepo::isAdmin()),
MenuSection::resource(OnlinePaymentHistoryResource::class)
->icon('credit-card')
->canSee(NovaPermissionRepo::isAdmin()),
MenuSection::make(__('Backups'))
->path('/backups')
->icon('server')
->canSee(NovaPermissionRepo::isSuperAdmin()),
MenuSection::make(__('Logs'))
->path('/logs')
->icon('document-text')
->canSee(NovaPermissionRepo::isSuperAdmin()),
];
}
}