芝麻web文件管理V1.00
编辑当前文件:/home/pulsehostuk9/public_html/invoicer.pulsehost.co.uk/app/Providers/AppServiceProvider.php
addMenus(); } Gate::policy(Role::class, RolePolicy::class); $this->bootAuth(); $this->bootBroadcast(); } /** * Register any application services. */ public function register(): void { BouncerModels::scope(new DefaultScope); } public function addMenus() { //main menu \Menu::make('main_menu', function ($menu) { foreach (config('invoiceshelf.main_menu') as $data) { $this->generateMenu($menu, $data); } }); //setting menu \Menu::make('setting_menu', function ($menu) { foreach (config('invoiceshelf.setting_menu') as $data) { $this->generateMenu($menu, $data); } }); \Menu::make('customer_portal_menu', function ($menu) { foreach (config('invoiceshelf.customer_menu') as $data) { $this->generateMenu($menu, $data); } }); } public function generateMenu($menu, $data) { $menu->add($data['title'], $data['link']) ->data('icon', $data['icon']) ->data('name', $data['name']) ->data('owner_only', $data['owner_only']) ->data('ability', $data['ability']) ->data('model', $data['model']) ->data('group', $data['group']); } public function bootAuth() { Gate::define('create company', [CompanyPolicy::class, 'create']); Gate::define('transfer company ownership', [CompanyPolicy::class, 'transferOwnership']); Gate::define('delete company', [CompanyPolicy::class, 'delete']); Gate::define('manage modules', [ModulesPolicy::class, 'manageModules']); Gate::define('manage settings', [SettingsPolicy::class, 'manageSettings']); Gate::define('manage company', [SettingsPolicy::class, 'manageCompany']); Gate::define('manage backups', [SettingsPolicy::class, 'manageBackups']); Gate::define('manage file disk', [SettingsPolicy::class, 'manageFileDisk']); Gate::define('manage email config', [SettingsPolicy::class, 'manageEmailConfig']); Gate::define('manage notes', [NotePolicy::class, 'manageNotes']); Gate::define('view notes', [NotePolicy::class, 'viewNotes']); Gate::define('send invoice', [InvoicePolicy::class, 'send']); Gate::define('send estimate', [EstimatePolicy::class, 'send']); Gate::define('send payment', [PaymentPolicy::class, 'send']); Gate::define('delete multiple items', [ItemPolicy::class, 'deleteMultiple']); Gate::define('delete multiple customers', [CustomerPolicy::class, 'deleteMultiple']); Gate::define('delete multiple users', [UserPolicy::class, 'deleteMultiple']); Gate::define('delete multiple invoices', [InvoicePolicy::class, 'deleteMultiple']); Gate::define('delete multiple estimates', [EstimatePolicy::class, 'deleteMultiple']); Gate::define('delete multiple expenses', [ExpensePolicy::class, 'deleteMultiple']); Gate::define('delete multiple payments', [PaymentPolicy::class, 'deleteMultiple']); Gate::define('delete multiple recurring invoices', [RecurringInvoicePolicy::class, 'deleteMultiple']); Gate::define('view dashboard', [DashboardPolicy::class, 'view']); Gate::define('view report', [ReportPolicy::class, 'viewReport']); Gate::define('owner only', [OwnerPolicy::class, 'managedByOwner']); } public function bootBroadcast() { Broadcast::routes(['middleware' => 'api.auth']); } }