frontend: send customer password

This commit is contained in:
Roland Schneider
2021-09-15 20:52:33 +02:00
parent 3c03e49b99
commit 65fa335a7b
9 changed files with 263 additions and 77 deletions

View File

@@ -75,10 +75,10 @@ class EventRegistrationManager extends BaseObject
throw new NotFoundHttpException('Customer not found', self::CUSTOMER_NOT_FOUND);
}
// $activeTickets = $card->getActiveTickets();
// if (count($activeTickets) === 0) {
// throw new NotFoundHttpException('Ticket not found', self::TICKET_NOT_FOUND);
// }
$activeTickets = $card->getActiveTickets();
if (count($activeTickets) === 0) {
throw new NotFoundHttpException('Ticket not found', self::TICKET_NOT_FOUND);
}
/** @var Event $event */
$event = Event::find()->andWhere(['id' => $cardEventForm->event_id])->one();
@@ -100,26 +100,35 @@ class EventRegistrationManager extends BaseObject
throw new ServerErrorHttpException('Event type not found', self::EVENT_TYPE_NOT_FOUND);
}
// $selectedTicket = $eventType->findTicketAllowingEventType($activeTickets);
//
//
// if (!isset($selectedTicket)) {
// throw new NotFoundHttpException('Ticket not found', self::TICKET_INSUFFICIENT);
// }
//
// if ($selectedTicket->hasOpenReservationCount()) {
// $selectedTicket->consumeReservationCount(1);
// }
// $selectedTicket->save();
//detect if customer is already registered to event
$registrations = $event->getActiveEventRegistrations()->all();
foreach ($registrations as $registration ){
if ($registration->customer_id == $card->customer->id_customer){
throw new BadRequestHttpException("Already registered");
}
}
$selectedTicket = $eventType->findTicketAllowingEventType($activeTickets);
if (!isset($selectedTicket)) {
throw new NotFoundHttpException('Ticket not found', self::TICKET_INSUFFICIENT);
}
if ($selectedTicket->hasOpenReservationCount()) {
$selectedTicket->consumeReservationCount(1);
}
$selectedTicket->save();
$registration = new EventRegistration();
$registration->id_event = $event->id;
$registration->id_card = $card->id_card;
// $registration->id_ticket = $selectedTicket->id_ticket;
$registration->id_ticket = $selectedTicket->id_ticket;
$registration->id_customer = $card->customer->id_customer;
try {
$registration->save(false);
} catch (Throwable $exception) {
} catch (\yii\db\Exception $exception) {
throw new ServerErrorHttpException('Failed to save', self::UNKNOWN_ERROR);
}