public function publishPetitionToActivity(Petition $petition)
 {
     $expireDate = new \DateTime('now');
     $expireDate->add(new \DateInterval('P' . $this->settings->get(Settings::DEFAULT_EXPIRE_INTERVAL)->getValue() . 'D'));
     $activity = new ActivityPetition();
     $activity->setQuestionId($petition->getId())->setTitle($petition->getPetitionTitle())->setDescription($petition->getPetitionBody())->setExpireAt($expireDate)->setSentAt($petition->getPublishedAt());
     $userMethod = 'set' . ucfirst($petition->getUser()->getType());
     $activity->{$userMethod}($petition->getUser());
     $this->setImage($activity, $petition);
     $this->cm->addPollRootComment($petition, $petition->getPetitionBody());
     //send push notifications
     $this->pushSender->addToQueue('sendPushPublishQuestion', array($petition->getId(), "Sign: {$petition->getPetitionTitle()}"));
     $this->entityManager->persist($activity);
     $this->entityManager->flush();
     $this->createActivityConditionsForQuestion($activity, $petition);
 }
 public function getActivityImage()
 {
     $this->__load();
     return parent::getActivityImage();
 }