createForm(ServiceFormType::class, $product)->handleRequest($request); } #[Route(path: [ 'en' => MyAccountAction::BASE_URL_EN.'/new-service', 'fr' => MyAccountAction::BASE_URL_FR.'/nouveau-service', ], name: 'new')] public function new(Request $request, #[CurrentUser] User $user): Response { if ($this->configurationRepository->getServicesParameter()) { $product = $this->productManager->initService($user); $product->setVisibility(ProductVisibility::RESTRICTED); $form = $this->getForm($product, $request); if ($form->isSubmitted() && $form->isValid()) { /** @var array|null $images */ $images = $form->get('images')->getData(); $this->productManager->multipleUpload($images, $product); $this->productManager->save($product, true); return $this->redirectToRoute('app_product_show', $product->getRoutingParameters()); } return $this->render('pages/product/new_service.html.twig', compact('form', 'product')); } else { throw new GoneHttpException(); } } #[Route([ 'en' => MyAccountAction::BASE_URL_EN.'/services/{id}/edit', 'fr' => MyAccountAction::BASE_URL_FR.'/services/{id}/editer', ], name: 'edit', requirements: ['slug' => Requirement::ASCII_SLUG, 'id' => Requirement::UUID_V6] )] public function edit(string $id, Request $request): Response { if ($this->configurationRepository->getServicesParameter()) { $product = $this->getProductForEdit($id); $form = $this->getForm($product, $request); if ($form->isSubmitted() && $form->isValid()) { /** @var array|null $images */ $images = $form->get('images')->getData(); $this->productManager->multipleUpload($images, $product); $this->productManager->save($product, true); return $this->redirectToRoute('app_product_show', $product->getRoutingParameters()); } return $this->render('pages/product/edit_service.html.twig', compact('form', 'product')); } else { throw new GoneHttpException(); } } }