Kurzanmeldungen
This commit is contained in:
@@ -4,6 +4,7 @@ namespace App\Domains\Event\Actions\SignUp;
|
||||
|
||||
use App\Enumerations\EatingHabit;
|
||||
use App\Enumerations\EfzStatus;
|
||||
use App\Enumerations\SwimmingPermission;
|
||||
use App\EventPaymentModules\EventPaymentModuleRegistry;
|
||||
use App\ValueObjects\Age;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
@@ -59,7 +60,7 @@ class SignUpCommand {
|
||||
'participation_type' => $this->request->participationType,
|
||||
'fee_type' => $this->request->feeType,
|
||||
'sibling_reduction' => $this->request->siblingReduction,
|
||||
'local_group' => $this->request->localGroup->slug,
|
||||
'local_group' => $this->request->localGroup?->slug,
|
||||
'birthday' => $this->request->birthday,
|
||||
'address_1' => $this->request->address_1,
|
||||
'address_2' => $this->request->address_2,
|
||||
@@ -75,9 +76,7 @@ class SignUpCommand {
|
||||
'medications' => $this->request->medications,
|
||||
'tetanus_vaccination' => $this->request->tetanus_vaccination,
|
||||
'eating_habit' => $eatingHabit,
|
||||
'swimming_permission' => ($participantAge->isfullAged() || $this->request->swimming_permission === '-1')
|
||||
? 'SWIMMING_PERMISSION_ALLOWED'
|
||||
: $this->request->swimming_permission,
|
||||
'swimming_permission' => $this->resolveSwimmingPermission($participantAge),
|
||||
'first_aid_permission' => ($participantAge->isfullAged() || $this->request->first_aid_permission === '-1')
|
||||
? 'FIRST_AID_PERMISSION_ALLOWED'
|
||||
: $this->request->first_aid_permission,
|
||||
@@ -109,6 +108,26 @@ class SignUpCommand {
|
||||
return $response;
|
||||
}
|
||||
|
||||
/**
|
||||
* Badeerlaubnis auflösen. Volljährige brauchen keine Erlaubnis. Für Minderjährige gilt die getroffene Auswahl;
|
||||
* fehlt sie -- weil die Veranstaltung die Badeerlaubnis gar nicht abfragt oder keine Wahl getroffen wurde --,
|
||||
* wird bewusst "Keine" hinterlegt und nicht etwa stillschweigend eine Erlaubnis angenommen.
|
||||
*/
|
||||
private function resolveSwimmingPermission(Age $participantAge): string
|
||||
{
|
||||
if ($participantAge->isfullAged()) {
|
||||
return SwimmingPermission::SWIMMING_PERMISSION_ALLOWED;
|
||||
}
|
||||
|
||||
if (!$this->request->event->swimming_permission_required
|
||||
|| $this->request->swimming_permission === null
|
||||
|| $this->request->swimming_permission === '-1') {
|
||||
return SwimmingPermission::SWIMMING_PERMISSION_DENIED;
|
||||
}
|
||||
|
||||
return $this->request->swimming_permission;
|
||||
}
|
||||
|
||||
/**
|
||||
* Nächste laufende Nummer des Teilis innerhalb der Veranstaltung -- der letzte Block der
|
||||
* Rechnungsnummer. Die Event-Zeile wird gesperrt, damit gleichzeitige Anmeldungen derselben
|
||||
|
||||
Reference in New Issue
Block a user