Class ProductTextfieldConfiguratorController
java.lang.Object
de.hybris.platform.acceleratorstorefrontcommons.controllers.AbstractController
de.hybris.platform.acceleratorstorefrontcommons.controllers.pages.AbstractPageController
de.hybris.platform.textfieldconfiguratortemplateaddon.controllers.pages.ProductTextfieldConfiguratorController
-
Nested Class Summary
Nested classes/interfaces inherited from class de.hybris.platform.acceleratorstorefrontcommons.controllers.AbstractController
AbstractController.HttpNotFoundException -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringprotected static final Stringstatic final Stringstatic final Stringstatic final StringFields inherited from class de.hybris.platform.acceleratorstorefrontcommons.controllers.pages.AbstractPageController
CMS_PAGE_MODEL, CMS_PAGE_TITLE, PAGE_ROOT, REDIRECT_TO_LOGIN_FOR_CHECKOUT, REDIRECT_TO_MULTISTEP_CHECKOUT, REGISTRATION_CONSENT_ID, UTF_8Fields inherited from class de.hybris.platform.acceleratorstorefrontcommons.controllers.AbstractController
FORWARD_PREFIX, REDIRECT_PREFIX, ROOT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddToCart(String encodedProductCode, org.springframework.ui.Model model, @Valid TextFieldConfigurationForm form, org.springframework.validation.BindingResult bindingErrors, javax.servlet.http.HttpServletRequest request, org.springframework.web.servlet.mvc.support.RedirectAttributes redirectModel) displayConfigurationInOrderEntry(String orderCode, int entryNumber, org.springframework.ui.Model model) displayConfigurationInQuoteEntry(String quoteCode, int entryNumber, org.springframework.ui.Model model) displayConfigurationInSavedCartEntry(String cartCode, int entryNumber, org.springframework.ui.Model model) editConfigurationInEntry(int entryNumber, org.springframework.ui.Model model) protected OrderEntryDataenrichOrderEntryWithConfigurationData(TextFieldConfigurationForm form, OrderEntryData orderEntryData) protected StringgetConfigurePageRedirectPath(String productCode) protected ProductFacadeprotected TextFieldConfigurationValidatorprotected TextFieldFacadegetValidConfigurationLabels(String productCode) protected voidinitBinder(org.springframework.web.bind.WebDataBinder binder) protected StringproductConfigurator(String encodedProductCode, org.springframework.ui.Model model, ConfigureForm configureForm) Renders the dynamic product textfield configuration content page for the given product.productConfiguratorGet(String encodedProductCode, org.springframework.ui.Model model, ConfigureForm configureForm) Accepts HTTP-GET requests and delegates toproductConfigurator(String, Model, ConfigureForm)productConfiguratorPost(String encodedProductCode, org.springframework.ui.Model model, ConfigureForm configureForm) Accepts HTTP-POST requests and delegates toproductConfigurator(String, Model, ConfigureForm)protected voidstorePageData(String productCode, List<ConfigurationInfoData> configuration, org.springframework.ui.Model model) updateConfigurationInEntry(int entryNumber, org.springframework.ui.Model model, @Valid TextFieldConfigurationForm form, org.springframework.validation.BindingResult bindingErrors, javax.servlet.http.HttpServletRequest request, org.springframework.web.servlet.mvc.support.RedirectAttributes redirectModel) protected voidvalidateProductConfigurations(TextFieldConfigurationForm form, String productCode, org.springframework.validation.BindingResult bindingErrors) Methods inherited from class de.hybris.platform.acceleratorstorefrontcommons.controllers.pages.AbstractPageController
addRegistrationConsentDataToModel, checkRequestUrl, createMetaElement, decodeWithScheme, getBaseSiteService, getCheckoutRedirectUrl, getCmsPageService, getCmsPreviewService, getCmsSiteService, getConfigurationService, getConsentFacade, getContentPageForLabelOrId, getCurrencies, getCurrentCurrency, getCurrentLanguage, getCustomerFacade, getHostConfigService, getI18nService, getLanguages, getMessageSource, getPageTitleResolver, getRequestContextData, getSessionService, getSiteConfigService, getSiteName, getSiteUid, getStoreSessionFacade, getUser, getUserFacade, getViewForPage, getViewForPage, prepareNotFoundPage, setUpMetaData, setUpMetaDataForContentPage, storeCmsPageInModel, storeContentPageTitleInModel, storeContinueUrl, urlEncodeMethods inherited from class de.hybris.platform.acceleratorstorefrontcommons.controllers.AbstractController
addRequestToModel, getBean
-
Field Details
-
PRODUCT_CONFIGURATOR_PAGE
- See Also:
-
ENTRY_CONFIGURATOR_PAGE
- See Also:
-
ENTRY_READ_ONLY_PAGE
- See Also:
-
TEXTFIELDCONFIGURATOR_TYPE
- See Also:
-
PAGE_LABEL
- See Also:
-
-
Constructor Details
-
ProductTextfieldConfiguratorController
public ProductTextfieldConfiguratorController()
-
-
Method Details
-
initBinder
@InitBinder protected void initBinder(org.springframework.web.bind.WebDataBinder binder) -
productConfiguratorGet
@RequestMapping(value="/**/p/{productCode}/configuratorPage/TEXTFIELD", method=GET) public String productConfiguratorGet(@PathVariable("productCode") String encodedProductCode, org.springframework.ui.Model model, ConfigureForm configureForm) throws CMSItemNotFoundException Accepts HTTP-GET requests and delegates toproductConfigurator(String, Model, ConfigureForm)- Throws:
CMSItemNotFoundException
-
productConfiguratorPost
@PostMapping("/**/p/{productCode}/configuratorPage/TEXTFIELD") public String productConfiguratorPost(@PathVariable("productCode") String encodedProductCode, org.springframework.ui.Model model, ConfigureForm configureForm) throws CMSItemNotFoundException Accepts HTTP-POST requests and delegates toproductConfigurator(String, Model, ConfigureForm)- Throws:
CMSItemNotFoundException
-
productConfigurator
protected String productConfigurator(String encodedProductCode, org.springframework.ui.Model model, ConfigureForm configureForm) throws CMSItemNotFoundException Renders the dynamic product textfield configuration content page for the given product.- Parameters:
encodedProductCode- code of the configurable productmodel- view modelconfigureForm- Form for transferring product configuration options- Returns:
- Throws:
CMSItemNotFoundException
-
addToCart
@PostMapping("/**/p/{productCode}/configure/TEXTFIELD") public String addToCart(@PathVariable("productCode") String encodedProductCode, org.springframework.ui.Model model, @ModelAttribute("foo") @Valid @Valid TextFieldConfigurationForm form, org.springframework.validation.BindingResult bindingErrors, javax.servlet.http.HttpServletRequest request, org.springframework.web.servlet.mvc.support.RedirectAttributes redirectModel) -
editConfigurationInEntry
@GetMapping("/cart/{entryNumber}/configuration/TEXTFIELD") public String editConfigurationInEntry(@PathVariable("entryNumber") int entryNumber, org.springframework.ui.Model model) throws CMSItemNotFoundException, CommerceCartModificationException -
updateConfigurationInEntry
@PostMapping("/cart/{entryNumber}/configuration/TEXTFIELD") public String updateConfigurationInEntry(@PathVariable("entryNumber") int entryNumber, org.springframework.ui.Model model, @ModelAttribute("foo") @Valid @Valid TextFieldConfigurationForm form, org.springframework.validation.BindingResult bindingErrors, javax.servlet.http.HttpServletRequest request, org.springframework.web.servlet.mvc.support.RedirectAttributes redirectModel) throws CommerceCartModificationException -
displayConfigurationInQuoteEntry
@GetMapping("/my-account/my-quotes/{quoteCode}/{entryNumber}/configurationDisplay/TEXTFIELD") public String displayConfigurationInQuoteEntry(@PathVariable("quoteCode") String quoteCode, @PathVariable("entryNumber") int entryNumber, org.springframework.ui.Model model) throws CMSItemNotFoundException, CommerceCartModificationException -
displayConfigurationInOrderEntry
@GetMapping("/my-account/order/{orderCode}/{entryNumber}/configurationDisplay/TEXTFIELD") public String displayConfigurationInOrderEntry(@PathVariable("orderCode") String orderCode, @PathVariable("entryNumber") int entryNumber, org.springframework.ui.Model model) throws CMSItemNotFoundException, CommerceCartModificationException -
displayConfigurationInSavedCartEntry
@GetMapping("/my-account/saved-carts/{cartCode}/{entryNumber}/configurationDisplay/TEXTFIELD") public String displayConfigurationInSavedCartEntry(@PathVariable("cartCode") String cartCode, @PathVariable("entryNumber") int entryNumber, org.springframework.ui.Model model) throws CMSItemNotFoundException, CommerceCartModificationException, CommerceSaveCartException -
storePageData
protected void storePageData(String productCode, List<ConfigurationInfoData> configuration, org.springframework.ui.Model model) throws CMSItemNotFoundException - Throws:
CMSItemNotFoundException
-
getTextFieldFacade
-
enrichOrderEntryWithConfigurationData
protected OrderEntryData enrichOrderEntryWithConfigurationData(TextFieldConfigurationForm form, OrderEntryData orderEntryData) -
validateProductConfigurations
protected void validateProductConfigurations(TextFieldConfigurationForm form, String productCode, org.springframework.validation.BindingResult bindingErrors) -
getValidConfigurationLabels
-
getConfigurePageRedirectPath
-
getProductFacade
-
getTextFieldConfigurationValidator
-