Travel Group / Programms

This commit is contained in:
Kevin Adametz 2021-08-20 18:21:38 +02:00
parent 9baa1a6233
commit a718baf971
23 changed files with 808 additions and 89 deletions

View file

@ -3,22 +3,21 @@
namespace App\Http\Controllers\IQ;
use Request;
use App\Models\IQTravelItemPlace;
use App\Http\Controllers\Controller;
use App\Models\IQTravelGroup;
use App\Models\IQTravelGroupItem;
use App\Models\IQTravelProgram;
use App\Models\IQTravelProgramItem;
use App\Repositories\IQ\TravelRepository;
class TravelProgrammController extends Controller
{
protected $tavelRepo;
protected $travelRepo;
public function __construct(TravelRepository $tavelRepo)
public function __construct(TravelRepository $travelRepo)
{
$this->middleware('admin');
$this->tavelRepo = $tavelRepo;
$this->travelRepo = $travelRepo;
}
public function index()
@ -33,11 +32,11 @@ class TravelProgrammController extends Controller
public function detail($id, $step = false)
{
if($id === "new") {
$model = new IQTravelGroup();
$model = new IQTravelProgram();
$id = 'new';
$model->active = 1;
}else{
$model = IQTravelGroup::findOrFail($id);
$model = IQTravelProgram::findOrFail($id);
$id = $model->id;
}
@ -46,7 +45,7 @@ class TravelProgrammController extends Controller
'id' => $id,
];
return view('iq.travel.group.detail', $data);
return view('iq.travel.programm.detail', $data);
}
@ -55,15 +54,15 @@ class TravelProgrammController extends Controller
$data = Request::all();
if(isset($data['action'])){
if($data['action'] === 'saveAll'){
$travel_group = $this->tavelRepo->updateTravelGroup($id, $data);
$travel_program = $this->travelRepo->updateTravelProgram($id, $data);
\Session()->flash('alert-save', '1');
return redirect(route('iq_travel_group_detail', [$travel_group->id]));
return redirect(route('iq_travel_programm_detail', [$travel_program->id]));
}
if($data['action'] === 'save-iq_travel_item_group'){
$travel_group_item = $this->tavelRepo->updateTravelGroupItem($id, $data);
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_group_detail', [$id]));
return redirect(route('iq_travel_programm_detail', [$id]));
}
}
@ -72,37 +71,46 @@ class TravelProgrammController extends Controller
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;
if($del === 'i_q_travel_program_item'){
$IQTravelProgramItem = IQTravelProgramItem::findOrFail($id);
$IQTravelProgram = $IQTravelProgramItem->i_q_travel_program;
//TODO check need ???
$IQTravelGroupItem->delete();
$IQTravelProgramItem->delete();
$this->travelRepo->sortPosTravelProgramItems($IQTravelProgram);
\Session()->flash('alert-success', __('Eintrag gelöscht'));
return redirect(route('iq_travel_group_detail', [$r_id]));
return redirect(route('iq_travel_programm_detail', [$IQTravelProgram->id]));
}
if($del === 'iq_travel_group'){
$IQTravelGroup = IQTravelGroup::findOrFail($id);
if($del === 'iq_travel_programm'){
$IQTravelProgram = IQTravelProgram::findOrFail($id);
//TODO check need ???
$IQTravelGroup->delete();
$IQTravelProgram->delete();
\Session()->flash('alert-success', __('Eintrag gelöscht'));
return redirect(route('iq_travel_groups'));
return redirect(route('iq_travel_programms'));
}
return back();
}
public function getTravelGroups()
public function getTravelProgramms()
{
$query = IQTravelGroup::with('i_q_travel_group_items')->with('i_q_travel_group_items.i_q_travel_item')->select('i_q_travel_groups.*');
//->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 (IQTravelGroup $iq_travel_group) {
return '<a href="'.route('iq_travel_group_detail', [$iq_travel_group->id]).'" class="btn icon-btn btn-sm btn-primary"><span class="fa fa-edit"></span></a>';
->addColumn('action_edit', function (IQTravelProgram $iq_travel_program) {
return '<a href="'.route('iq_travel_programm_detail', [$iq_travel_program->id]).'" class="btn icon-btn btn-sm btn-primary"><span class="fa fa-edit"></span></a>';
})
->addColumn('trave_items', function (IQTravelGroup $iq_travel_group) {
->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_group->i_q_travel_group_items->count()){
foreach($iq_travel_group->i_q_travel_group_items as $i_q_travel_group_item){
/*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 ? ' &nbsp; | &nbsp;<span class="py-0 px-2" style="background-color:'.$i_q_travel_group_item->i_q_travel_item->draft_type->color.'">'.$i_q_travel_group_item->i_q_travel_item->draft_type->name.'</span>' : '';
@ -110,17 +118,17 @@ class TravelProgrammController extends Controller
$ret .= "<br>";
}
$ret = rtrim($ret, '<br>');
}
}*/
return $ret;
})
->addColumn('active', function (IQTravelGroup $iq_travel_group) {
return get_active_badge($iq_travel_group->active);
->addColumn('active', function (IQTravelProgram $iq_travel_program) {
return get_active_badge($iq_travel_program->active);
})
->addColumn('action_delete', function (IQTravelGroup $iq_travel_group) {
return '<a href="' . route('iq_travel_group_delete', [$iq_travel_group->id, 'iq_travel_group']) . '" class="btn icon-btn btn-sm btn-danger" onclick="return confirm(\''.__('Really delete entry?').'\');"><span class="fa fa-trash"></span></a>';
->addColumn('action_delete', function (IQTravelProgram $iq_travel_program) {
return '<a href="' . route('iq_travel_programm_delete', [$iq_travel_program->id, 'iq_travel_programm']) . '" class="btn icon-btn btn-sm btn-danger" onclick="return confirm(\''.__('Really delete entry?').'\');"><span class="fa fa-trash"></span></a>';
})
->orderColumn('id', 'id $1')
->rawColumns(['action_edit', 'id', 'active', 'trave_items', 'action_delete'])
->rawColumns(['action_edit', 'id', 'active', 'travel_items', 'action_delete'])
->make(true);
}
}