/** * action createParticipant * * @param Reservation $reservation * @param Person $newParticipant * @return void */ public function createParticipantAction(Reservation $reservation, Person $newParticipant) { if (!$reservation->getStatus() == Reservation::STATUS_DRAFT) { $reservation->setStatus(Reservation::STATUS_DRAFT); } $newParticipant->setType(Person::PERSON_TYPE_PARTICIPANT); $reservation->getLesson()->addParticipant($newParticipant); $reservation->addParticipant($newParticipant); $this->reservationRepository->update($reservation); $this->persistenceManager->persistAll(); $this->addFlashMessage($this->translate('message.reservation.createParticipant.success')); $this->redirect('edit', null, null, ['reservation' => $reservation]); }
/** * @test */ public function setStatusForIntegerSetsStatus() { $this->subject->setStatus(12); $this->assertAttributeEquals(12, 'status', $this->subject); }
/** * @test */ public function newParticipantActionDoesNotDenyAccessIfReservationStatusIsDraft() { $mockRequest = $this->getMock(Request::class); $this->mockView(); $this->inject($this->subject, 'request', $mockRequest); $reservation = new Reservation(); $reservation->setStatus(Reservation::STATUS_DRAFT); $this->subject->expects($this->never())->method('denyAccess'); $this->subject->newParticipantAction($reservation); }
/** * Confirm Action * * @param Reservation $reservation * @return void */ public function confirmAction(Reservation $reservation) { // @todo optionally read reservation status from settings $reservation->setStatus(Reservation::STATUS_SUBMITTED); $this->addFlashMessage($this->translate('message.reservation.confirm.success')); if (is_array($this->settings['reservation']['confirm']['notification'])) { foreach ($this->settings['reservation']['confirm']['notification'] as $identifier => $config) { $this->sendNotification($reservation, $identifier, $config); } } $this->reservationRepository->update($reservation); $this->redirect('show', null, null, ['reservation' => $reservation]); }