middleware('admin'); $this->tavelRepo = $tavelRepo; } public function index() { $data = [ ]; return view('iq.travel.item.index', $data); } public function detail($id, $step = false) { if($id === "new") { $model = new IQTravelItem(); $id = 'new'; $model->active = 1; }else{ $model = IQTravelItem::findOrFail($id); $id = $model->id; } $data = [ 'model' => $model, 'id' => $id, ]; return view('iq.travel.item.detail', $data); } public function store($id) { $data = Request::all(); if(isset($data['action'])){ if($data['action'] === 'saveAll'){ $travel_item = $this->tavelRepo->updateTravelItem($id, $data); \Session()->flash('alert-save', '1'); return redirect(route('iq_travel_item_detail', [$travel_item->id])); } if($data['action'] === 'save-iq_travel_item_place'){ $travel_item_place = $this->tavelRepo->updateTravelItemPlace($id, $data); \Session()->flash('alert-save', '1'); return redirect(route('iq_travel_item_detail', [$id])); } } return redirect()->back(); } public function delete($id, $del=false){ if($del === 'i_q_travel_item_place'){ $IQTravelItemPlace = IQTravelItemPlace::findOrFail($id); $r_id = $IQTravelItemPlace->i_q_travel_item_id; //TODO check need ??? $IQTravelItemPlace->delete(); \Session()->flash('alert-success', __('Eintrag gelöscht')); return redirect(route('iq_travel_item_detail', [$r_id])); } if($del === 'iq_travel_item'){ $IQTravelItem = IQTravelItem::findOrFail($id); //TODO check need ??? $IQTravelItem->delete(); \Session()->flash('alert-success', __('Eintrag gelöscht')); return redirect(route('iq_travel_items')); } return back(); } public function getTravelItems() { $query = IQTravelItem::with('draft_type')->with('i_q_travel_item_places')->select('i_q_travel_items.*'); return \DataTables::eloquent($query) ->addColumn('action_edit', function (IQTravelItem $iq_travel_item) { return ''; }) ->addColumn('draft_type', function (IQTravelItem $iq_travel_item) { return $iq_travel_item->draft_type ? ''.$iq_travel_item->draft_type->name.'' : ''; }) ->addColumn('country', function (IQTravelItem $iq_travel_item) { return $iq_travel_item->travel_country ? $iq_travel_item->travel_country->name : ''; }) ->addColumn('travel_places', function (IQTravelItem $iq_travel_item) { $ret = ""; if($iq_travel_item->i_q_travel_item_places->count()){ foreach($iq_travel_item->i_q_travel_item_places as $i_q_travel_item_place){ $ret .= $i_q_travel_item_place->travel_place->name."
"; } $ret = rtrim($ret, '
'); } return $ret; }) ->addColumn('active', function (IQTravelItem $iq_travel_item) { return get_active_badge($iq_travel_item->active); }) /* ->filterColumn('draft_type', function ($query, $keyword) { if ($keyword != "") { $query->whereHas('draft_type', function ($q) use ($keyword) { $q->where("name", 'LIKE', '%' . $keyword . '%'); }); } }) */ ->addColumn('action_delete', function (IQTravelItem $iq_travel_item) { return ''; }) ->orderColumn('id', 'id $1') ->rawColumns(['action_edit', 'id', 'active', 'draft_type', 'travel_places', 'action_delete']) ->make(true); } }