/**
  * @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);
 }