public function checkAccessAnswer(User $user, Question $question)
 {
     if ($question instanceof Petition && $question->getIsOutsidersSign()) {
         return true;
     }
     $questionOwner = $question->getUser();
     if ($questionOwner instanceof Superuser) {
         return true;
     }
     if ($questionOwner instanceof Group) {
         $userGroup = $this->entityManager->getRepository('CivixCoreBundle:UserGroup')->isJoinedUser($questionOwner, $user);
         if ($userGroup instanceof UserGroup && $userGroup->getStatus() == UserGroup::STATUS_ACTIVE) {
             return true;
         }
         return false;
     }
     if ($questionOwner instanceof Representative) {
         $userDistricts = $user->getDistrictsIds();
         if (array_search($questionOwner->getDistrictId(), $userDistricts) !== false) {
             return true;
         }
         return false;
     }
     return false;
 }
 /**
  * @Route("/{id}/answers/")
  * @Method("GET")
  */
 public function answersListAction(Question $question)
 {
     if ($question->getUser() !== $this->getUser()) {
         return $this->createJSONResponse('', 403);
     }
     $answers = $this->getDoctrine()->getRepository(Answer::class)->findByQuestion($question);
     return $this->createJSONResponse($this->jmsSerialization($answers, ['api-leader-answers']));
 }
 /**
  * @Route("/delete/{id}", requirements={"id"="\d+"})
  * @ParamConverter("question", class="CivixCoreBundle:Poll\Question")
  */
 public function deleteAction(Request $request, Question $question)
 {
     $entityManager = $this->getDoctrine()->getManager();
     if ($question->getUser() !== $this->getUser()) {
         throw new AccessDeniedHttpException();
     }
     if ($this->getToken() === $request->get('token') && $question->getPublishedAt() === null) {
         $entityManager->remove($question);
         $entityManager->flush();
         $this->get('session')->getFlashBag()->add('notice', 'Question has been successfully removed');
     } else {
         $this->get('session')->getFlashBag()->add('error', 'Something went wrong');
     }
     return $this->redirect($this->generateUrl('civix_front_' . $this->getUser()->getType() . '_question_index'));
 }
 public function setQuestion(Question $question)
 {
     $this->question = $question;
     $this->questionOwner = $this->getClassName($question->getUser());
 }