public function __construct(\Civix\CoreBundle\Entity\Poll\Question $question = null) { $this->question = $question; foreach ($question->getEducationalContext() as $context) { $this->items[] = new EducationalItem($context); } }
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; }
public function updateResponseCountQuestion(Question $question) { $query = $this->getEntityManager()->createQuery('UPDATE Civix\\CoreBundle\\Entity\\Activities\\Question a SET a.responsesCount = :questions_count WHERE a.questionId = :question'); $query->setParameter('question', $question->getId())->setParameter('questions_count', $question->getAnswersCount()); return $query->execute(); }
/** * @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'])); }
private function getQuestionDetails(Question $question, $class) { try { $questionDetails = $this->getDoctrine()->getRepository('CivixCoreBundle:Poll\\Question')->getPublishedQuestionWithAnswers($question->getId(), $class); } catch (LogicException $e) { throw $this->createNotFoundException(); } if (!$questionDetails) { throw $this->createNotFoundException(); } $statistics = $question->getStatistic(['#7ac768', '#ba3830', '#4fb0f3', '#dbfa08', '#08fac4']); return ['statistics' => $statistics, 'question' => $questionDetails]; }
/** * @param Question $question * @param bool $saveTagsInEntity */ public function addForQuestion(Question $question, $saveTagsInEntity = true) { $em = $this->getEntityManager(); if ($question instanceof PollPetition) { $tags = HashTagParser::parseHashTags($question->getPetitionBody()); } else { $tags = HashTagParser::parseHashTags($question->getSubject()); } foreach ($tags['parsed'] as $tag) { $entity = $this->findOneByName($tag); if (!$entity) { $entity = new HashTag($tag); $em->persist($entity); } $entity->addQuestion($question); $em->flush($entity); } if ($saveTagsInEntity) { $question->setCachedHashTags($tags['original']); $em->flush($question); } }
public function findNotPaidOut(Question $question) { return $this->createQueryBuilder('ph')->where('ph.question_id = :question')->andWhere('ph.state = :state')->andWhere('ph.paidOut IS NULL')->andWhere('ph.toUser IS NOT NULL')->setParameter('state', PaymentHistory::STATE_SUCCESS)->setParameter('question', $question->getId())->getQuery()->getResult(); }
private function getPreviewByPoll(Question $question) { if ($question instanceof \Civix\CoreBundle\Entity\Poll\Question\Petition) { return $this->preparePreview($question->getPetitionTitle()); } if ($question instanceof \Civix\CoreBundle\Entity\Poll\Question\PaymentRequest) { return $this->preparePreview($question->getTitle()); } if ($question instanceof \Civix\CoreBundle\Entity\Poll\Question\LeaderEvent) { return $this->preparePreview($question->getTitle()); } return $this->preparePreview($question->getSubject()); }
private function createActivityConditionsForQuestion(Activity $activity, Question $question) { if ($activity->getRepresentative() && $activity->getRepresentative()->getDistrict()) { $this->createRepresentativeActivityConditions($activity); } elseif ($activity->getGroup()) { if ($question instanceof GroupSectionInterface && $question->getGroupSections()->count() > 0) { foreach ($question->getGroupSections() as $section) { $this->createGroupSectionActivityConditions($activity, $section); } } else { $this->createGroupActivityConditions($activity); } } elseif ($activity->getSuperuser()) { $this->createSuperuserActivityConditions($activity); } }
/** * @param string $subject * @return $this */ public function setSubject($subject) { parent::setSubject($subject); $this->setSubjectParsed(\Civix\CoreBundle\Parser\UrlConverter::convert($subject)); return $this; }
/** * @param \Civix\CoreBundle\Entity\Poll\Question $question * @param type $answersCount * @return \Civix\CoreBundle\Entity\Poll\Option */ protected function createNewOption(\Civix\CoreBundle\Entity\Poll\Question $question, $answersCount = 0) { $option = new \Civix\CoreBundle\Entity\Poll\Option(); for ($i = 0; $i < $answersCount; $i++) { $answer = $this->getNewAnswer(); $option->addAnswer($answer); $question->addAnswer($answer); } return $option; }
/** * @Route("/details/{id}", requirements={"id"="\d+"}) * @ParamConverter("question", class="CivixCoreBundle:Poll\Question") * @Template("CivixFrontBundle:Question:details.html.twig") */ public function detailsAction(Request $request, Question $question) { $entityManager = $this->getDoctrine()->getManager(); $statistics = $question->getStatistic(['#7ac768', '#ba3830', '#4fb0f3', '#dbfa08', '#08fac4']); $query = $entityManager->getRepository('CivixCoreBundle:Poll\\Answer')->getAnswersByQuestion($question->getId()); $pagination = $this->get('knp_paginator')->paginate($query, $this->getRequest()->get('page', 1), 20); return ['statistics' => $statistics, 'pagination' => $pagination]; }
public function setQuestion(Question $question) { $this->question = $question; $this->questionOwner = $this->getClassName($question->getUser()); }