diff --git a/app/Domains/Dashboard/Controllers/DashboardController.php b/app/Domains/Dashboard/Controllers/DashboardController.php index 813dd63..9572fd5 100644 --- a/app/Domains/Dashboard/Controllers/DashboardController.php +++ b/app/Domains/Dashboard/Controllers/DashboardController.php @@ -7,8 +7,6 @@ use App\Providers\InertiaProvider; use App\Scopes\CommonController; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; -use Illuminate\Support\Facades\Auth; -use Illuminate\Support\Js; class DashboardController extends CommonController { public function __invoke(Request $request) { diff --git a/app/Domains/Event/Controllers/SignupController.php b/app/Domains/Event/Controllers/SignupController.php index 4134c35..f314c86 100644 --- a/app/Domains/Event/Controllers/SignupController.php +++ b/app/Domains/Event/Controllers/SignupController.php @@ -6,17 +6,16 @@ use App\Domains\Event\Actions\CertificateOfConductionCheck\CertificateOfConducti use App\Domains\Event\Actions\CertificateOfConductionCheck\CertificateOfConductionCheckRequest; use App\Domains\Event\Actions\SignUp\SignUpCommand; use App\Domains\Event\Actions\SignUp\SignUpRequest; +use App\Mail\EventSignUpSuccessfull; use App\Models\Tenant; -use App\Models\User; +use App\Providers\DoubleCheckEventRegistrationProvider; use App\Providers\InertiaProvider; -use App\Resources\EventResource; use App\Resources\UserResource; use App\Scopes\CommonController; -use App\ValueObjects\Amount; -use http\Env\Response; +use DateTime; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; -use Illuminate\Http\Resources\Json\JsonResource; +use Illuminate\Support\Facades\Mail; class SignupController extends CommonController { public function __invoke(int $eventId, Request $request) { @@ -76,11 +75,17 @@ class SignupController extends CommonController { $departure = \DateTime::createFromFormat('Y-m-d', $registrationData['departure']); $tetanusVaccination = $registrationData['tetanusVaccination'] ? \DateTime::createFromFormat('Y-m-d', $registrationData['tetanusVaccination']) : null; - // Steps: - // 1. Check, if bereits angemeldet + $doubleCheckEventRegistrationProvider = new DoubleCheckEventRegistrationProvider( + $event, + $registrationData['vorname'], + $registrationData['nachname'], + $registrationData['email_1'], + DateTime::createFromFormat('Y-m-d', $registrationData['geburtsdatum'])); + if ($doubleCheckEventRegistrationProvider->isRegistered()) { + return response()->json(['status' => 'exists']); + } - // $amount = $eventResource->calculateAmount( $registrationData['participationType'], $registrationData['beitrag'], @@ -138,9 +143,15 @@ class SignupController extends CommonController { $signupResponse->participant->efz_status = $certificateOfConductionCheckResponse->status; $signupResponse->participant->save(); - // 6. E-Mail senden & Bestätigung senden - + Mail::to($signupResponse->participant->email_1)->send(new EventSignUpSuccessfull( + participant: $signupResponse->participant, + )); + if ($signupResponse->participant->email_2 !== null) { + Mail::to($signupResponse->participant->email_2)->send(new EventSignUpSuccessfull( + participant: $signupResponse->participant, + )); + } return response()->json( [ diff --git a/app/Domains/Event/Views/Partials/SignUpForm/SignupForm.vue b/app/Domains/Event/Views/Partials/SignUpForm/SignupForm.vue index fa85ab2..b0c053c 100644 --- a/app/Domains/Event/Views/Partials/SignUpForm/SignupForm.vue +++ b/app/Domains/Event/Views/Partials/SignUpForm/SignupForm.vue @@ -18,8 +18,6 @@ const props = defineProps({ localGroups: Array, }) -console.log(props.participantData); - const emit = defineEmits(['registrationDone']) const { @@ -48,7 +46,7 @@ const steps = [ :participant="submitResult?.participant" :event="event" /> - +