/** * Create a job instance * * @param Request $request * * @return \Symfony\Component\HttpFoundation\Response */ public function createAction(Request $request) { $jobInstance = $this->jobInstanceFactory->createJobInstance($this->getJobType()); $form = $this->createForm($this->jobInstanceType, $jobInstance); if ($request->isMethod('POST')) { $form->handleRequest($request); if ($form->isValid()) { $this->persist($jobInstance); $this->addFlash('success', sprintf('flash.%s.created', $this->getJobType())); $url = $this->generateUrl(sprintf('pim_importexport_%s_profile_edit', $this->getJobType()), ['id' => $jobInstance->getId()]); $response = ['status' => 1, 'url' => $url]; return new Response(json_encode($response)); } } return $this->render(sprintf('PimImportExportBundle:%sProfile:create.html.twig', ucfirst($this->getJobType())), ['form' => $form->createView()]); }
/** * Create a job instance * * @param Request $request * * @return Response */ public function createAction(Request $request) { $jobInstance = $this->jobInstanceFactory->createJobInstance($this->getJobType()); $form = $this->formFactory->create($this->jobInstanceFormType, $jobInstance); if ($request->isMethod('POST')) { $form->handleRequest($request); if ($form->isValid()) { $job = $this->jobRegistry->get($jobInstance->getJobName()); $jobParameters = $this->jobParametersFactory->create($job); $jobInstance->setRawParameters($jobParameters->all()); $this->entityManager->persist($jobInstance); $this->entityManager->flush(); $this->request->getSession()->getFlashBag()->add('success', new Message(sprintf('flash.%s.created', $this->getJobType()))); $url = $this->router->generate(sprintf('pim_importexport_%s_profile_edit', $this->getJobType()), ['id' => $jobInstance->getId()]); $response = ['status' => 1, 'url' => $url]; return new Response(json_encode($response)); } } return $this->templating->renderResponse($this->jobTemplateProvider->getCreateTemplate($jobInstance), ['form' => $form->createView()]); }