Anmeldeformular für Helferfest

Anmeldeformular für Helferfest hinzugefügt
This commit is contained in:
Marco Glietsch 2022-10-19 22:12:03 +02:00
parent 1a900c5106
commit b17a43333e
7 changed files with 286 additions and 42 deletions

View File

@ -14,6 +14,7 @@ use Illuminate\Support\Facades\DB;
use App\Models\SubscribeChild;
use App\Models\SubscribeVaccinate;
use App\Models\SubscribeYouthFireFighter;
use App\Models\SubscribeHelperParty;
use App\Helpers\AccessHelper as Access;
use \Carbon\Carbon;
use Response;
@ -24,7 +25,16 @@ class ContactController extends ExtendedController
{
public function __construct()
{
$this->middleware(['auth' => 'contactPermissions'])->except('subscribe', 'subscribeSave', 'count', 'subscribeVaccinate', 'subscribeVaccinateSave', 'subscribeYouthFireFighter', 'subscribeYouthFireFighterSave');
$this->middleware(['auth' => 'contactPermissions'])->except(
'subscribe',
'subscribeSave',
'count',
'subscribeVaccinate',
'subscribeVaccinateSave',
'subscribeYouthFireFighter',
'subscribeYouthFireFighterSave',
'subscribeHelperParty',
'subscribeHelperPartySave');
parent::__construct();
}
@ -245,4 +255,65 @@ class ContactController extends ExtendedController
return $view;
}
/****************************/
/* Anmeldung zum Helferfest */
/****************************/
public function subscribeHelperParty(Request $request)
{
$formdata = new SubscribeYouthFireFighter();
$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;
}
}

View File

@ -0,0 +1,25 @@
<?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 SubscribeHelperParty extends ExtendedModel
{
protected $table = 'subscribe_helper_party';
protected $fillable = [
'lastname',
'firstname',
'countMatures',
'countChildren',
];
}

View File

@ -1,41 +0,0 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateSubscribeYouthFireFighterTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('subscribe_youth_fire_fighter', function (Blueprint $table) {
$table->increments('id');
$table->string('lastnameParent', 50);
$table->string('firstnameParent', 50);
$table->string('firstnameChild', 50);
$table->string('street', 50);
$table->string('streetnumber', 5);
$table->string('city', 20);
$table->string('phone', 50);
$table->date('birthday');
$table->string('email', 100);
$table->timestamps();
$table->softDeletes();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('subscribe_child');
}
}

View File

@ -0,0 +1,36 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateSubscribeHelperPartyTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('subscribe_helper_party', function (Blueprint $table) {
$table->increments('id');
$table->string('lastname', 50);
$table->string('firstname', 50);
$table->integer('countMatures');
$table->integer('countChildren');
$table->timestamps();
$table->softDeletes();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('subscribe_helper_party');
}
}

View File

@ -0,0 +1,94 @@
@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 zum Helferfest am 10.12.2022
</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 mich zum Helferfest am 10.12.2022 an.
</p>
</div>
</div>
<div class="row">
<div class="col-lg-12 card-content">
<form action="{{ config('app.url') . '/anmeldung/helferfest/abschliessen' }}" method="POST">
{{ csrf_field() }}
@include('inc.forms.inputText', [
'name' => 'lastname',
'label' => 'Nachname *',
'placeholder' => 'Nachname',
'value' => $formdata->firstname
])
@include('inc.forms.inputText', [
'name' => 'firstname',
'label' => 'Vorname*',
'placeholder' => 'Vorname',
'value' => $formdata->lastname
])
@include('inc.forms.inputText', [
'name' => 'countMatures',
'label' => 'Anzahl Erwachsener',
'placeholder' => '',
'value' => $formdata->countMatures
])
@include('inc.forms.inputText', [
'name' => 'countChildren',
'label' => 'Anzahl Kinder',
'placeholder' => '',
'value' => $formdata->countChildren
])
<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,48 @@
@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">
@if(isset($exist))
Du bist bereits angemeldet. Deine geänderten Anmeldedaten wurden gespeichert.
@else
Vielen Dank für die Anmeldung zum Helferfest.<br/>
@endif
<div class="row">
<div class="col">Name:</div>
<div class="col"><b>{{ $firstname }} {{ $lastname }}</b></div>
</div>
<div class="row">
<div class="col">Anzahl Erwachsener:</div>
<div class="col"><b>{{ $countMatures }}</b></div>
</div>
<div class="row">
<div class="col">Anzahl Kinder:</div>
<div class="col"><b>{{ $countChildren }}</b></div>
</div>
<br/>
Deine Feuerwehr Eppingen
<br/>
<br/>
</div>
</div>
</article>
@endsection

View File

@ -118,6 +118,17 @@ Route::post("anmeldung-kinderfeuerwehr/abschliessen", [
'middleware' => 'auth', function (){}
]);
Route::get("anmeldung/helferfest", [
"uses" => "ContactController@subscribeHelperParty",
], [
'middleware' => 'auth', function (){}
]);
Route::post("anmeldung/helferfest/abschliessen", [
"uses" => "ContactController@subscribeHelperPartySave",
], [
'middleware' => 'auth', function (){}
]);
/****************************************/