Example #1
0
 /**
  * @param Vote $vote
  * @return string
  * @validate $vote \Visol\Votable\Domain\Validator\VoteExistsValidator
  */
 public function removeAction(Vote $vote)
 {
     // Send signal
     $signalResult = $this->getSignalSlotDispatcher()->dispatch(self::class, 'beforeVoteChange', [$vote, 'remove']);
     $vote = $signalResult[0];
     $this->voteRepository->remove($vote);
     $this->view->assign('vote', $vote);
     // Send signal
     $this->getSignalSlotDispatcher()->dispatch(self::class, 'afterVoteChange', [$vote, 'remove']);
     $this->response->setHeader('Content-Type', 'application/json');
     return json_encode(['action' => 'remove', 'success' => !$this->voteRepository->exists($vote), 'identifier' => 0]);
 }