145 lines
3.9 KiB
PHP
145 lines
3.9 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\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 App\Models\SurveyVaccinationState;
|
|
use App\Models\Survey1;
|
|
|
|
class SurveyController extends ExtendedController
|
|
{
|
|
public function __construct()
|
|
{
|
|
$this->middleware(['auth' => 'surveyPermissions'])->except(
|
|
'surveyVaccinationState',
|
|
'surveyVaccinationStateSave',
|
|
'survey1',
|
|
'survey1Save'
|
|
);
|
|
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;
|
|
}
|
|
|
|
public function survey1(Request $request)
|
|
{
|
|
$formdata = new Survey1();
|
|
$view = view("inc.survey.survey1");
|
|
$view->with('url', $this->route);
|
|
$view->with('formdata', $formdata);
|
|
$view->with('expired', false);
|
|
|
|
return $view;
|
|
}
|
|
|
|
public function survey1Save(Request $request)
|
|
{
|
|
$request->request->add(['state' => $request->state[0]]);
|
|
$request->request->add(['age' => $request->age[0]]);
|
|
|
|
$request->request->add(['city' => $request->city[0]]);
|
|
$formdata = $request->validate([
|
|
'firstname' => 'required|min:3',
|
|
'lastname' => 'required|min:3',
|
|
'city' => 'required|min:3',
|
|
'email' => 'required|email',
|
|
],
|
|
[
|
|
'firstname.required' => 'Pflichtfeld',
|
|
'firstname.min' => 'Mindestens :min Zeichen',
|
|
'lastname.required' => 'Pflichtfeld',
|
|
'lastname.min' => 'Mindestens :min Zeichen',
|
|
'city.required' => 'Pflichtfeld',
|
|
'city.min' => 'Mindestens :min Zeichen',
|
|
'email.required' => 'Pflichtfeld',
|
|
'email.email' => 'Keine gültige Emailadresse',
|
|
]);
|
|
|
|
|
|
|
|
$model = new Survey1();
|
|
$model->fill($request->all());
|
|
$model->city = $request->city;
|
|
$model->support = $request->has('support') ? $request->input('support') : false;
|
|
$model->save();
|
|
|
|
$view = view("inc.survey.survey1Success");
|
|
|
|
|
|
return $view;
|
|
}
|
|
} |