middleware(['superadmin', '2fa']); } public function index($step = false) { $data = [ 'service_provider' => ServiceProvider::all(), ]; return view('settings.service_provider.index', $data); } public function detail($id, $step = false) { if($id === "new") { $model = new ServiceProvider(); $id = 'new'; $model->active = 1; $model->id = 0; }else{ $model = ServiceProvider::findOrFail($id); $id = $model->id; } $data = [ 'model' => $model, 'id' => $id, 'step' => $step, ]; return view('settings.service_provider.detail', $data); } public function update($id){ $data = Request::all(); if(isset($data['update-action'])){ if($data['update-action'] === 'save-service-provider-service'){ $data['active'] = true;//isset($data['active']) ? true : false; $service_provider = ServiceProvider::findOrFail($id); $data['service_provider_id'] = $service_provider->id; if($data['service_provider_service_id'] === 'new'){ $model = ServiceProviderService::create($data); }else{ $model = ServiceProviderService::find($data['service_provider_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; if($id === "new"){ $model = ServiceProvider::create($data); }else{ $model = ServiceProvider::find($id); $model->fill($data); $model->save(); } \Session()->flash('alert-save', '1'); return redirect(route('admin_settings_service_provider_detail', [$model->id, $data['action']])); } public function delete($id, $del="service_provider"){ if($del === 'service_provider') { //abort(403, 'Noch keine Funktion'); $model = ServiceProvider::findOrFail($id); if($model->service_provider_entries->count() > 0){ \Session()->flash('alert-error', 'Der Leistungträger kann nicht gelöscht werden, dieser hat Einträge'); return redirect()->back(); } if($model->service_provider_services->count() > 0){ \Session()->flash('alert-error', 'Der Leistungträger kann nicht gelöscht werden, dieser hat Einträge Service'); return redirect()->back(); } $model->delete(); \Session()->flash('alert-success', 'Eintrag gelöscht'); return redirect()->back(); } if($del === 'provider_service'){ $service = ServiceProviderService::findOrFail($id); $service_provider = $service->service_provider; //check as entry if($service->booking_provider_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_service_provider_detail', [$service_provider->id, 'services'])); } $service->delete(); \Session()->flash('alert-success', 'Eintrag gelöscht'); return redirect(route('admin_settings_service_provider_detail', [$service_provider->id, 'services'])); } } }