public function getAjaxProductSaleElementsImagesDocuments($id, $type) { if (null !== $this->checkAuth(AdminResources::PRODUCT, [], AccessManager::VIEW)) { return JsonResponse::createAuthError(AccessManager::VIEW); } $this->checkXmlHttpRequest(); $pse = ProductSaleElementsQuery::create()->findPk($id); $errorMessage = $this->checkFileType($type); if (null === $pse && null === $errorMessage) { $type = null; $errorMessage = $this->getTranslator()->trans("The product sale elements id %id doesn't exist", ["%id" => $pse->getId()]); } switch ($type) { case "image": $modalTitle = $this->getTranslator()->trans("Associate images"); $data = $this->getPSEImages($pse); break; case "document": $modalTitle = $this->getTranslator()->trans("Associate documents"); $data = $this->getPSEDocuments($pse); break; case "virtual": $modalTitle = $this->getTranslator()->trans("Select the virtual document"); $data = $this->getPSEVirtualDocument($pse); break; case null: default: $modalTitle = $this->getTranslator()->trans("Unsupported type"); $data = []; } if (empty($data) && null === $errorMessage) { $errorMessage = $this->getTranslator()->trans("There are no files to associate."); if ($type === "virtual") { $errorMessage .= $this->getTranslator()->trans(" note: only non-visible documents can be associated."); } } $this->getParserContext()->set("items", $data)->set("type", $type)->set("error_message", $errorMessage)->set("modal_title", $modalTitle); return $this->render("ajax/pse-image-document-assoc-modal"); }