mirror of
				https://github.com/crater-invoice/crater.git
				synced 2025-10-29 20:51:09 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			70 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace Crater\Providers;
 | |
| 
 | |
| use Illuminate\Pagination\Paginator;
 | |
| use Illuminate\Support\Facades\Schema;
 | |
| use Illuminate\Support\ServiceProvider;
 | |
| 
 | |
| class AppServiceProvider extends ServiceProvider
 | |
| {
 | |
|     /**
 | |
|      * Bootstrap any application services.
 | |
|      *
 | |
|      * @return void
 | |
|      */
 | |
|     public function boot()
 | |
|     {
 | |
|         Paginator::useBootstrapThree();
 | |
|         $this->loadJsonTranslationsFrom(resource_path('scripts/locales'));
 | |
| 
 | |
|         if (\Storage::disk('local')->has('database_created') && Schema::hasTable('abilities')) {
 | |
|             $this->addMenus();
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Register any application services.
 | |
|      *
 | |
|      * @return void
 | |
|      */
 | |
|     public function register()
 | |
|     {
 | |
|         //
 | |
|     }
 | |
| 
 | |
|     public function addMenus()
 | |
|     {
 | |
|         //main menu
 | |
|         \Menu::make('main_menu', function ($menu) {
 | |
|             foreach (config('crater.main_menu') as $data) {
 | |
|                 $this->generateMenu($menu, $data);
 | |
|             }
 | |
|         });
 | |
| 
 | |
|         //setting menu
 | |
|         \Menu::make('setting_menu', function ($menu) {
 | |
|             foreach (config('crater.setting_menu') as $data) {
 | |
|                 $this->generateMenu($menu, $data);
 | |
|             }
 | |
|         });
 | |
| 
 | |
|         \Menu::make('customer_portal_menu', function ($menu) {
 | |
|             foreach (config('crater.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']);
 | |
|     }
 | |
| }
 |