| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- <?php
- namespace App\Providers;
- use App\Models\SparePartOrder;
- use App\Observers\SparePartOrderObserver;
- use App\Services\DiskSpaceMonitor;
- use Illuminate\Pagination\Paginator;
- use Illuminate\Support\Facades\Blade;
- use Illuminate\Support\Facades\URL;
- use Illuminate\Support\Facades\View;
- use Illuminate\Support\ServiceProvider;
- class AppServiceProvider extends ServiceProvider
- {
- /**
- * Register any application services.
- */
- public function register(): void
- {
- //
- }
- /**
- * Bootstrap any application services.
- */
- public function boot(): void
- {
- Paginator::useBootstrapFive();
- if(config('app.force_https')) {
- URL::forceScheme('https');
- }
- Blade::if('role', fn($roles) => hasRole($roles));
- Blade::if('permission', fn($permission) => hasPermission($permission));
- Blade::if('anypermission', fn($permissions) => hasAnyPermission($permissions));
- Blade::if('fieldView', fn($module, $field, $entity = null) => canViewField($module, $field, $entity));
- Blade::if('fieldUpdate', fn($module, $field, $entity = null) => canUpdateField($module, $field, $entity));
- // Регистрация Observer для автоматической обработки дефицитов
- SparePartOrder::observe(SparePartOrderObserver::class);
- View::composer('layouts.app', function ($view): void {
- $diskSpaceMonitor = app(DiskSpaceMonitor::class);
- $view->with('diskSpaceStatus', $diskSpaceMonitor->status());
- $view->with('diskSpaceMonitor', $diskSpaceMonitor);
- });
- }
- }
|