Anmeldeformular für Bevölkerungsschutzübung 2025
This commit is contained in:
parent
a52238dd5d
commit
c29160a240
@ -17,6 +17,7 @@ use App\Models\SubscribeYouthFireFighter;
|
|||||||
use App\Models\SubscribeDekon;
|
use App\Models\SubscribeDekon;
|
||||||
use App\Models\SubscribeHelperParty;
|
use App\Models\SubscribeHelperParty;
|
||||||
use App\Models\SubscribeEm2024;
|
use App\Models\SubscribeEm2024;
|
||||||
|
use App\Models\SubscribePopulationExercise;
|
||||||
use App\Helpers\AccessHelper as Access;
|
use App\Helpers\AccessHelper as Access;
|
||||||
use \Carbon\Carbon;
|
use \Carbon\Carbon;
|
||||||
use Response;
|
use Response;
|
||||||
@ -43,7 +44,9 @@ class ContactController extends ExtendedController
|
|||||||
'subscribeHelperPartySave',
|
'subscribeHelperPartySave',
|
||||||
'subscribeEm2024',
|
'subscribeEm2024',
|
||||||
'subscribeEm2024Save',
|
'subscribeEm2024Save',
|
||||||
'subscribeEm2024Info'
|
'subscribeEm2024Info',
|
||||||
|
'subscribePopulationExercise',
|
||||||
|
'subscribePopulationExerciseSave'
|
||||||
);
|
);
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
}
|
}
|
||||||
@ -422,7 +425,7 @@ class ContactController extends ExtendedController
|
|||||||
'firstname.required' => 'Pflichtfeld',
|
'firstname.required' => 'Pflichtfeld',
|
||||||
'firstname.min' => 'Mindestens :min Zeichen',
|
'firstname.min' => 'Mindestens :min Zeichen',
|
||||||
'lastname.required' => 'Pflichtfeld',
|
'lastname.required' => 'Pflichtfeld',
|
||||||
'lasstname.min' => 'Mindestens :min Zeichen',
|
'lastname.min' => 'Mindestens :min Zeichen',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|
||||||
@ -457,4 +460,68 @@ class ContactController extends ExtendedController
|
|||||||
|
|
||||||
return $view;
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
29
app/Models/SubscribePopulationExercise.php
Normal file
29
app/Models/SubscribePopulationExercise.php
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?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 SubscribePopulationExercise extends ExtendedModel
|
||||||
|
{
|
||||||
|
protected $table = 'subscribe_population_exercise';
|
||||||
|
protected $fillable = [
|
||||||
|
'lastname',
|
||||||
|
'firstname',
|
||||||
|
'street',
|
||||||
|
'streetnumber',
|
||||||
|
'city',
|
||||||
|
'phone',
|
||||||
|
'email',
|
||||||
|
'driving'
|
||||||
|
];
|
||||||
|
}
|
||||||
@ -0,0 +1,40 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
|
||||||
|
class CreateSubscribePopulationExerciseTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('subscribe_population_exercise', function (Blueprint $table) {
|
||||||
|
$table->increments('id');
|
||||||
|
$table->string('lastname', 50);
|
||||||
|
$table->string('firstname', 50);
|
||||||
|
$table->string('street', 50);
|
||||||
|
$table->string('streetnumber', 5);
|
||||||
|
$table->string('city', 20);
|
||||||
|
$table->string('phone', 50);
|
||||||
|
$table->string('email', 100);
|
||||||
|
$table->boolean('driving');
|
||||||
|
$table->timestamps();
|
||||||
|
$table->softDeletes();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('subscribe_population_exercise');
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,183 @@
|
|||||||
|
@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 Bevölkerungsschutzübung
|
||||||
|
</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>
|
||||||
|
Sehr geehrte Damen und Herren,<br/>
|
||||||
|
<br/>
|
||||||
|
die Stadt Eppingen plant zusammen mit der Feuerwehr Eppingen am 10.05.2025 eine
|
||||||
|
Bevölkerungsschutzübung, bei der wir die Unterstützung möglichst vieler Statisten
|
||||||
|
benötigen.<br/>
|
||||||
|
In diesem Zusammenhang möchte ich Sie um ihre Hilfe bitten.
|
||||||
|
Wir möchten die Einrichtung von Notrufposten und Notfalltreffpunkten welche bei
|
||||||
|
Großschadenslagen wie z.B. bei einem flächendeckenden Stromausfall so realitätsnah wie
|
||||||
|
möglich proben.<br/>
|
||||||
|
Hierzu werden in allen Stadtteilen der Gesamtstadt Eppingen die Notrufposten und
|
||||||
|
Notfalltreffpunkte durch ehrenamtliche in der Zeit zwischen 9 Uhr und 12 Uhr in Betrieb
|
||||||
|
genommen.<br/>
|
||||||
|
Die Statisten bekommen nach der Anmeldung über die Homepage der Feuerwehr Eppingen
|
||||||
|
eine vorgefertigte Rolle zugeteilt. Den weiteren Anweisungen ist dann Folge zu leisten.
|
||||||
|
Eine derartige Übung gab es bislang noch nicht. Das Gelingen wird maßgeblich davon
|
||||||
|
abhängen, wie viele Statisten sich finden und mitmachen werden. Über ihren Beitrag zum
|
||||||
|
positiven Verlauf der Übung würde ich mich sehr freuen und wäre Ihnen persönlich sehr
|
||||||
|
dankbar.<br/>
|
||||||
|
Sicherlich haben Sie noch einige Fragen. Hierzu verweise ich Sie an die FAQs am Ende dieser Seite.<br/>
|
||||||
|
<br/>
|
||||||
|
Mit freundlichen Grüßen<br/>
|
||||||
|
<br/>
|
||||||
|
Thomas Blösch
|
||||||
|
Feuerwehr Eppingen
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12 card-content">
|
||||||
|
<form action="{{ config('app.url') . '/anmeldung-bevoelkerungsschutzuebung/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.inputText', [
|
||||||
|
'name' => 'street',
|
||||||
|
'label' => 'Straße *',
|
||||||
|
'placeholder' => 'Straße',
|
||||||
|
'value' => $formdata->street
|
||||||
|
])
|
||||||
|
@include('inc.forms.inputText', [
|
||||||
|
'name' => 'streetnumber',
|
||||||
|
'label' => 'Hausnummer *',
|
||||||
|
'placeholder' => 'Hausnummer',
|
||||||
|
'value' => $formdata->streetnumber
|
||||||
|
])
|
||||||
|
{{ $formdata->streetnumber }}
|
||||||
|
@include('inc.forms.inputSelect', [
|
||||||
|
'name' => 'city',
|
||||||
|
'label' => 'Wohnort *',
|
||||||
|
'placeholder' => 'Wohnort',
|
||||||
|
'selected' => old('city.0'),
|
||||||
|
'modelValue' => 'city',
|
||||||
|
'modelLabel' => 'city',
|
||||||
|
'models' => [
|
||||||
|
(object)['city' => ''],
|
||||||
|
(object)['city' => 'Adelshofen'],
|
||||||
|
(object)['city' => 'Elsenz'],
|
||||||
|
(object)['city' => 'Eppingen'],
|
||||||
|
(object)['city' => 'Kleingartach'],
|
||||||
|
(object)['city' => 'Mühlbach'],
|
||||||
|
(object)['city' => 'Richen'],
|
||||||
|
(object)['city' => 'Rohrbach']
|
||||||
|
]
|
||||||
|
])
|
||||||
|
@include('inc.forms.inputText', [
|
||||||
|
'name' => 'phone',
|
||||||
|
'label' => 'Telefonnummer für Rückfragen *',
|
||||||
|
'placeholder' => 'Telefonnummer',
|
||||||
|
'value' => $formdata->phone
|
||||||
|
])
|
||||||
|
@include('inc.forms.inputText', [
|
||||||
|
'name' => 'email',
|
||||||
|
'label' => 'Emailadresse für weiterführende Informationen *',
|
||||||
|
'placeholder' => 'Email',
|
||||||
|
'value' => $formdata->email
|
||||||
|
])
|
||||||
|
Ich bin an diesem Tag Mobil und kann fahren.
|
||||||
|
@include('inc.forms.inputCheckbox', [
|
||||||
|
'name' => 'driving',
|
||||||
|
'label' => 'Fahrmöglichkeit vorhanden',
|
||||||
|
'model' => $formdata
|
||||||
|
])
|
||||||
|
|
||||||
|
<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">
|
||||||
|
<h3>FAQs</h3>
|
||||||
|
<p>
|
||||||
|
<b>Was müssen die Statisten tun?</b><br/>
|
||||||
|
Statisten bekommen per Mail in der Woche vor der Bevölkerungsschutzübung eine Rolle
|
||||||
|
zugeteilt. Dort aufgeführt ist die jeweilige Adresse, an der die Rolle abgespielt werden soll
|
||||||
|
und die Uhrzeit der Einspielung. Es wird versucht die Rolle auf das eigene Ortsteil zu
|
||||||
|
beschränken. Das Übungsende ist für 12 Uhr vorgesehen.
|
||||||
|
<br/>
|
||||||
|
<br/>
|
||||||
|
<b>Wie kann ich mich als Teilnehmender anmelden?</b><br/>
|
||||||
|
Bitte melden Sie ihre Teilnahme online über www.feuerwehr-eppingen.de mit. Sie
|
||||||
|
bekommen dann eine Anmeldebestätigung.<br/>
|
||||||
|
<br/>
|
||||||
|
<b>Wer darf teilnehmen?</b><br/>
|
||||||
|
Alle volljährigen Personen, die sich zum Zeitpunkt der Übung geistig und körperlich in der
|
||||||
|
Lage fühlen, an der Bevölkerungsschutzübung teilzunehmen. Dies liegt in ihrer eigenen
|
||||||
|
Verantwortung. Durch ihre Anwesenheit bestätigen Sie uns, dass Sie sich fit für die Rolle als
|
||||||
|
Statist fühlen.
|
||||||
|
Minderjährige Personen dürfen nur dann teilnehmen, wenn Sie in Begleitung eines
|
||||||
|
Erwachsenen sind, der die Aufsichtspflicht über sie ausüben kann und darf.<br/>
|
||||||
|
<br/>
|
||||||
|
<b>Bild- und Videoaufnahmen!!</b><br/>
|
||||||
|
Wir möchten Sie darauf hinweisen, dass bei der Veranstaltung Fotos und Videos gefertigt
|
||||||
|
werden. Die Fotos und Videos werden zum Zweck der Dokumentation der Veranstaltung und
|
||||||
|
im Rahmen unserer Öffentlichkeitsarbeit verwendet. Wenn Sie nicht fotografiert oder gefilmt
|
||||||
|
werden möchten, sprechen Sie dies bitte unmittelbar beim Fotografen an.<br/>
|
||||||
|
<br/>
|
||||||
|
Rechtsgrundlage für die o.g. Datenverarbeitung ist Art. 6 Abs. 1 Satz 1 lit. e, Abs. 2, Abs. 3
|
||||||
|
DSGVO i.V.m. § 3 LDSG.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
@endsection
|
||||||
@ -0,0 +1,32 @@
|
|||||||
|
@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 Bevölkerungsschutzübung.<br/>
|
||||||
|
Wir werden Ihre Anmeldung überprüfen uns uns mit Ihnen in Verbindung setznen
|
||||||
|
<br/>
|
||||||
|
Ihre Feuerwehr Eppingen
|
||||||
|
<br/>
|
||||||
|
<br/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</article>
|
||||||
|
@endsection
|
||||||
@ -164,6 +164,17 @@ Route::get("anmeldung-em-2024/info", [
|
|||||||
'middleware' => 'auth', function (){}
|
'middleware' => 'auth', function (){}
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
Route::get("anmeldung-bevoelkerungsschutzuebung", [
|
||||||
|
"uses" => "ContactController@subscribePopulationExercise",
|
||||||
|
], [
|
||||||
|
'middleware' => 'auth', function (){}
|
||||||
|
]);
|
||||||
|
Route::post("anmeldung-bevoelkerungsschutzuebung/abschliessen", [
|
||||||
|
"uses" => "ContactController@subscribePopulationExerciseSave",
|
||||||
|
], [
|
||||||
|
'middleware' => 'auth', function (){}
|
||||||
|
]);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/****************************************/
|
/****************************************/
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user