diff --git a/app/Http/Controllers/ContactController.php b/app/Http/Controllers/ContactController.php index 63b2f12f..820d99bd 100644 --- a/app/Http/Controllers/ContactController.php +++ b/app/Http/Controllers/ContactController.php @@ -14,29 +14,22 @@ use Illuminate\Support\Facades\DB; use App\Models\SubscribeChild; use App\Models\SubscribeVaccinate; use App\Models\SubscribeYouthFireFighter; -<<<<<<< HEAD -<<<<<<< HEAD use App\Models\SubscribeDekon; -======= use App\Models\SubscribeHelperParty; ->>>>>>> 337da780bba92b5cad52fc81a130260c41af46f8 -======= -use App\Models\SubscribeHelperParty; ->>>>>>> 337da780bba92b5cad52fc81a130260c41af46f8 +use App\Models\SubscribeEm2024; use App\Helpers\AccessHelper as Access; use \Carbon\Carbon; use Response; //use Illuminate\Support\Facades\Input; use Illuminate\Support\Facades\Request as Input; use App\Helpers\StringHelper; +use function Illuminate\Database\Eloquent\Factories\createChildren; class ContactController extends ExtendedController { public function __construct() { $this->middleware(['auth' => 'contactPermissions'])->except( -<<<<<<< HEAD -<<<<<<< HEAD 'subscribe', 'subscribeSave', 'count', @@ -45,24 +38,12 @@ class ContactController extends ExtendedController 'subscribeYouthFireFighter', 'subscribeYouthFireFighterSave', 'subscribeDekon', - 'subscribeDekonSave' + 'subscribeDekonSave', + 'subscribeHelperParty', + 'subscribeHelperPartySave', + 'subscribeEm2024', + 'subscribeEm2024Save' ); -======= -======= ->>>>>>> 337da780bba92b5cad52fc81a130260c41af46f8 - 'subscribe', - 'subscribeSave', - 'count', - 'subscribeVaccinate', - 'subscribeVaccinateSave', - 'subscribeYouthFireFighter', - 'subscribeYouthFireFighterSave', - 'subscribeHelperParty', - 'subscribeHelperPartySave'); -<<<<<<< HEAD ->>>>>>> 337da780bba92b5cad52fc81a130260c41af46f8 -======= ->>>>>>> 337da780bba92b5cad52fc81a130260c41af46f8 parent::__construct(); } @@ -402,4 +383,54 @@ class ContactController extends ExtendedController return $view; } -} \ No newline at end of file + + + /*************************/ + /* Anmeldung zur EM 2024 */ + /*************************/ + public function subscribeEm2024(Request $request) + { + $formdata = new SubscribeEm2024(); + $view = view("inc.contact.subscribeEm2024"); + $view->with('url', $this->route); + $view->with('formdata', $formdata); + $view->with('expired', false); + + 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', + 'lasstname.min' => 'Mindestens :min Zeichen', + ]); + + $checkmodel = SubscribeEm2024::where('lastname', $request->lastname) + ->where('firstname', $request->firstname); + + + $view = null; + + $model = new SubscribeEm2024(); + if($checkmodel->get()->count()) + { + $model = $checkmodel->first(); + } + + $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; + }} \ No newline at end of file diff --git a/app/Models/SubscribeEm2024.php b/app/Models/SubscribeEm2024.php new file mode 100644 index 00000000..59538d2e --- /dev/null +++ b/app/Models/SubscribeEm2024.php @@ -0,0 +1,27 @@ + env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'ffw_laravel'), - 'username' => env('DB_USERNAME', 'forge'), - 'password' => env('DB_PASSWORD', 'forge'), + 'username' => env('DB_USERNAME', 'ffw'), + 'password' => env('DB_PASSWORD', 'ffw'), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', diff --git a/database/migrations/2024_05_22_145900_create_subscribe_em_2024_table.php b/database/migrations/2024_05_22_145900_create_subscribe_em_2024_table.php new file mode 100644 index 00000000..baea756f --- /dev/null +++ b/database/migrations/2024_05_22_145900_create_subscribe_em_2024_table.php @@ -0,0 +1,37 @@ +increments('id'); + $table->string('lastname', 50); + $table->string('firstname', 50); + $table->boolean('partner'); + $table->integer('children'); + $table->string('ages'); + $table->timestamps(); + $table->softDeletes(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('subscribe_em_2024'); + } +} diff --git a/resources/views/inc/contact/subscribeEm2024.blade.php b/resources/views/inc/contact/subscribeEm2024.blade.php new file mode 100644 index 00000000..500522ed --- /dev/null +++ b/resources/views/inc/contact/subscribeEm2024.blade.php @@ -0,0 +1,99 @@ +@extends('layouts.app') + +@section('social_media') + + +@endsection + +@section('content') +
+
+

+ Anmeldung zur EM 2024 +

+
+
+
+
+
+
+ + @if($expired) +
+
+ Es tut uns Leid, aber der Anmeldezeitraum ist abgelaufen. +
+
+ @else + +
+
+

+ Hiermit melde ich zur EM 2024 bei meiner Feuerwehr an. +

+
+
+
+
+
+ {{ csrf_field() }} + @include('inc.forms.inputText', [ + 'name' => 'lastname', + 'label' => 'Nachname *', + 'placeholder' => 'Nachname', + 'value' => $formdata->firstnameParent + ]) + @include('inc.forms.inputText', [ + 'name' => 'firstname', + 'label' => 'Vorname *', + 'placeholder' => 'Vorname', + 'value' => $formdata->lastnameParent + ]) + @include('inc.forms.inputCheckbox', [ + 'name' => 'partner', + 'label' => 'Mit Partner', + 'model' => $formdata + ]) + @include('inc.forms.inputText', [ + 'name' => 'children', + 'label' => 'Anzahl Kinder', + 'placeholder' => '', + 'value' => $formdata->children + ]) + @include('inc.forms.inputText', [ + 'name' => 'ages', + 'label' => 'Alter der Kinder (mit Komma getrennt)', + 'placeholder' => '5, 7, 9', + 'value' => $formdata->ages + ]) +
+ * Pflichtfeld +
+
+ +
+
+
+
+ @endif +
+ +
+
+@endsection \ No newline at end of file diff --git a/resources/views/inc/contact/subscribeEm2024Success.blade.php b/resources/views/inc/contact/subscribeEm2024Success.blade.php new file mode 100644 index 00000000..f90119aa --- /dev/null +++ b/resources/views/inc/contact/subscribeEm2024Success.blade.php @@ -0,0 +1,31 @@ +@extends('layouts.app') + +@section('social_media') + + +@endsection + +@section('content') +
+
+

+ Anmeldebestätigung +

+
+
+
+
+
+
+
+
+ Vielen Dank für die Anmeldung zur EM 2024 bei deiner Feuerwehr.
+
+ Deine Feuerwehr Eppingen +
+
+
+
+ +
+@endsection \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 76d67a09..7e4f502a 100644 --- a/routes/web.php +++ b/routes/web.php @@ -141,6 +141,17 @@ Route::post("anmeldung-dekon/abschliessen", [ 'middleware' => 'auth', function (){} ]); +Route::get("anmeldung-em-2024", [ + "uses" => "ContactController@subscribeEm2024", +], [ + 'middleware' => 'auth', function (){} +]); +Route::post("anmeldung-em-2024/abschliessen", [ + "uses" => "ContactController@subscribeEm2024Save", +], [ + 'middleware' => 'auth', function (){} +]); + /****************************************/