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);
}
}