public function publishQuestionToActivity(Question $question)
 {
     $errors = $this->validator->validate($question, array('publish'));
     if (count($errors) != 0) {
         return $errors;
     }
     //update question
     $publishDate = new \DateTime('now');
     $question->setPublishedAt($publishDate);
     $this->entityManager->persist($question);
     //create activity
     $activity = new ActivityQuestion();
     $activity->setQuestionId($question->getId());
     $activity->setTitle('');
     $activity->setDescription($question->getSubject());
     $activity->setSentAt($publishDate);
     $activity->setExpireAt($question->getExpireAt());
     $userMethod = 'set' . $this->getClassName($question);
     $activity->{$userMethod}($question->getUser());
     $this->setImage($activity, $question);
     $this->cm->addPollRootComment($question, $question->getSubject());
     //send push notifications
     $this->pushSender->addToQueue('sendPushPublishQuestion', [$question->getId(), "Answer: {$this->preview($question->getSubject())}"]);
     $this->entityManager->persist($activity);
     $this->entityManager->flush();
     $this->createActivityConditionsForQuestion($activity, $question);
     return $activity;
 }
 public function getActivityImage()
 {
     $this->__load();
     return parent::getActivityImage();
 }