middleware('admin'); $this->tavelRepo = $tavelRepo; } public function index() { $data = [ ]; return view('iq.travel.group.index', $data); } public function detail($id, $step = false) { if($id === "new") { $model = new IQTravelGroup(); $id = 'new'; $model->active = 1; }else{ $model = IQTravelGroup::findOrFail($id); $id = $model->id; } $data = [ 'model' => $model, 'id' => $id, ]; return view('iq.travel.group.detail', $data); } public function store($id) { $data = Request::all(); if(isset($data['action'])){ if($data['action'] === 'saveAll'){ $travel_group = $this->tavelRepo->updateTravelGroup($id, $data); \Session()->flash('alert-save', '1'); return redirect(route('iq_travel_group_detail', [$travel_group->id])); } if($data['action'] === 'save-iq_travel_item_group'){ $travel_group_item = $this->tavelRepo->updateTravelGroupItem($id, $data); \Session()->flash('alert-save', '1'); return redirect(route('iq_travel_group_detail', [$id])); } } return redirect()->back(); } public function delete($id, $del=false){ if($del === 'i_q_travel_group_item'){ $IQTravelGroupItem = IQTravelGroupItem::findOrFail($id); $r_id = $IQTravelGroupItem->i_q_travel_group_id; //TODO check need ??? $IQTravelGroupItem->delete(); \Session()->flash('alert-success', __('Eintrag gelöscht')); return redirect(route('iq_travel_group_detail', [$r_id])); } if($del === 'iq_travel_group'){ $IQTravelGroup = IQTravelGroup::findOrFail($id); //TODO check need ??? $IQTravelGroup->delete(); \Session()->flash('alert-success', __('Eintrag gelöscht')); return redirect(route('iq_travel_groups')); } return back(); } public function getTravelGroups() { $query = IQTravelGroup::with('i_q_travel_group_items')->with('i_q_travel_group_items.i_q_travel_item')->select('i_q_travel_groups.*'); return \DataTables::eloquent($query) ->addColumn('action_edit', function (IQTravelGroup $iq_travel_group) { return ''; }) ->addColumn('travel_items', function (IQTravelGroup $iq_travel_group) { $ret = ""; if($iq_travel_group->i_q_travel_group_items->count()){ foreach($iq_travel_group->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 (IQTravelGroup $iq_travel_group) { return get_active_badge($iq_travel_group->active); }) ->addColumn('action_delete', function (IQTravelGroup $iq_travel_group) { return ''; }) ->orderColumn('id', 'id $1') ->rawColumns(['action_edit', 'id', 'active', 'travel_items', 'action_delete']) ->make(true); } }