#18 - membership

This commit was merged in pull request #23.
This commit is contained in:
Martin Slachta
2026-06-17 11:15:09 +02:00
parent df5f9b1df4
commit c754e18a82
25 changed files with 885 additions and 35 deletions
+15 -2
View File
@@ -53,9 +53,10 @@ class RsvReservationService {
try {
$reservation_id = $this->repo->insert($reservation->to_array());
$reservation->id = $reservation_id;
foreach ($reservation->timetable_reservations as $timetable_reservation) {
$timetable_reservation_service->create($reservation_id, $timetable_reservation);
$timetable_reservation->id = $timetable_reservation_service->create($reservation_id, $timetable_reservation);
}
Db::commit();
@@ -67,7 +68,19 @@ class RsvReservationService {
// Only now that the rows are durably committed do we let listeners
// (maintainer emails, calendar sync) observe the new reservation.
$timetable_reservation_service->flush_deferred_events();
foreach($reservation->timetable_reservations as $timetable_reservation) {
if($timetable_reservation->is_confirmed === null) {
$maintainer_email = (new RsvTimetableRepository())->get_maintainer_email($timetable_reservation->timetable_id);
RsvEventDispatcher::dispatch(new RsvTimetableReservationPendingEvent(
$reservation_id,
$timetable_reservation,
$timetable_reservation_service->get_confirmation_code($timetable_reservation->id),
$maintainer_email
));
}
RsvEventDispatcher::dispatch(new RsvTimetableReservationCreatedEvent($timetable_reservation, $reservation));
}
$this->confirmation_state_changed($reservation_id);