middleware(['admin', '2fa']); $this->travelProgramRepo = $travelProgramRepo; } public function index($step = false) { $data = [ 'travel_programs' => TravelProgram::all()->sortByDesc("id"), 'step' => $step ]; return view('travel.program.index', $data); } public function detail($id) { if($id == "new") { $program = new TravelProgram(); $id = 'new'; }else{ $program = TravelProgram::findOrFail($id); $id = $program->id; } $data = [ 'program' => $program, 'id' => $id, ]; return view('travel.program.detail', $data); } public function store($id) { //TODO new must have an extra funtction! $data = Request::all(); if(!isset($data['action'])){ abort(403, 'keine Action'); } //save $program = $this->travelProgramRepo->updateGeneral($id, $data); $program = $this->travelProgramRepo->updateDetail($id, $data); $program = $this->travelProgramRepo->updatePage($id, $data); \Session()->flash('alert-save', '1'); if($data['action'] === 'saveGeneral'){ return redirect(route('travel_program_detail', [$program->id])."#collapseBookingNotice"); } if($data['action'] === 'saveDetails'){ return redirect(route('travel_program_detail', [$program->id])."#collapseTravelProgramDetails"); } if($data['action'] === 'savePage'){ return redirect(route('travel_program_detail', [$program->id])."#collapseTravelProgramPage"); } return redirect(route('travel_program_detail', [$id])); } /* * PROGRAM CLASSES */ /** * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector */ public function classUpdate(){ $data = Request::all(); $this->travelProgramRepo->updateClass($data); \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; if(count($travel_class->travel_program_drafts)){ \Session()->flash('alert-error', 'Eintrag wird bei den Vorlagen verwendet'); return redirect(route('travel_program_detail', [$pId])); } $travel_class->delete(); \Session()->flash('alert-success', 'Programm Kategorie gelöscht'); return redirect(route('travel_program_detail', [$pId])); } /* * PROGRAM DRAFTS */ /** * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector */ public function draftUpdate(){ $data = Request::all(); $this->travelProgramRepo->updateDraft($data); \Session()->flash('alert-save', '1'); return redirect(route('travel_program_detail', [$data['travel_program_id']])); } public function draftDelete($id){ $travel_program_draft = TravelProgramDraft::findOrFail($id); $pId = $travel_program_draft->travel_program_id; $travel_program_draft->delete(); \Session()->flash('alert-success', 'Programm Vorlage gelöscht'); return redirect(route('travel_program_detail', [$pId])); } }