/** * @param Registration $registration */ public function updateAction(Registration $registration) { $registrationEntity = $registration->getPayload(); if (!$this->securityContext->hasRole('T3DD.Backend:Administrator') && (!$registrationEntity->getSecondsToExpiration() || $registrationEntity->getAccount() !== $this->securityContext->getAccount())) { $this->response->setStatus(403); return; } /** @var \T3DD\Backend\Domain\Service\MailService $mailService */ $mailService = $this->objectManager->get(\T3DD\Backend\Domain\Service\MailService::class); if (!$registrationEntity->isCompleted()) { $registrationEntity->setCompleted(TRUE); $mailService->sendRegistrationCompletedMail($registrationEntity); } /** @var \T3DD\Backend\Domain\Model\Registration\Participant $participant */ foreach ($registrationEntity->getParticipants() as $participant) { if ($participant->isRegistrant()) { $participant->setCompleted(TRUE); } else { // TODO: Send mails if we have a ui for the participant form // $mailService->sendParticipantCompleteRegistrationMail($participant); // $participant->setLastEmailSent(new \DateTime()); } } $this->registrationRepository->update($registrationEntity); $this->view->assign('value', $registration); }