middleware('admin'); $this->userBookingFewoRepo = $userBookingFewoRepo; } public function index($step = false) { $data = [ 'step' => $step ]; return view('travel.user.booking.index', $data); } public function detail($id) { $max_adults = 10; $max_children = 10; $replace_info_text = []; if($id == "new") { $travel_user_booking_fewo = new TravelUserBookingFewo(); $id = 'new'; }else{ $travel_user_booking_fewo = TravelUserBookingFewo::findOrFail($id); $max_adults = isset($travel_user_booking_fewo->fewo_lodging->maximum_adults) ? $travel_user_booking_fewo->fewo_lodging->maximum_adults : 10; $max_children = isset($travel_user_booking_fewo->fewo_lodging->maximum_childs) ? $travel_user_booking_fewo->fewo_lodging->maximum_childs : 10;; $id = $travel_user_booking_fewo->id; $replace_info_text['fewo_user_anrede'] = $travel_user_booking_fewo->getUserSalutation(); $replace_info_text['fewo_adresse'] = $travel_user_booking_fewo->getNameAddressLocation(", "); } if(!$travel_user_booking_fewo->info_mail_text) { $travel_user_booking_fewo->info_mail_text = CMSContent::getContentBySlug('pdf-vorlage-anreiseinfo-fewo'); $travel_user_booking_fewo->info_mail_text = Util::replacePlaceholders($travel_user_booking_fewo->info_mail_text, $replace_info_text); } $data = [ 'travel_user_booking_fewo' => $travel_user_booking_fewo, 'max_adults' => $max_adults, 'max_children' => $max_children, 'id' => $id, ]; return view('travel.user.booking.detail', $data); } public function store($id) { $data = Input::all(); if($data['action'] == 'saveAll'){ return $this->userBookingFewoRepo->update($id, $data); } if($data['action'] == 'createInvoice'){ if(!TravelUserBookingFewo::find($id)){ \Session()->flash('alert-error', __('Buchung nicht gefunden.')); return back()->withInput(Input::all()); } $ret = $this->userBookingFewoRepo->check($id, $data); if($ret['success'] == false){ return back()->withInput(Input::all())->withErrors($ret['error']); } if($ret['success'] == true){ $this->userBookingFewoRepo->createInvoicePDF($id); \Session()->flash('alert-success', __('Mietbestätigung / Rechnung wurde erstellt.')); return redirect(route('travel_user_booking_fewo_detail', [$ret['id']])); } } if($data['action'] == 'createTravelInfo'){ if(!TravelUserBookingFewo::find($id)){ \Session()->flash('alert-error', __('Buchung nicht gefunden.')); return back()->withInput(Input::all()); } $ret = $this->userBookingFewoRepo->check($id, $data); if($ret['success'] == false){ return back()->withInput(Input::all())->withErrors($ret['error']); } if($ret['success'] == true){ $this->userBookingFewoRepo->createTravelInfoPDF($id, $data['info_mail_text']); \Session()->flash('alert-success', __('Anreiseinfo wurde erstellt/gespeichert.')); return redirect(route('travel_user_booking_fewo_detail', [$ret['id']])); } } if($data['action'] == 'sendMailtoUser') { $travel_user_booking_fewo = TravelUserBookingFewo::findOrFail($id); if($travel_user_booking_fewo->travel_user_id && $travel_user_booking_fewo->travel_user->email){ $mail_bbc = config('mail.mail_bbc'); Mail::to($travel_user_booking_fewo->travel_user->email)->bcc($mail_bbc)->send(new MailSendFeWoInvoice($travel_user_booking_fewo, Input::get('send_mail_user_notice'))); $send_user_mail = $travel_user_booking_fewo->send_user_mail; $send_user_mail[] = [date('H:i d.m.Y') => Input::get('send_mail_user_notice')]; $travel_user_booking_fewo->send_user_mail = $send_user_mail; $travel_user_booking_fewo->save(); \Session()->flash('alert-success', __('E-mail wurde an den Mieter versendet.')); return redirect(route('travel_user_booking_fewo_detail', [$travel_user_booking_fewo->id])); } } if($data['action'] == 'sendInfosMailtoUser') { $travel_user_booking_fewo = TravelUserBookingFewo::findOrFail($id); if($travel_user_booking_fewo->travel_user_id && $travel_user_booking_fewo->travel_user->email){ $mail_bbc = config('mail.mail_bbc'); Mail::to($travel_user_booking_fewo->travel_user->email)->bcc($mail_bbc)->send(new MailSendFeWoInfo($travel_user_booking_fewo)); $send_info_mail = $travel_user_booking_fewo->send_info_mail; $send_info_mail[] = [date('H:i d.m.Y') => '']; $travel_user_booking_fewo->send_info_mail = $send_info_mail; $travel_user_booking_fewo->save(); \Session()->flash('alert-success', __('E-mail wurde an den Mieter versendet.')); return redirect(route('travel_user_booking_fewo_detail', [$travel_user_booking_fewo->id])); } } if($data['action'] == 'sendMailtoService') { $travel_user_booking_fewo = TravelUserBookingFewo::findOrFail($id); if($travel_user_booking_fewo){ $mail_bbc = config('mail.mail_bbc'); Mail::to(Input::get('send_mail_service_mail'))->bcc($mail_bbc)->send(new MailSendFeWoService($travel_user_booking_fewo, Input::get('send_mail_service_subject'), Input::get('send_mail_service_content'))); $send_service_mail = $travel_user_booking_fewo->send_service_mail; $send_service_mail[] = ['d' => date('H:i d.m.Y'), 'm'=>Input::get('send_mail_service_mail'), 's'=>Input::get('send_mail_service_subject'), 'c'=>Input::get('send_mail_service_content')]; $travel_user_booking_fewo->send_service_mail = $send_service_mail; $travel_user_booking_fewo->save(); \Session()->flash('alert-success', __('E-mail wurde an den Dienstleister versendet.')); return redirect(route('travel_user_booking_fewo_detail', [$travel_user_booking_fewo->id])); } } } public function delete($id){ $model = TravelUserBookingFewo::findOrFail($id); $FewoReservations = FewoReservation::where('lodging_id', $model->fewo_lodging_id)->where('from_date', $model->getFromDateRaw())->where('to_date', $model->getToDateRaw())->get(); foreach ($FewoReservations as $FewoReservation){ $FewoReservation->delete(); } $model->delete(); \Session()->flash('alert-success', __('Buchung gelöscht sowie die Reservierung im Sterntrous Kalender')); return redirect(route('travel_user_booking_fewos')); } public function getTravelUserBookingFewos() { //confirmation_code_remider is delete 2 $query = TravelUserBookingFewo::where('deleted_at', '=', null); return \DataTables::eloquent($query) ->addColumn('action_edit', function (TravelUserBookingFewo $travel_user_booking_fewo) { return ''; }) ->addColumn('fewo_lodging', function (TravelUserBookingFewo $travel_user_booking_fewo) { //return ''.$travel_user_booking_fewo->fewo_lodging->name.''; return $travel_user_booking_fewo->fewo_lodging->name; }) ->addColumn('travel_user', function (TravelUserBookingFewo $travel_user_booking_fewo) { return ''.$travel_user_booking_fewo->travel_user->first_name.' '.$travel_user_booking_fewo->travel_user->last_name.''; }) ->addColumn('is_calendar', function (TravelUserBookingFewo $travel_user_booking_fewo) { $back = ""; $back .= $travel_user_booking_fewo->is_calendar_fewo_direct ? ' ' : ' '; $back .= $travel_user_booking_fewo->is_calendar_hrs ? ' ' : ' '; $back .= $travel_user_booking_fewo->is_calendar_stern_tours ? ' ' : ' '; return $back; }) ->addColumn('status_name', function (TravelUserBookingFewo $travel_user_booking_fewo) { return $travel_user_booking_fewo->getStatuesName(); }) ->addColumn('action_delete', function (TravelUserBookingFewo $travel_user_booking_fewo) { return ''; }) ->rawColumns(['action_edit', 'fewo_lodging', 'travel_user', 'is_calendar', 'action_delete']) ->make(true); } }