registerTranslations(); $this->registerConfig(); $this->registerViews(); $this->registerFactories(); $this->loadMigrationsFrom(__DIR__.'/../Database/Migrations'); $this->registerScheduleCommands(); $this->registerIranLocalization(); //TODO:Remove sidebar view::composer(['repair::layouts.partials.sidebar', 'repair::layouts.partials.invoice_layout_settings', 'repair::layouts.partials.pos_header', 'repair::layouts.partials.header', ], function ($view) { if (auth()->user()->can('superadmin')) { $__is_repair_enabled = true; } else { $business_id = session()->get('user.business_id'); $module_util = new ModuleUtil(); $__is_repair_enabled = (bool) $module_util->hasThePermissionInSubscription($business_id, 'repair_module'); } $view->with(compact('__is_repair_enabled')); }); } /** * Register the service provider. * * @return void */ public function register() { $this->app->register(RouteServiceProvider::class); $this->registerCommands(); } /** * Register config. * * @return void */ protected function registerConfig() { $this->publishes([ __DIR__.'/../Config/config.php' => config_path('repair.php'), ], 'config'); $this->mergeConfigFrom( __DIR__.'/../Config/config.php', 'repair' ); } /** * Register views. * * @return void */ public function registerViews() { $viewPath = resource_path('views/modules/repair'); $sourcePath = __DIR__.'/../Resources/views'; $this->publishes([ $sourcePath => $viewPath, ], 'views'); $this->loadViewsFrom(array_merge(array_map(function ($path) { return $path.'/modules/repair'; }, config('view.paths')), [$sourcePath]), 'repair'); } /** * Register translations. * * @return void */ public function registerTranslations() { $langPath = resource_path('lang/modules/repair'); if (is_dir($langPath)) { $this->loadTranslationsFrom($langPath, 'repair'); } else { $this->loadTranslationsFrom(__DIR__.'/../Resources/lang', 'repair'); } } /** * Register an additional directory of factories. * * @return void */ public function registerFactories() { if (! app()->environment('production') && $this->app->runningInConsole()) { app(Factory::class)->load(__DIR__.'/../Database/factories'); } } /** * Get the services provided by the provider. * * @return array */ public function provides() { return []; } /** * Register commands. * * @return void */ protected function registerCommands() { } public function registerScheduleCommands() { } /** * Ensure Persian locale metadata exists for RTL rendering & language picker. * * @return void */ protected function registerIranLocalization(): void { $langs = config('constants.langs', []); if (! is_array($langs)) { $langs = []; } if (! array_key_exists('fa', $langs)) { $langs['fa'] = [ 'full_name' => 'فارسی (ایران)', 'short_name' => 'fa', ]; } $rtlLangs = config('constants.langs_rtl', []); if (! is_array($rtlLangs)) { $rtlLangs = []; } if (! in_array('fa', $rtlLangs)) { $rtlLangs[] = 'fa'; } config([ 'constants.langs' => $langs, 'constants.langs_rtl' => $rtlLangs, ]); } }