middleware('admin'); $this->travelRepo = $travelRepo; } public function index() { $data = [ ]; return view('iq.travel.programm.index', $data); } public function detail($id, $step = false) { if($id === "new") { $model = new IQTravelProgram(); $id = 'new'; $model->active = 1; }else{ $model = IQTravelProgram::findOrFail($id); $id = $model->id; } $data = [ 'model' => $model, 'id' => $id, ]; return view('iq.travel.programm.detail', $data); } public function store($id) { $data = Request::all(); if(isset($data['action'])){ if($data['action'] === 'saveAll'){ $travel_program = $this->travelRepo->updateTravelProgram($id, $data); \Session()->flash('alert-save', '1'); return redirect(route('iq_travel_programm_detail', [$travel_program->id])); } if($data['action'] === 'save-iq_travel_program_items'){ $travel_program = $this->travelRepo->createTravelProgramItems($id, $data); \Session()->flash('alert-save', '1'); return redirect(route('iq_travel_programm_detail', [$id])); } } return redirect()->back(); } public function delete($id, $del=false){ if($del === 'i_q_travel_program_item'){ $IQTravelProgramItem = IQTravelProgramItem::findOrFail($id); $IQTravelProgram = $IQTravelProgramItem->i_q_travel_program; //TODO check need ??? $IQTravelProgramItem->delete(); $this->travelRepo->sortPosTravelProgramItems($IQTravelProgram); \Session()->flash('alert-success', __('Eintrag gelöscht')); return redirect(route('iq_travel_programm_detail', [$IQTravelProgram->id])); } if($del === 'iq_travel_programm'){ $IQTravelProgram = IQTravelProgram::findOrFail($id); //TODO check need ??? $IQTravelProgram->delete(); \Session()->flash('alert-success', __('Eintrag gelöscht')); return redirect(route('iq_travel_programms')); } return back(); } public function getTravelProgramms() { //->with('i_q_travel_program_items.i_q_travel_item') $query = IQTravelProgram::with('i_q_travel_program_items')->select('i_q_travel_programs.*'); return \DataTables::eloquent($query) ->addColumn('action_edit', function (IQTravelProgram $iq_travel_program) { return ''; }) ->addColumn('typ', function (IQTravelProgram $iq_travel_program) { return $iq_travel_program->typ ? IQTravelProgram::$status_type[$iq_travel_program->typ] : '-'; }) ->addColumn('country', function (IQTravelProgram $iq_travel_program) { return $iq_travel_program->travel_country ? $iq_travel_program->travel_country->name : ''; }) ->addColumn('travel_items', function (IQTravelProgram $iq_travel_program) { $ret = ""; /*if($iq_travel_program->i_q_travel_group_items->count()){ foreach($iq_travel_program->i_q_travel_group_items as $i_q_travel_group_item){ $ret .= $i_q_travel_group_item->i_q_travel_item->name; $ret .= $i_q_travel_group_item->i_q_travel_item->draft_type_id ? '   |  '.$i_q_travel_group_item->i_q_travel_item->draft_type->name.'' : ''; $ret .= "
"; } $ret = rtrim($ret, '
'); }*/ return $ret; }) ->addColumn('active', function (IQTravelProgram $iq_travel_program) { return get_active_badge($iq_travel_program->active); }) ->addColumn('action_delete', function (IQTravelProgram $iq_travel_program) { return ''; }) ->orderColumn('id', 'id $1') ->rawColumns(['action_edit', 'id', 'active', 'travel_items', 'action_delete']) ->make(true); } }