middleware(['auth' => 'contactPermissions'])->except( 'subscribe', 'subscribeSave', 'count', 'subscribeVaccinate', 'subscribeVaccinateSave', 'subscribeYouthFireFighter', 'subscribeYouthFireFighterSave', 'subscribeDekon', 'subscribeDekonSave', 'subscribeHelperParty', 'subscribeHelperPartySave', 'subscribeEm2024', 'subscribeEm2024Save', 'subscribeEm2024Info', 'subscribePopulationExercise', 'subscribePopulationExerciseSave' ); parent::__construct(); } /********************************/ /* Anmeldung für Nikolausaktion */ /********************************/ public function subscribe(Request $request) { $formdata = new SubscribeChild(); $view = view("inc.contact.subscribe"); $view->with('url', $this->route); $view->with('formdata', $formdata); $view->with('expired', true); return $view; } public function subscribeSave(Request $request) { $request->request->add(['city' => $request->city[0]]); $formdata = $request->validate([ 'firstnameParent' => 'required|min:3', 'lastnameParent' => 'required|min:3', 'firstnameChild' => 'required|min:3', 'street' => 'required|min:3', 'streetnumber' => 'required', 'city' => 'required', 'phone' => 'required|min:4', 'age' => 'required|integer', ], [ 'firstnameParent.required' => 'Pflichtfeld', 'firstnameParent.min' => 'Mindestens :min Zeichen', 'lastnameParent.required' => 'Pflichtfeld', 'lastnameParent.min' => 'Mindestens :min Zeichen', 'firstnameChild.required' => 'Pflichtfeld', 'firstnameChild.min' => 'Mindestens :min Zeichen', 'street.required' => 'Pflichtfeld', 'street.min' => 'Mindestens :min Zeichen', 'streetnumber.required' => 'Pflichtfeld', 'streetnumber.min' => 'Mindestens :min Zeichen', 'city.required' => 'Pflichtfeld', 'phone.required' => 'Pflichtfeld', 'phone.min' => 'Mindestens :min Zeichen', 'age.required' => 'Pflichtfeld', 'age.integer' => 'Muss eine Zahl sein', ]); $checkmodel = SubscribeYou::where('lastnameParent', $request->lastnameParent) ->where('firstnameParent', $request->firstnameParent) ->where('firstnameChild', $request->firstnameChild) ->where('city', $request->city) ->get(); $view = null; if($checkmodel->count()) { $view = view("inc.contact.subscribeDouble"); $view->with('firstnameChild', $request->firstnameChild); $view->with('lastnameChild', $request->lastnameParent); } else { $model = new SubscribeChild(); $model->fill($request->all()); $model->age = $request->age; # $model->city = $request->city[0]; $model->save(); $view = view("inc.contact.subscribeSuccess"); } return $view; } /**********************************/ /* Anmeldung zum Dekon-P Lehrgang */ /**********************************/ public function subscribeDekon(Request $request) { $formdata = new SubscribeDekon(); $view = view("inc.contact.subscribeDekon"); $view->with('url', $this->route); $view->with('formdata', $formdata); $view->with('expired', false); return $view; } public function subscribeDekonSave(Request $request) { $request->request->add(['city' => $request->city[0]]); $formdata = $request->validate([ 'firstname' => 'required|min:3', 'lastname' => 'required|min:3', 'city' => 'required|min:3', 'city_work' => 'required|min:3', ], [ 'firstname.required' => 'Pflichtfeld', 'firstname.min' => 'Mindestens :min Zeichen', 'lastname.required' => 'Pflichtfeld', 'lastname.min' => 'Mindestens :min Zeichen', 'city.required' => 'Pflichtfeld', 'city.min' => 'Mindestens :min Zeichen', 'city_work.required' => 'Pflichtfeld', 'city_work.min' => 'Mindestens :min Zeichen', ]); $checkmodel = SubscribeDekon::where('lastname', $request->lastname) ->where('firstname', $request->firstname) ->where('city', $request->city); $view = null; $model = new SubscribeDekon(); if($checkmodel->get()->count()) { $model = $checkmodel->first(); $model->truppmann2 = $request->has('truppmann2') ? $request->input('truppmann2') : false; $model->atemschutz = $request->has('atemschutz') ? $request->input('atemschutz') : false; $model->maschinist = $request->has('maschinist') ? $request->input('maschinist') : false; } $model->fill($request->all()); # $model->city = $request->city[0]; $model->save(); $view = view("inc.contact.subscribeDekonSuccess"); return $view; } /*********************************/ /* Anmeldung zur Kinderfeuerwehr */ /*********************************/ public function subscribeYouthFireFighter(Request $request) { $formdata = new SubscribeYouthFireFighter(); $view = view("inc.contact.subscribeYouthFireFighter"); $view->with('url', $this->route); $view->with('formdata', $formdata); $view->with('expired', false); return $view; } public function subscribeYouthFireFighterSave(Request $request) { $request->request->add(['city' => $request->city[0]]); $formdata = $request->validate([ 'firstnameParent' => 'required|min:3', 'lastnameParent' => 'required|min:3', 'firstnameChild' => 'required|min:3', 'birthday' => 'required|date_format:d.m.Y', 'street' => 'required|min:3', 'streetnumber' => 'required', 'city' => 'required', 'phone' => 'required|min:4', 'email' => 'required|email' ], [ 'firstnameParent.required' => 'Pflichtfeld', 'firstnameParent.min' => 'Mindestens :min Zeichen', 'lastnameParent.required' => 'Pflichtfeld', 'lastnameParent.min' => 'Mindestens :min Zeichen', 'firstnameChild.required' => 'Pflichtfeld', 'firstnameChild.min' => 'Mindestens :min Zeichen', 'street.required' => 'Pflichtfeld', 'street.min' => 'Mindestens :min Zeichen', 'streetnumber.required' => 'Pflichtfeld', 'streetnumber.min' => 'Mindestens :min Zeichen', 'city.required' => 'Pflichtfeld', 'phone.required' => 'Pflichtfeld', 'phone.min' => 'Mindestens :min Zeichen', 'email.email' => 'Es muss eine gültige Emailadresse angegeben werden', 'birthday.required' => 'Pflichtfeld', 'birthday.date_format' => 'Das Datum muss im Format tt.mm.jjjj (tag.monat.jahr) eingegeben werden', ]); $checkmodel = SubscribeYouthFireFighter::where('lastnameParent', $request->lastnameParent) ->where('firstnameParent', $request->firstnameParent) ->where('firstnameChild', $request->firstnameChild) ->where('city', $request->city) ->get(); $view = null; if($checkmodel->count()) { $view = view("inc.contact.subscribeDouble"); $view->with('firstnameChild', $request->firstnameChild); $view->with('lastnameChild', $request->lastnameParent); } else { $model = new SubscribeYouthFireFighter(); $model->fill($request->all()); $model->birthday = Carbon::createFromFormat('d.m.Y', $request->birthday); # $model->city = $request->city[0]; $model->save(); $view = view("inc.contact.subscribeYouthFireFighterSuccess"); } return $view; } /********************************/ /* Anmeldung zur Coronaimnpfung */ /********************************/ public function subscribeVaccinate(Request $request) { $formdata = new SubscribeVaccinate(); $view = view("inc.contact.subscribeVaccinate"); $view->with('url', $this->route); $view->with('formdata', $formdata); $view->with('expired', false); return $view; } public function subscribeVaccinateSave(Request $request) { $request->request->add(['city' => $request->city[0]]); $formdata = $request->validate([ 'firstname' => 'required|min:3', 'lastname' => 'required|min:3', 'birthday' => 'required|date_format:d.m.Y', 'street' => 'required|min:3', 'streetnumber' => 'required', 'city' => 'required', 'department' => 'required', ], [ 'firstname.required' => 'Pflichtfeld', 'firstname.min' => 'Mindestens :min Zeichen', 'lastname.required' => 'Pflichtfeld', 'lastname.min' => 'Mindestens :min Zeichen', 'birthday.required' => 'Pflichtfeld', 'birthday.date_format' => 'Das Datum muss im Format tt.mm.jjjj (tag.monat.jahr) eingegeben werden', 'street.required' => 'Pflichtfeld', 'street.min' => 'Mindestens :min Zeichen', 'streetnumber.required' => 'Pflichtfeld', 'streetnumber.min' => 'Mindestens :min Zeichen', 'city.required' => 'Pflichtfeld', 'department.required' => 'Pflichtfeld', ]); $checkmodel = SubscribeVaccinate::where('lastname', $request->lastname) ->where('firstname', $request->firstname) ->get(); $view = null; if($checkmodel->count()) { $view = view("inc.contact.subscribeVaccinateDouble"); $view->with('firstname', $request->firstname); $view->with('lastname', $request->lastname); } else { $model = new SubscribeVaccinate(); $model->fill($request->all()); $model->birthday = Carbon::createFromFormat('d.m.Y', $request->birthday); $model->department = $request->department[0]; $model->save(); $view = view("inc.contact.subscribeVaccinateSuccess"); } return $view; } /****************************/ /* Anmeldung zum Helferfest */ /****************************/ public function subscribeHelperParty(Request $request) { $formdata = new SubscribeYouthFireFighter(); $formdata->countChildren = 0; $view = view("inc.contact.subscribeHelperParty"); $view->with('url', $this->route); $view->with('formdata', $formdata); $view->with('expired', false); return $view; } public function subscribeHelperPartySave(Request $request) { $formdata = $request->validate([ 'firstname' => 'required|min:3', 'lastname' => 'required|min:3', 'countMatures' => 'integer', 'countChildren' => 'integer' ], [ 'firstname.required' => 'Pflichtfeld', 'firstname.min' => 'Mindestens :min Zeichen', 'lastname.required' => 'Pflichtfeld', 'lastname.min' => 'Mindestens :min Zeichen', 'countMatures.integer' => 'Es sind nur Zahlen erlaubt', 'countChildren.integer' => 'Es sind nur Zahlen erlaubt', ]); $model = SubscribeHelperParty::where('lastname', $request->lastname) ->where('firstname', $request->firstname) ->get(); $view = null; $view = view("inc.contact.subscribeHelperPartySuccess"); if($model->count()) { $model = $model->first(); $model->fill($request->all()); $model->save(); $view->with('exist', true); } else { $model = new SubscribeHelperParty(); $model->fill($request->all()); $model->save(); } $view->with('firstname', $request->firstname); $view->with('lastname', $request->lastname); $view->with('countMatures', $request->countMatures); $view->with('countChildren', $request->countChildren); return $view; } /*************************/ /* Anmeldung zur EM 2024 */ /*************************/ public function subscribeEm2024(Request $request) { $model = SubscribeEm2024::get(); $subscribers = $model->count(); $partner = $model->sum('partner'); $children = $model->sum('children'); $total = $subscribers + $partner + $children; $limit = false; if($total > 250) { $limit = true; } $formdata = new SubscribeEm2024(); $view = view("inc.contact.subscribeEm2024"); $view->with('url', $this->route); $view->with('formdata', $formdata); $view->with('limit', $limit); return $view; } public function subscribeEm2024Save(Request $request) { $formdata = $request->validate([ 'firstname' => 'required|min:3', 'lastname' => 'required|min:3', ], [ 'firstname.required' => 'Pflichtfeld', 'firstname.min' => 'Mindestens :min Zeichen', 'lastname.required' => 'Pflichtfeld', 'lastname.min' => 'Mindestens :min Zeichen', ]); $view = null; $model = new SubscribeEm2024(); $model->fill($request->all()); $model->partner = $request->has('partner') ? $request->input('partner') : false; $model->children = intval($request->input('children')); $model->ages = $request->input('ages') == NULL ? '' : $request->input('ages'); $model->save(); $view = view("inc.contact.subscribeEm2024Success"); return $view; } public function subscribeEm2024Info(Request $request) { $model = SubscribeEm2024::get(); $subscribers = $model->count(); $partner = $model->sum('partner'); $children = $model->sum('children'); $total = $subscribers + $partner + $children; $view = view('inc.contact.subscribeEm2024Info'); $view->with('subscribers', $subscribers); $view->with('partner', $partner); $view->with('children', $children); $view->with('total', $total); return $view; } /*****************************************/ /* Anmeldung zur Bevölkerungsschutzübung */ /*****************************************/ public function subscribePopulationExercise(Request $request) { $formdata = new SubscribePopulationExercise(); $view = view("inc.contact.subscribePopulationExercise"); $view->with('url', $this->route); $view->with('formdata', $formdata); $view->with('expired', false); return $view; } public function subscribePopulationExerciseSave(Request $request) { $request->request->add(['city' => $request->city[0]]); $formdata = $request->validate([ 'firstname' => 'required|min:3', 'lastname' => 'required|min:3', 'street' => 'required|min:3', 'streetnumber' => 'required', 'city' => 'required', 'phone' => 'required|min:4', 'email' => 'required|email' ], [ 'firstname.required' => 'Pflichtfeld', 'firstname.min' => 'Mindestens :min Zeichen', 'lastname.required' => 'Pflichtfeld', 'lastname.min' => 'Mindestens :min Zeichen', 'street.required' => 'Pflichtfeld', 'street.min' => 'Mindestens :min Zeichen', 'streetnumber.required' => 'Pflichtfeld', 'streetnumber.min' => 'Mindestens :min Zeichen', 'city.required' => 'Pflichtfeld', 'phone.required' => 'Pflichtfeld', 'phone.min' => 'Mindestens :min Zeichen', 'email.email' => 'Es muss eine gültige Emailadresse angegeben werden', ]); $checkmodel = SubscribePopulationExercise::where('lastname', $request->lastname) ->where('firstname', $request->firstname) ->where('city', $request->city); $view = null; $model = new SubscribePopulationExercise(); if($checkmodel->get()->count()) { $model = $checkmodel->first(); $model->driving = $request->has('driving') ? $request->input('driving') : false; } $model->fill($request->all()); # $model->city = $request->city[0]; $model->save(); $view = view("inc.contact.subscribePopulationExerciseSuccess"); return $view; } }