Feuerwehr-eppingen/app/Http/Controllers/SurveyController.php
2022-08-17 21:20:44 +02:00

89 lines
2.4 KiB
PHP

<?php
/**
* Created by PhpStorm.
* User: Marco Glietsch
* Date: 22.11.2018
* Time: 09:28
*/
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use App\Models\SurveyVaccinationState;
use App\Helpers\AccessHelper as Access;
use \Carbon\Carbon;
use Response;
use Illuminate\Support\Facades\Input;
use App\Helpers\StringHelper;
class SurveyController extends ExtendedController
{
public function __construct()
{
$this->middleware(['auth' => 'surveyPermissions'])->except('surveyVaccinationState', 'surveyVaccinationStateSave');
parent::__construct();
}
public function surveyVaccinationState(Request $request)
{
$formdata = new SurveyVaccinationState();
$view = view("inc.survey.vaccinationState");
$view->with('url', $this->route);
$view->with('formdata', $formdata);
$view->with('expired', false);
return $view;
}
public function surveyVaccinationStateSave(Request $request)
{
$request->request->add(['state' => $request->state[0]]);
$request->request->add(['age' => $request->age[0]]);
$validationData = [
'department' => 'required',
'state' => 'required|min:3',
'age' => 'required',
];
if(strtolower($request->state) == 'geimpft' or
strtolower($request->state) == 'genesen' or
strtolower($request->state) == 'geboostert')
{
$validationData['expiration_date'] = 'date_format:d.m.Y|after:today';
}
$formdata = $request->validate(
$validationData,
[
'department.required' => 'Pflichtfeld',
'age.required' => 'Pflichtfeld',
'state.required' => 'Pflichtfeld',
'state.min' => 'Mindestens :min Zeichen',
'expiration_date.date_format' => 'Das Datum muss im Format tt.mm.jjjj (tag.monat.jahr) eingegeben werden',
'expiration_date.after' => 'Das Datum muss in der Zukunft liegen',
]);
$expiration_date = Carbon::createFromDate(1900, 1, 1);
if(strtolower($request->state) == 'geimpft' or
strtolower($request->state) == 'genesen' or
strtolower($request->state) == 'geboostert')
{
$expiration_date = Carbon::createFromFormat('d.m.Y', $request->expiration_date);
}
$model = new SurveyVaccinationState();
$model->fill($request->all());
$model->expiration_date = $expiration_date;
$model->department = $request->department[0];
$model->survey_id = 1;
$model->save();
$view = view("inc.survey.vaccinationStateSuccess");
return $view;
}
}