com.liferay.commerce.checkout.web.internal.display.context.CheckoutDisplayContext Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of com.liferay.commerce.checkout.web
Show all versions of com.liferay.commerce.checkout.web
Liferay Commerce Checkout Web
/**
* SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com
* SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06
*/
package com.liferay.commerce.checkout.web.internal.display.context;
import com.liferay.commerce.checkout.web.internal.portlet.configuration.CommerceCheckoutPortletInstanceConfiguration;
import com.liferay.commerce.constants.CommerceCheckoutWebKeys;
import com.liferay.commerce.constants.CommerceWebKeys;
import com.liferay.commerce.context.CommerceContext;
import com.liferay.commerce.model.CommerceOrder;
import com.liferay.commerce.model.CommerceOrderItem;
import com.liferay.commerce.product.display.context.helper.CPRequestHelper;
import com.liferay.commerce.util.CommerceCheckoutStep;
import com.liferay.commerce.util.CommerceCheckoutStepRegistry;
import com.liferay.portal.configuration.module.configuration.ConfigurationProvider;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.portlet.LiferayPortletRequest;
import com.liferay.portal.kernel.portlet.LiferayPortletResponse;
import com.liferay.portal.kernel.theme.ThemeDisplay;
import com.liferay.portal.kernel.util.ParamUtil;
import com.liferay.portal.kernel.util.Portal;
import com.liferay.taglib.servlet.PipingServletResponseFactory;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.PageContext;
/**
* @author Marco Leo
* @author Alessio Antonio Rendina
*/
public class CheckoutDisplayContext {
public CheckoutDisplayContext(
CommerceCheckoutStepRegistry commerceCheckoutStepRegistry,
ConfigurationProvider configurationProvider,
LiferayPortletRequest liferayPortletRequest,
LiferayPortletResponse liferayPortletResponse, Portal portal)
throws Exception {
_commerceCheckoutStepRegistry = commerceCheckoutStepRegistry;
_configurationProvider = configurationProvider;
_liferayPortletRequest = liferayPortletRequest;
_liferayPortletResponse = liferayPortletResponse;
_httpServletRequest = portal.getHttpServletRequest(
liferayPortletRequest);
_httpServletResponse = portal.getHttpServletResponse(
liferayPortletResponse);
CPRequestHelper cpRequestHelper = new CPRequestHelper(
_httpServletRequest);
_themeDisplay = cpRequestHelper.getThemeDisplay();
_commerceOrder = (CommerceOrder)_httpServletRequest.getAttribute(
CommerceCheckoutWebKeys.COMMERCE_ORDER);
String checkoutStepName = ParamUtil.getString(
liferayPortletRequest, "checkoutStepName");
CommerceCheckoutStep commerceCheckoutStep =
commerceCheckoutStepRegistry.getCommerceCheckoutStep(
checkoutStepName);
if ((commerceCheckoutStep == null) && (_commerceOrder != null)) {
List commerceCheckoutSteps =
commerceCheckoutStepRegistry.getCommerceCheckoutSteps(
_httpServletRequest, _httpServletResponse, true);
commerceCheckoutStep = commerceCheckoutSteps.get(0);
}
_commerceCheckoutStep = commerceCheckoutStep;
}
public List getCommerceCheckoutSteps()
throws Exception {
return _commerceCheckoutStepRegistry.getCommerceCheckoutSteps(
_httpServletRequest, _httpServletResponse, true);
}
public String getCommerceOrderUuid() {
return _commerceOrder.getUuid();
}
public String getCurrentCheckoutStepName() {
return _commerceCheckoutStep.getName();
}
public String getPreviousCheckoutStepName() throws Exception {
CommerceCheckoutStep commerceCheckoutStep =
_commerceCheckoutStepRegistry.getPreviousCommerceCheckoutStep(
_commerceCheckoutStep.getName(), _httpServletRequest,
_httpServletResponse);
if ((commerceCheckoutStep == null) ||
(_commerceCheckoutStep.isOrder() &&
!commerceCheckoutStep.isOrder())) {
return null;
}
return commerceCheckoutStep.getName();
}
public boolean hasCommerceChannel() throws PortalException {
CommerceContext commerceContext =
(CommerceContext)_httpServletRequest.getAttribute(
CommerceWebKeys.COMMERCE_CONTEXT);
if (commerceContext == null) {
return false;
}
long commerceChannelId = commerceContext.getCommerceChannelId();
if (commerceChannelId > 0) {
return true;
}
return false;
}
public boolean isEmptyCommerceOrder() {
if (_commerceOrder == null) {
return true;
}
List commerceOrderItems =
_commerceOrder.getCommerceOrderItems();
if (commerceOrderItems.isEmpty()) {
return true;
}
return false;
}
public boolean isOrderSummaryShowFullAddressEnabled()
throws PortalException {
CommerceCheckoutPortletInstanceConfiguration
commerceCheckoutPortletInstanceConfiguration =
_configurationProvider.getPortletInstanceConfiguration(
CommerceCheckoutPortletInstanceConfiguration.class,
_themeDisplay);
return commerceCheckoutPortletInstanceConfiguration.
orderSummaryShowFullAddress();
}
public boolean isOrderSummaryShowPhoneNumberEnabled()
throws PortalException {
CommerceCheckoutPortletInstanceConfiguration
commerceCheckoutPortletInstanceConfiguration =
_configurationProvider.getPortletInstanceConfiguration(
CommerceCheckoutPortletInstanceConfiguration.class,
_themeDisplay);
return commerceCheckoutPortletInstanceConfiguration.
orderSummaryShowPhoneNumber();
}
public boolean isSennaDisabled() {
return _commerceCheckoutStep.isSennaDisabled();
}
public void renderCurrentCheckoutStep(PageContext pageContext)
throws Exception {
_commerceCheckoutStep.render(
_httpServletRequest,
PipingServletResponseFactory.createPipingServletResponse(
pageContext));
}
public boolean showControls() {
return _commerceCheckoutStep.showControls(
_httpServletRequest, _httpServletResponse);
}
private final CommerceCheckoutStep _commerceCheckoutStep;
private final CommerceCheckoutStepRegistry _commerceCheckoutStepRegistry;
private final CommerceOrder _commerceOrder;
private final ConfigurationProvider _configurationProvider;
private final HttpServletRequest _httpServletRequest;
private final HttpServletResponse _httpServletResponse;
private final LiferayPortletRequest _liferayPortletRequest;
private final LiferayPortletResponse _liferayPortletResponse;
private final ThemeDisplay _themeDisplay;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy