diff --git a/.env b/.env index a5f8576..9928224 100755 --- a/.env +++ b/.env @@ -6,7 +6,7 @@ APP_URL=https://mein.sterntours.test APP_OLD_URL=https://cms-stern-tours.test #APP_URL_V2=https://v2.stern-tours.de -APP_URL_V2=https://v2-sterntours.test +APP_URL_V2=https://v2.sterntours.test #APP_URL_STERN=https://www.sterntours.de APP_URL_STERN=https://sterntours.test diff --git a/app/Http/Controllers/CustomerFileController.php b/app/Http/Controllers/CustomerFileController.php index fc5172b..e7af18c 100755 --- a/app/Http/Controllers/CustomerFileController.php +++ b/app/Http/Controllers/CustomerFileController.php @@ -3,24 +3,25 @@ namespace App\Http\Controllers; -use App\Models\BookingApplication; -use App\Models\BookingConfirmation; -use App\Models\BookingStorno; -use App\Models\BookingVoucher; -use App\Models\Coupon; -use App\Models\FewoLodging; -use App\Models\InsuranceCertificate; -use App\Models\TravelInsurance; -use App\Repositories\CustomerFileRepository; -use App\Services\BookingFewo; -use App\Services\CreateCouponPDF; -use App\Services\CreatePDF; -use App\Services\Util; use Carbon; -use Illuminate\Database\Eloquent\Collection; -use Illuminate\Support\Facades\URL; use Request; use Response; +use App\Models\Coupon; +use App\Services\Util; +use App\Models\FewoLodging; +use App\Services\CreatePDF; +use App\Models\BookingStorno; +use App\Services\BookingFewo; +use App\Models\BookingVoucher; +use App\Models\TravelInsurance; +use App\Services\CreateCouponPDF; +use App\Models\BookingApplication; +use App\Models\BookingConfirmation; +use Illuminate\Support\Facades\URL; +use App\Models\BookingVoucherAgency; +use App\Models\InsuranceCertificate; +use App\Repositories\CustomerFileRepository; +use Illuminate\Database\Eloquent\Collection; class CustomerFileController extends Controller { @@ -75,9 +76,16 @@ class CustomerFileController extends Controller } break; case 'booking_voucher': - if($booking_vouchers = BookingVoucher::find($id)){ - $filename = "Voucher-".$booking_vouchers->booking->getBookingNumber().".pdf"; - $file = base64_decode($booking_vouchers->binary_data); + if($booking_voucher = BookingVoucher::find($id)){ + $filename = "Voucher-".$booking_voucher->booking->getBookingNumber().".pdf"; + $file = base64_decode($booking_voucher->binary_data); + } + break; + + case 'booking_voucher_agency': + if($booking_voucher_agency = BookingVoucherAgency::find($id)){ + $filename = "Voucher-Agentur-".$booking_voucher_agency->booking->getBookingNumber().".pdf"; + $file = base64_decode($booking_voucher_agency->binary_data); } break; case 'insurance_certificate': diff --git a/app/Http/Controllers/Settings/TravelAgendaController.php b/app/Http/Controllers/Settings/TravelAgendaController.php index 8794e04..27e4e5d 100755 --- a/app/Http/Controllers/Settings/TravelAgendaController.php +++ b/app/Http/Controllers/Settings/TravelAgendaController.php @@ -48,8 +48,8 @@ class TravelAgendaController extends Controller public function delete($id){ - if(Booking::where('travelagenda_id', $id)->count()){ - \Session()->flash('alert-error', 'Eintrag wird verwendet'); + if(Booking::where('travelagenda_id', $id)->count()){ + \Session()->flash('alert-error', 'Eintrag wird bei Buchnungen verwendet'); return redirect()->back(); } diff --git a/app/Http/Controllers/Settings/TravelArrivalPointController.php b/app/Http/Controllers/Settings/TravelArrivalPointController.php new file mode 100644 index 0000000..2982acf --- /dev/null +++ b/app/Http/Controllers/Settings/TravelArrivalPointController.php @@ -0,0 +1,62 @@ +middleware(['superadmin', '2fa']); + } + + public function index($step = false) + { + $data = [ + 'travel_arrival_point' => TravelArrivalPoint::all(), + ]; + return view('settings.travel_arrival_point.index', $data); + } + + + public function update(){ + + $data = Request::all(); + if($data['id'] === "new"){ + $model = TravelArrivalPoint::create([ + 'name' => $data['name'], + 'active' => isset($data['active']) ? true : false, + 'travel_country_id' => $data['travel_country_id'], + + ]); + }else{ + $model = TravelArrivalPoint::find($data['id']); + $model->name = $data['name']; + $model->active = isset($data['active']) ? true : false; + $model->travel_country_id = $data['travel_country_id']; + $model->save(); + } + + \Session()->flash('alert-save', '1'); + return redirect(route('admin_settings_travel_arrival_point')); + } + + public function delete($id){ + + $model = TravelArrivalPoint::findOrFail($id); + if($model->travel_programs->count() > 0){ + \Session()->flash('alert-error', 'Eintrag wird bei Reiseprogrammen verwendet'); + return redirect()->back(); + } + $model->delete(); + \Session()->flash('alert-success', 'Eintrag gelöscht'); + return redirect()->back(); + } + +} + + diff --git a/app/Http/Controllers/Settings/TravelCategoryController.php b/app/Http/Controllers/Settings/TravelCategoryController.php new file mode 100644 index 0000000..e7b27b9 --- /dev/null +++ b/app/Http/Controllers/Settings/TravelCategoryController.php @@ -0,0 +1,67 @@ +middleware(['superadmin', '2fa']); + } + + public function index($step = false) + { + $data = [ + 'travel_category' => TravelCategory::all(), + ]; + return view('settings.travel_category.index', $data); + } + + + public function update(){ + + $data = Request::all(); + if($data['id'] === "new"){ + $model = TravelCategory::create([ + 'name' => $data['name'], + 'active' => isset($data['active']) ? true : false + + ]); + }else{ + $model = TravelCategory::find($data['id']); + $model->name = $data['name']; + $model->active = isset($data['active']) ? true : false; + $model->save(); + } + + \Session()->flash('alert-save', '1'); + return redirect(route('admin_settings_travel_category')); + } + + public function delete($id){ + + $model = TravelCategory::findOrFail($id); + if($model->bookings->count() > 0){ + \Session()->flash('alert-error', 'Eintrag wird bei Buchnungen verwendet'); + return redirect()->back(); + } + if($model->travel_programs->count() > 0){ + \Session()->flash('alert-error', 'Eintrag wird bei Programmen verwendet'); + return redirect()->back(); + } + if($model->leads->count() > 0){ + \Session()->flash('alert-error', 'Eintrag wird bei Anfragen verwendet'); + return redirect()->back(); + } + $model->delete(); + \Session()->flash('alert-success', 'Eintrag gelöscht'); + return redirect()->back(); + } + +} + + diff --git a/app/Http/Controllers/Settings/TravelGerneralNotesController.php b/app/Http/Controllers/Settings/TravelGerneralNotesController.php new file mode 100644 index 0000000..304b4b0 --- /dev/null +++ b/app/Http/Controllers/Settings/TravelGerneralNotesController.php @@ -0,0 +1,56 @@ +middleware(['superadmin', '2fa']); + } + + public function index($step = false) + { + $data = [ + 'gerneral_notes' => TravelGerneralNote::all(), + ]; + return view('settings.gerneral_notes.index', $data); + } + + public function update(){ + $data = Request::all(); + if($data['id'] === "new"){ + $model = TravelGerneralNote::create([ + 'name' => $data['name'], + 'text' => $data['text'] + ]); + }else{ + $model = TravelGerneralNote::find($data['id']); + $model->name = $data['name']; + $model->text = $data['text']; + $model->save(); + } + + \Session()->flash('alert-save', '1'); + return redirect(route('admin_settings_gerneral_notes')); + } + + public function delete($id){ + $model = TravelGerneralNote::findOrFail($id); + if($model->travel_programs->count() > 0){ + \Session()->flash('alert-error', 'Eintrag wird bei Reiseprogrammen verwendet'); + return redirect()->back(); + } + $model->delete(); + \Session()->flash('alert-success', 'Eintrag gelöscht'); + return redirect()->back(); + } + +} + + diff --git a/app/Http/Controllers/TravelProgramController.php b/app/Http/Controllers/TravelProgramController.php index 6fd3111..ae6ec90 100755 --- a/app/Http/Controllers/TravelProgramController.php +++ b/app/Http/Controllers/TravelProgramController.php @@ -48,10 +48,23 @@ class TravelProgramController extends Controller public function store($id) { + //TODO new must have an extra funtction! $data = Request::all(); - $program = $this->travelProgramRepo->update($data); - \Session()->flash('alert-save', '1'); - return redirect(route('travel_program_detail', [$program->id])); + if(!isset($data['action'])){ + abort(403, 'keine Action'); + } + if($data['action'] === 'saveGeneral'){ + $program = $this->travelProgramRepo->updateGeneral($id, $data); + \Session()->flash('alert-save', '1'); + return redirect(route('travel_program_detail', [$program->id])."#collapseBookingNotice"); + } + if($data['action'] === 'saveDetails'){ + $program = $this->travelProgramRepo->updateDetail($id, $data); + \Session()->flash('alert-save', '1'); + return redirect(route('travel_program_detail', [$program->id])."#collapseTravelProgramDetails"); + } + + return redirect(route('travel_program_detail', [$id])); } @@ -68,6 +81,7 @@ class TravelProgramController extends Controller \Session()->flash('alert-save', '1'); return redirect(route('travel_program_detail', [$data['program_id']])); } + public function classDelete($id){ $travel_class = TravelClass::findOrFail($id); $pId = $travel_class->program_id; diff --git a/app/Models/Booking.php b/app/Models/Booking.php index ef4a28c..cba14b3 100644 --- a/app/Models/Booking.php +++ b/app/Models/Booking.php @@ -66,6 +66,7 @@ use Illuminate\Database\Eloquent\Collection; * @property Collection|BookingInvoice[] $booking_invoices * @property Collection|BookingServiceItem[] $booking_service_items * @property Collection|BookingVoucher[] $booking_vouchers + * @property Collection|BookingVoucherAgency[] $booking_voucher_agencys * @property Collection|Coupon[] $coupons * @property Collection|InsuranceCertificate[] $insurance_certificates * @property Collection|Participant[] $participants @@ -155,6 +156,7 @@ use Illuminate\Database\Eloquent\Collection; * @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\BookingStorno[] $booking_stornos * @property-read int|null $booking_stornos_count * @property-read int|null $booking_vouchers_count + * @property-read int|null $booking_voucher_agencys_count * @property-read int|null $travel_insurances_count * @property string|null $origin_start_date * @property \Illuminate\Support\Carbon|null $lawyer_date @@ -496,6 +498,11 @@ class Booking extends Model return $this->hasMany(BookingVoucher::class); } + public function booking_voucher_agencys() + { + return $this->hasMany(BookingVoucherAgency::class); + } + public function travel_insurances() { return $this->hasMany(TravelInsurance::class); diff --git a/app/Models/BookingVoucherAgency.php b/app/Models/BookingVoucherAgency.php new file mode 100644 index 0000000..9640415 --- /dev/null +++ b/app/Models/BookingVoucherAgency.php @@ -0,0 +1,49 @@ + 'int', + ]; + + protected $fillable = [ + 'booking_id', + 'binary_data' + ]; + + public function booking() + { + return $this->belongsTo(Booking::class); + } +} diff --git a/app/Models/TravelArrivalPoint.php b/app/Models/TravelArrivalPoint.php new file mode 100644 index 0000000..08d49a9 --- /dev/null +++ b/app/Models/TravelArrivalPoint.php @@ -0,0 +1,78 @@ + 'int', + ]; + + protected $fillable = [ + 'name', + 'travel_country_id', + 'active' + + ]; + + public function travel_programs() + { + return $this->hasMany(TravelProgram::class, 'travel_arrival_point_id'); + } + + //on crm + /* public function travel_country_crm() + { + return $this->belongsTo('App\Models\Sym\TravelCountry', 'travel_country_id', 'crm_id'); + } + */ + + + //on stern DB relaunch + public function travel_country() + { + return $this->belongsTo('App\Models\TravelCountry', 'travel_country_id', 'id'); + } +} diff --git a/app/Models/TravelCategory.php b/app/Models/TravelCategory.php index 1d9f6de..43349ec 100644 --- a/app/Models/TravelCategory.php +++ b/app/Models/TravelCategory.php @@ -34,7 +34,8 @@ class TravelCategory extends Model public $timestamps = false; protected $fillable = [ - 'name' + 'name', + 'active' ]; public function bookings() @@ -46,4 +47,9 @@ class TravelCategory extends Model { return $this->hasMany(Lead::class, 'travelcategory_id'); } + + public function travel_programs() + { + return $this->hasMany(TravelProgram::class, 'travel_category'); + } } diff --git a/app/Models/TravelGerneralNote.php b/app/Models/TravelGerneralNote.php new file mode 100644 index 0000000..5c58ad9 --- /dev/null +++ b/app/Models/TravelGerneralNote.php @@ -0,0 +1,60 @@ +hasMany(TravelProgram::class, 'generalnote'); + } +} diff --git a/app/Models/TravelProgram.php b/app/Models/TravelProgram.php index da60216..01874c4 100644 --- a/app/Models/TravelProgram.php +++ b/app/Models/TravelProgram.php @@ -163,6 +163,12 @@ class TravelProgram extends Model 1 => 'Vermittlung' ]; + public static $programDiscountTypes = [ + 0 => '€', + 1 => '%' + ]; + + public static $travelCategoryTypes = [ 1 => 'Ägypten-Reise', 2 => 'Israel-Reise', @@ -172,9 +178,9 @@ class TravelProgram extends Model public function travel_arrival_point() { - return $this->belongsTo(TravelArrivalPoint::class); + return $this->belongsTo(TravelArrivalPoint::class, 'travel_arrival_point_id'); } - + //default 1 sterntours public function travel_organizer() { return $this->belongsTo(TravelOrganizer::class, 'organizer'); diff --git a/app/Models/TravelUserBookingFewo.php b/app/Models/TravelUserBookingFewo.php index 1e1518d..6cbf4bb 100644 --- a/app/Models/TravelUserBookingFewo.php +++ b/app/Models/TravelUserBookingFewo.php @@ -690,7 +690,7 @@ class TravelUserBookingFewo extends Model $salutation = __('Dear Sir')." ".$this->travel_user->last_name; } if($this->travel_user->salutation_id == 2){ - $salutation = __('Dear Sir')." ".$this->travel_user->last_name; + $salutation = __('Dear Mrs')." ".$this->travel_user->last_name; } if($this->travel_user->salutation_id == 4){ $salutation = __('Dear customer')." ".$this->travel_user->last_name; diff --git a/app/Repositories/TravelProgramRepository.php b/app/Repositories/TravelProgramRepository.php index 3bfe1ca..c628180 100644 --- a/app/Repositories/TravelProgramRepository.php +++ b/app/Repositories/TravelProgramRepository.php @@ -18,7 +18,7 @@ class TravelProgramRepository extends BaseRepository { public function update($data) { - if($data['id'] == "new"){ + /*if($data['id'] == "new"){ $this->model = TravelProgram::createNew(); } else{ @@ -29,9 +29,88 @@ class TravelProgramRepository extends BaseRepository { $this->model->fill($data); $this->model->status = isset($data['status']) ? true : false; $this->model->save(); + return $this->model;*/ + } + + + public function updateGeneral($id, $data){ + //weekdays + $this->model = TravelProgram::findOrFail($id); + + $this->checkDraftsWeekdays($data['weekdays']); + $data['weekdays'] = $this->model->setWeekdaysFromArray($data['weekdays']); + + $fill = [ + 'title' => $data['title'], + 'subtitle' => $data['subtitle'], + 'program_code' => $data['program_code'], + 'program_type' => $data['program_type'] ? $data['program_type'] : null, + 'category_id' => $data['category_id'] ? $data['category_id'] : null, + 'travel_country' => $data['travel_country'] ? $data['travel_country'] : null, + 'travel_agenda' => $data['travel_agenda'] ? $data['travel_agenda'] : null, + 'travel_category' => $data['travel_category'] ? $data['travel_category'] : null, + 'travel_company' => $data['travel_company'] ? $data['travel_company'] : null, + 'status' => isset($data['status']) ? 1 : 0, + 'weekdays' => $data['weekdays'], + ]; + $this->model->fill($fill); + $this->model->save(); return $this->model; } + + public function updateDetail($id, $data){ + //weekdays + $this->model = TravelProgram::findOrFail($id); + + $this->checkDraftsWeekdays($data['weekdays']); + $data['weekdays'] = $this->model->setWeekdaysFromArray($data['weekdays']); + + $fill = [ + 'default_flight_price' => $data['default_flight_price'] ? $data['default_flight_price'] : null, + 'deposit_percent' => $data['deposit_percent'] ? $data['deposit_percent'] : null, + 'discount' => $data['discount'] ? $data['discount'] : null, + 'discount_is_percent_value' => $data['discount_is_percent_value'] ? $data['discount_is_percent_value'] : null, + 'travel_arrival_point_id' => $data['travel_arrival_point_id'] ? $data['travel_arrival_point_id'] : null, + 'max_age_for_children' => $data['max_age_for_children'] ? $data['max_age_for_children'] : null, + 'url' => $data['url'] ? $data['url'] : null, + 'generalnote' => $data['generalnote'] ? $data['generalnote'] : null, + ]; + $this->model->fill($fill); + $this->model->save(); + return $this->model; + + } + + /* + + 'profit_margin', + 'program_duration', + 'is_seasonal', + 'youth', + 'slider_info', + 'organizer', + 'generalnote', + 'included', + 'class_description', + 'excluded', + 'advices', + 'notes', + 'html_description', + 'insurance_1', + 'insurance_2', + 'insurance_3', + 'insurance_4', + 'in_slider', + 'show_map', + 'map_html', + 'map_image', + 'map_image_ext', + 'netto_prices_in_euro', + 'text_right', + 'position', + */ + public function checkDraftsWeekdays($weekdays){ if(isset($weekdays) && is_array($weekdays) && $weekdays[0] === NULL){ $weekdays = range(0, 6); diff --git a/app/Services/HTMLHelper.php b/app/Services/HTMLHelper.php index 75dce78..88efd3d 100644 --- a/app/Services/HTMLHelper.php +++ b/app/Services/HTMLHelper.php @@ -412,7 +412,7 @@ class HTMLHelper public static function getWeekdaysString($weekdays = []){ $ret = ""; - if(count($weekdays)){ + if(is_array($weekdays) && count($weekdays)){ foreach($weekdays as $weekday){ if($weekday !== NULL){ $ret .= self::getDay($weekday).', '; diff --git a/app/Services/Model.php b/app/Services/Model.php index 551be60..6213f37 100644 --- a/app/Services/Model.php +++ b/app/Services/Model.php @@ -14,6 +14,8 @@ use App\Models\TravelCategory; use App\Models\ServiceProvider; use App\Models\TravelNationality; use App\Models\Sym\TravelCountry as SymTravelCountry; +use App\Models\TravelArrivalPoint; +use App\Models\TravelGerneralNote; class Model { @@ -25,18 +27,16 @@ class Model public static function getTravelCountryArray($emtpy = false){ $TravelCountry = TravelCountry::where('active_backend', 1)->orderBy('name')->get()->pluck('name', 'id'); return $emtpy ? $TravelCountry->prepend('-', 0) : $TravelCountry; + } - } - - public static function getTravelCountryCRMArray($emtpy = false){ + public static function getTravelCountryCRMArray($emtpy = false){ $TravelCountry = TravelCountry::where('active_backend', 1)->orderBy('name')->get()->pluck('name', 'crm_id'); return $emtpy ? $TravelCountry->prepend('-', 0) : $TravelCountry; } public static function getTravelCategoryArray($emtpy = false){ - $TravelCategory = TravelCategory::orderBy('name')->get()->pluck('name', 'id'); + $TravelCategory = TravelCategory::where('active', true)->orderBy('name')->get()->pluck('name', 'id'); return $emtpy ? $TravelCategory->prepend('-', 0) : $TravelCategory; - } public static function getTravelAgendaArray($emtpy = false, $travelcountry_id = false){ @@ -63,6 +63,17 @@ class Model return $emtpy ? $TravelCompany->prepend('-', 0) : $TravelCompany; } + public static function getTravelArrivalPointArray($emtpy = false){ + $TravelArrivalPoint = TravelArrivalPoint::where('active', true)->orderBy('name')->get()->pluck('name', 'id'); + return $emtpy ? $TravelArrivalPoint->prepend('-', 0) : $TravelArrivalPoint; + } + + public static function getTravelGerneralNotesArray($emtpy = false){ + $TravelGerneralNote = TravelGerneralNote::orderBy('name')->get()->pluck('name', 'id'); + return $emtpy ? $TravelGerneralNote->prepend('-', 0) : $TravelGerneralNote; + } + + public static function getBranchArray($emtpy = false){ $Branch = Branch::orderBy('name')->get()->pluck('name', 'id'); return $emtpy ? $Branch->prepend('-', 0) : $Branch; diff --git a/config/permissions.php b/config/permissions.php index 31f153d..17c280a 100755 --- a/config/permissions.php +++ b/config/permissions.php @@ -54,12 +54,16 @@ return [ 'sua-st-tpl' => ['name' => 'SUPERADMIN > Einstellungen > Reiseorte' , 'color' => 'superadmin'], 'sua-st-bs' => ['name' => 'SUPERADMIN > Einstellungen > Reisestatus' , 'color' => 'superadmin'], 'sua-st-tc' => ['name' => 'SUPERADMIN > Einstellungen > Veranstalter' , 'color' => 'superadmin'], + 'sua-st-tca' => ['name' => 'SUPERADMIN > Einstellungen > Reiseart' , 'color' => 'superadmin'], + 'sua-st-tap' => ['name' => 'SUPERADMIN > Einstellungen > Zielflughafen' , 'color' => 'superadmin'], 'sua-st-in' => ['name' => 'SUPERADMIN > Einstellungen > Versicherungen' , 'color' => 'superadmin'], 'sua-st-ca' => ['name' => 'SUPERADMIN > Einstellungen > Kategorien' , 'color' => 'superadmin'], + 'sua-st-tgn' => ['name' => 'SUPERADMIN > Einstellungen > Reisehinweise' , 'color' => 'superadmin'], 'sua-re' => ['name' => 'SUPERADMIN > Export' , 'color' => 'superadmin'], 'sua-re-bo' => ['name' => 'SUPERADMIN > Export > Buchungen' , 'color' => 'superadmin'], 'sua-re-pp' => ['name' => 'SUPERADMIN > Export > Leistungsträger' , 'color' => 'superadmin'], 'sua-ur-rt' => ['name' => 'SUPERADMIN > User Rechte' , 'color' => 'danger'], + 'cms-cn-co' => ['name' => 'ADMIN CMS > Inhalte > Länder' , 'color' => 'secondary'], ], ], diff --git a/database/migrations/2020_04_08_094515_create_booking_voucher_agency_table.php b/database/migrations/2020_04_08_094515_create_booking_voucher_agency_table.php new file mode 100644 index 0000000..e989238 --- /dev/null +++ b/database/migrations/2020_04_08_094515_create_booking_voucher_agency_table.php @@ -0,0 +1,47 @@ +bigIncrements('id'); + $table->bigInteger('booking_id'); + $table->binary('binary_data'); + $table->dateTime('created_at'); + $table->dateTime('updated_at'); + + $table->index('booking_id', 'booking_voucher_agency_booking_id_idx'); + + $table->foreign('booking_id', 'booking_voucher_agency_booking_id_booking_id')->references('id')->on('booking')->onDelete('CASCADE +')->onUpdate('RESTRICT'); + + }); + + + + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('booking_voucher_agency'); + } +} diff --git a/database/migrations/2020_04_08_094515_create_booking_voucher_table.php b/database/migrations/2020_04_08_094515_create_booking_voucher_table.php new file mode 100644 index 0000000..854c482 --- /dev/null +++ b/database/migrations/2020_04_08_094515_create_booking_voucher_table.php @@ -0,0 +1,47 @@ +bigIncrements('id'); + $table->bigInteger('booking_id'); + $table->binary('binary_data'); + $table->dateTime('created_at'); + $table->dateTime('updated_at'); + + $table->index('booking_id', 'booking_voucher_booking_id_idx'); + + $table->foreign('booking_id', 'booking_voucher_booking_id_booking_id')->references('id')->on('booking')->onDelete('CASCADE +')->onUpdate('RESTRICT'); + + }); + + + + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('booking_voucher'); + } +} diff --git a/resources/views/booking/_detail_files.blade.php b/resources/views/booking/_detail_files.blade.php index 20f7d79..6b1f0e9 100755 --- a/resources/views/booking/_detail_files.blade.php +++ b/resources/views/booking/_detail_files.blade.php @@ -124,15 +124,15 @@