Exemplo n.º 1
0
 /**
  * cancel action
  *
  * @return void
  */
 public function cancelAction()
 {
     if (!$this->div->isLoggedUserInGroup($this->settings['participantGroupId'])) {
         $this->addFlashMessage($this->div->translate('message.noParticipant', $this->extensionName), '', \TYPO3\CMS\Core\Messaging\AbstractMessage::ERROR);
         $this->redirect('list');
     }
     if ($this->request->hasArgument('offset')) {
         $offset = $this->request->getArgument('offset');
         if ($offset < 0) {
             $this->addFlashMessage($this->div->translate('message.pastEventError', $this->extensionName), '', \TYPO3\CMS\Core\Messaging\AbstractMessage::ERROR);
             $this->redirect('list', Null, Null, array('offset' => $offset));
         }
     }
     if (!$this->request->hasArgument('offset')) {
         $offset = 0;
     }
     $eventStartDate = $this->div->nextEventDate($offset);
     $events = $this->eventRepository->findByStart($eventStartDate->format("Y-m-d H:i:s"));
     if ($events->count() == 0) {
         $this->div->createEvent($eventStartDate);
         $events = $this->eventRepository->findByStart($eventStartDate->format("Y-m-d H:i:s"));
     }
     $eventParticipant = $this->participantRepository->findParticipant($events->getFirst()->getUid(), $this->div->getLoggedUserId());
     if ($eventParticipant->count() == 0) {
         $participant = new \PoiCom\PcEventScheduler\Domain\Model\Participant();
         $participant->setParticipantUserId($this->div->getLoggedUser());
         $participant->setAccept(FALSE);
         $events->getFirst()->addParticipant($participant);
         $this->eventRepository->update($events->getFirst());
     }
     if ($eventParticipant->count() > 0) {
         if ($eventParticipant->getFirst()->getAccept()) {
             $eventParticipant->getFirst()->setAccept(FALSE);
             $this->eventRepository->update($events->getFirst());
         }
     }
     $this->addFlashMessage($this->div->translate('message.canceledEvent', $this->extensionName), '', \TYPO3\CMS\Core\Messaging\AbstractMessage::OK);
     $this->redirect('list', Null, Null, array('offset' => $offset));
 }