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 setDescription($description) { $this->__load(); return parent::setDescription($description); }