/** * @param Application $app * * @return ApplicationFlowInterface */ private function getAppFlow($app) { /** @var ApplicationFlowInterface $appFlow */ $appFlow = $this->get($app->getFlowServiceName()); $appFlow->setApplication($app); return $appFlow; }
/** * @param integer $appId * * @return Application * * @throws \Exception */ public function getApp($appId) { $app = $this->enManager->getRepository(Application::clazz())->find($appId); if (null == $app) { throw new \Exception('Can\'t find Application by id <<' . $appId . '>>'); } return $app; }
/** * Load data fixtures with the passed EntityManager * * @param ObjectManager $manager */ public function load(ObjectManager $manager) { $app = new Application(); $app->setName('Visit'); $app->setType(Application::TYPE_VISIT); $app->setCountry($this->getReference('country:ua')); $app->setFlowServiceName('ortofit_sing_up.application_flow'); $app->setConfig(['template' => ['name' => 'OrtofitSingUpBundle:SingUp:index.html.twig'], 'notify' => ['subject' => 'Запись на прием', 'body' => 'Прошу перезвонить мне по тел. +%s и записать на прием.']]); $manager->persist($app); $manager->flush(); }
/** * @param array $params * * @return void */ public function createForm($params = []) { $templateName = $this->application->getTemplateName(); $templateData = array_merge($this->formatFormData(), $params); $this->response = $this->templateEngine->render($templateName, $templateData); }