FeWo Mail, Booking Services

This commit is contained in:
Kevin Adametz 2020-07-09 12:36:15 +02:00
parent 730832c8e1
commit e6cc042aee
62 changed files with 1766 additions and 284 deletions

View file

@ -5,6 +5,7 @@ namespace App\Http\Controllers\Settings;
use App\Http\Controllers\Controller;
use App\Models\TravelCompany;
use App\Models\TravelCompanyService;
use App\Services\Util;
use Request;
@ -24,33 +25,85 @@ class TravelCompanyController extends Controller
}
public function update(){
public function detail($id, $step = false)
{
if($id === "new") {
$model = new TravelCompany();
$id = 'new';
$model->active = 1;
}else{
$model = TravelCompany::findOrFail($id);
$id = $model->id;
}
$data = [
'model' => $model,
'id' => $id,
'step' => $step,
];
return view('settings.travel_company.detail', $data);
}
public function update($id){
$data = Request::all();
if(isset($data['update-action'])){
if($data['update-action'] === 'save-travel-company-service'){
$data['active'] = true;//isset($data['active']) ? true : false;
$travel_company = TravelCompany::findOrFail($id);
$data['travel_company_id'] = $travel_company->id;
if($data['travel_company_service_id'] === 'new'){
$model = TravelCompanyService::create($data);
}else{
$model = TravelCompanyService::find($data['travel_company_service_id']);
$model->fill($data);
$model->save();
}
\Session()->flash('alert-save', '1');
return redirect($data['back']);
}
}
$data['contact_emails'] = isset($data['contact_emails']) ? Util::_explodeLines($data['contact_emails']) : null;
$data['active'] = isset($data['active']) ? true : false;
$data['is_allowed_edit_commission'] = isset($data['is_allowed_edit_commission']) ? true : false;
$data['is_inhouse'] = isset($data['is_inhouse']) ? true : false;
if($data['id'] === "new"){
if($id === "new"){
$model = TravelCompany::create($data);
}else{
$model = TravelCompany::find($data['id']);
$model = TravelCompany::find($id);
$model->fill($data);
$model->save();
}
\Session()->flash('alert-save', '1');
return redirect(route('admin_settings_travel_company'));
return redirect(route('admin_settings_travel_company_detail', [$model->id, $data['action']]));
}
public function delete($id){
public function delete($id, $del="travel_company"){
abort(404, 'Noch keine Funktion');
$model = TravelCompany::findOrFail($id);
$model->delete();
\Session()->flash('alert-success', 'Eintrag gelöscht');
return redirect()->back();
if($del === 'travel_country') {
abort(404, 'Noch keine Funktion');
$model = TravelCompany::findOrFail($id);
$model->delete();
\Session()->flash('alert-success', 'Eintrag gelöscht');
return redirect()->back();
}
if($del === 'company_service'){
$service = TravelCompanyService::findOrFail($id);
$travel_company = $service->travel_company;
//check as entry
if($service->booking_company_services->count() > 0){
\Session()->flash('alert-error', 'Die Leistung kann nicht gelöscht werden, diese hat Einträge bei den Buchungen');
return redirect(route('admin_settings_travel_company_detail', [$travel_company->id, 'services']));
}
$service->delete();
\Session()->flash('alert-success', 'Eintrag gelöscht');
return redirect(route('admin_settings_travel_company_detail', [$travel_company->id, 'services']));
}
}
}