/** * @param \Symfony\Component\HttpFoundation\Request $request * * @return array */ public function editAction(Request $request) { $idAttributesMetadata = $this->castId($request->query->get(self::PARAM_ID)); $dataProvider = $this->getFactory()->createSearchPreferencesDataProvider(); $form = $this->getFactory()->createSearchPreferencesForm($dataProvider->getData($idAttributesMetadata), $dataProvider->getOptions())->handleRequest($request); if ($form->isValid()) { $productSearchPreferencesTransfer = new ProductSearchPreferencesTransfer(); $productSearchPreferencesTransfer->setIdProductAttributesMetadata($idAttributesMetadata)->fromArray($form->getData(), true); $this->getFacade()->saveProductSearchPreferences($productSearchPreferencesTransfer); $this->addSuccessMessage('Search Preferences has been saved successfully'); } return $this->viewResponse(['form' => $form->createView()]); }
/** * @param \Generated\Shared\Transfer\ProductSearchPreferencesTransfer $productSearchPreferencesTransfer * @param int $idProductAttributesMetadata * * @return $this */ protected function addCompletionTerms(ProductSearchPreferencesTransfer $productSearchPreferencesTransfer, $idProductAttributesMetadata) { if ($productSearchPreferencesTransfer->getCompletionTerms() === true) { $this->createNewProductSearchAttributeMapRecord($idProductAttributesMetadata, PageIndexMap::COMPLETION_TERMS); } return $this; }