/** * @param Campaign $campaign * @param $event */ public function preFlush(Campaign $campaign, $event) { if ($campaign->getHashId() && $campaign->getStatus() !== $campaign->getOldStatus()) { if ($campaign->isNew() && $campaign->getStatus() == Campaign::STATUS_ON) { // $campaign->setIsNew(false); $this->rabbitProducer->publish($campaign->getId()); } } }
/** * @param Campaign $campaign * @param bool $flush */ public function checkUpdateStatusAwaiting(Campaign $campaign, $flush = false) { if ($campaign->getStatus() != Campaign::STATUS_AWAITING) { return; } if ($this->canTurnOnByMinBalance($campaign) && $this->canTurnOnByDailyLimit($campaign)) { $this->turnOn($campaign); $this->em->persist($campaign); if ($flush) { $this->em->flush($campaign); } } }
/** * @return string */ public function getNewStatus() { return $this->campaign->getStatus(); }
/** * createCampaignForm * * @param null|Campaign $campaign * * @return \Symfony\Component\Form\Form */ private function createCampaignForm($campaign = null) { if ($campaign && !in_array($campaign->getStatus(), [Campaign::STATUS_ARCHIVED, Campaign::STATUS_ENDED])) { $form = $this->createForm(new StartedCampaignType(), $campaign); } else { $form = $this->createForm(new CampaignType($this->getUser(), $this->tagManager), $campaign); } $clearMissing = $campaign === null ? true : false; $form->submit($this->get('request'), $clearMissing); return $form; }