Anmeldeformular für EM 2024

This commit is contained in:
ppa. Marco Glietsch 2024-05-22 23:20:36 +02:00
parent b8a8b6dded
commit 5dde9c28fb
7 changed files with 265 additions and 29 deletions

View File

@ -14,29 +14,22 @@ use Illuminate\Support\Facades\DB;
use App\Models\SubscribeChild; use App\Models\SubscribeChild;
use App\Models\SubscribeVaccinate; use App\Models\SubscribeVaccinate;
use App\Models\SubscribeYouthFireFighter; use App\Models\SubscribeYouthFireFighter;
<<<<<<< HEAD
<<<<<<< HEAD
use App\Models\SubscribeDekon; use App\Models\SubscribeDekon;
=======
use App\Models\SubscribeHelperParty; use App\Models\SubscribeHelperParty;
>>>>>>> 337da780bba92b5cad52fc81a130260c41af46f8 use App\Models\SubscribeEm2024;
=======
use App\Models\SubscribeHelperParty;
>>>>>>> 337da780bba92b5cad52fc81a130260c41af46f8
use App\Helpers\AccessHelper as Access; use App\Helpers\AccessHelper as Access;
use \Carbon\Carbon; use \Carbon\Carbon;
use Response; use Response;
//use Illuminate\Support\Facades\Input; //use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Request as Input; use Illuminate\Support\Facades\Request as Input;
use App\Helpers\StringHelper; use App\Helpers\StringHelper;
use function Illuminate\Database\Eloquent\Factories\createChildren;
class ContactController extends ExtendedController class ContactController extends ExtendedController
{ {
public function __construct() public function __construct()
{ {
$this->middleware(['auth' => 'contactPermissions'])->except( $this->middleware(['auth' => 'contactPermissions'])->except(
<<<<<<< HEAD
<<<<<<< HEAD
'subscribe', 'subscribe',
'subscribeSave', 'subscribeSave',
'count', 'count',
@ -45,24 +38,12 @@ class ContactController extends ExtendedController
'subscribeYouthFireFighter', 'subscribeYouthFireFighter',
'subscribeYouthFireFighterSave', 'subscribeYouthFireFighterSave',
'subscribeDekon', 'subscribeDekon',
'subscribeDekonSave' 'subscribeDekonSave',
);
=======
=======
>>>>>>> 337da780bba92b5cad52fc81a130260c41af46f8
'subscribe',
'subscribeSave',
'count',
'subscribeVaccinate',
'subscribeVaccinateSave',
'subscribeYouthFireFighter',
'subscribeYouthFireFighterSave',
'subscribeHelperParty', 'subscribeHelperParty',
'subscribeHelperPartySave'); 'subscribeHelperPartySave',
<<<<<<< HEAD 'subscribeEm2024',
>>>>>>> 337da780bba92b5cad52fc81a130260c41af46f8 'subscribeEm2024Save'
======= );
>>>>>>> 337da780bba92b5cad52fc81a130260c41af46f8
parent::__construct(); parent::__construct();
} }
@ -402,4 +383,54 @@ class ContactController extends ExtendedController
return $view; return $view;
} }
}
/*************************/
/* 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;
}}

View File

@ -0,0 +1,27 @@
<?php
namespace App\Models;
use App\Models\Traits\FullTextSearch;
use App\Models\Traits\Documents;
use Illuminate\Database\Eloquent\Model;
use OwenIt\Auditing\Contracts\Auditable;
use Illuminate\Support\Arr;
use Cviebrock\EloquentSluggable\Sluggable;
use App\Helpers\TagHelper;
use Carbon\Carbon;
use App\Helpers\PostHelper;
use App\Http\Controllers\ServiceController;
class SubscribeEm2024 extends ExtendedModel
{
protected $fillable = [
'lastname',
'firstname',
'partner',
'children',
'ages',
];
protected $table = 'subscribe_em_2024';
}

View File

@ -44,8 +44,8 @@ return [
'host' => env('DB_HOST', '127.0.0.1'), 'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'), 'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'ffw_laravel'), 'database' => env('DB_DATABASE', 'ffw_laravel'),
'username' => env('DB_USERNAME', 'forge'), 'username' => env('DB_USERNAME', 'ffw'),
'password' => env('DB_PASSWORD', 'forge'), 'password' => env('DB_PASSWORD', 'ffw'),
'unix_socket' => env('DB_SOCKET', ''), 'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8', 'charset' => 'utf8',
'collation' => 'utf8_unicode_ci', 'collation' => 'utf8_unicode_ci',

View File

@ -0,0 +1,37 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateSubscribeEm2024Table extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('subscribe_em_2024', function (Blueprint $table) {
$table->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');
}
}

View File

@ -0,0 +1,99 @@
@extends('layouts.app')
@section('social_media')
<meta property="fb:app_id" content="{{ config('social-media-manager.facebook.app_id') }}"/>
<meta property="og:type" content="website"/>
@endsection
@section('content')
<article class="post-item card pt-3 pb-3 mb-lg-5 shadow-sm">
<div class="row">
<h1 class="col-lg-12 card-title">
Anmeldung zur EM 2024
</h1>
</div>
<div class="row">
<div class="col-lg-12">
<hr>
</div>
</div>
<!-- -- >
<div class="row">
<div class="col-lg-6">
Links
</div>
<div class="col-lg-6 text-right">
Rechts
</div>
</div>
<div class="row">
<div class="col-lg-12">
<hr>
</div>
</div>
<!-- -->
@if($expired)
<div class="row">
<div class="col">
Es tut uns Leid, aber der Anmeldezeitraum ist abgelaufen.
</div>
</div>
@else
<div class="row">
<div class="col">
<p>
Hiermit melde ich zur EM 2024 bei meiner Feuerwehr an.
</p>
</div>
</div>
<div class="row">
<div class="col-lg-12 card-content">
<form action="{{ config('app.url') . '/anmeldung-em-2024/abschliessen' }}" method="POST">
{{ 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
])
<div class="form-group">
* Pflichtfeld
</div>
<div class="form-group">
<button class="btn btn-primary">Anmelden</button>
</div>
</form>
</div>
</div>
@endif
<div class="row mt-3">
<div class="col-lg-12 social-share">
@include('inc.social_media.facebook.likeShare')
</div>
</div>
</article>
@endsection

View File

@ -0,0 +1,31 @@
@extends('layouts.app')
@section('social_media')
<meta property="fb:app_id" content="{{ config('social-media-manager.facebook.app_id') }}"/>
<meta property="og:type" content="website"/>
@endsection
@section('content')
<article class="post-item card pt-3 pb-3 mb-lg-5 shadow-sm">
<div class="row">
<h1 class="col-lg-12 card-title">
Anmeldebestätigung
</h1>
</div>
<div class="row">
<div class="col-lg-12">
<hr>
</div>
</div>
<div class="row">
<div class="col">
Vielen Dank für die Anmeldung zur EM 2024 bei deiner Feuerwehr.<br/>
<br/>
Deine Feuerwehr Eppingen
<br/>
<br/>
</div>
</div>
</article>
@endsection

View File

@ -141,6 +141,17 @@ Route::post("anmeldung-dekon/abschliessen", [
'middleware' => 'auth', function (){} '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 (){}
]);
/****************************************/ /****************************************/