![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/job-board.corals.io/Corals/modules/Reservation/ |
<?php namespace Corals\Modules\Reservation; use Corals\Modules\Reservation\Notifications\ReservationCancelledNotification; use Corals\Modules\Reservation\Notifications\ReservationConfirmedNotification; use Corals\Modules\Reservation\Facades\ServiceSchedule; use Corals\Modules\Reservation\Facades\RatesFacade; use Corals\Modules\Reservation\Facades\ReservationFacade; use Corals\Modules\Reservation\Models\Reservation; use Corals\Modules\Reservation\Models\Service; use Corals\Modules\Reservation\Providers\ReservationAuthServiceProvider; use Corals\Modules\Reservation\Providers\ReservationObserverServiceProvider; use Corals\Modules\Reservation\Providers\ReservationRouteServiceProvider; use Corals\Modules\Reservation\Widgets\DailyReservationsWidget; use Corals\Modules\Reservation\Widgets\ThisWeekReservationsByStatusWidget; use Corals\Modules\Reservation\Widgets\TopServicesCategoriesWidget; use Corals\Settings\Facades\Settings; use Corals\User\Communication\Facades\CoralsNotification; use Illuminate\Database\Eloquent\Relations\Relation; use Illuminate\Foundation\AliasLoader; use Illuminate\Support\ServiceProvider; class ReservationServiceProvider extends ServiceProvider { protected $defer = true; /** * Bootstrap the application events. * * @return void */ public function boot() { // Load view $this->loadViewsFrom(__DIR__ . '/resources/views', 'Reservation'); // Load translation $this->loadTranslationsFrom(__DIR__ . '/resources/lang', 'Reservation'); // Load migrations // $this->loadMigrationsFrom(__DIR__ . '/database/migrations'); $this->registerMorphMaps(); $this->registerCustomFieldsModels(); $this->registerWidgets(); $this->addEvents(); } /** * Register the service provider. * * @return void */ public function register() { $this->mergeConfigFrom(__DIR__ . '/config/reservation.php', 'reservation'); $this->app->register(ReservationRouteServiceProvider::class); $this->app->register(ReservationAuthServiceProvider::class); $this->app->register(ReservationObserverServiceProvider::class); $this->app->booted(function () { $loader = AliasLoader::getInstance(); $loader->alias('ReservationFacade', ReservationFacade::class); $loader->alias('RatesFacade', RatesFacade::class); $loader->alias('ServiceSchedule', ServiceSchedule::class); }); } protected function registerCustomFieldsModels() { Settings::addCustomFieldModel(getMorphAlias(Reservation::class)); Settings::addCustomFieldModel(getMorphAlias(Service::class)); } protected function registerMorphMaps() { Relation::morphMap([ 'Reservation' => Reservation::class, 'ResService' => Service::class, ]); } /** * */ protected function addEvents(): void { CoralsNotification::addEvent( 'notifications.reservation.reservation_confirmed', 'Reservation Confirmed', ReservationConfirmedNotification::class ); CoralsNotification::addEvent( 'notifications.reservation.reservation_cancelled', 'Reservation Cancelled', ReservationCancelledNotification::class ); } public function registerWidgets() { \Shortcode::addWidget('top_services_categories', TopServicesCategoriesWidget::class); \Shortcode::addWidget('daily_reservations', DailyReservationsWidget::class); \Shortcode::addWidget('this_week_reservations_by_status', ThisWeekReservationsByStatusWidget::class); } }