com.liferay.commerce.pricing.web.internal.portlet.action.EditCommerceDiscountExternalReferenceCodeMVCActionCommand Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of com.liferay.commerce.pricing.web
Show all versions of com.liferay.commerce.pricing.web
Liferay Commerce Pricing Web
The newest version!
/**
* 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.pricing.web.internal.portlet.action;
import com.liferay.commerce.discount.exception.DuplicateCommerceDiscountExternalReferenceCodeException;
import com.liferay.commerce.discount.exception.NoSuchDiscountException;
import com.liferay.commerce.discount.model.CommerceDiscount;
import com.liferay.commerce.discount.service.CommerceDiscountService;
import com.liferay.commerce.pricing.constants.CommercePricingPortletKeys;
import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
import com.liferay.portal.kernel.portlet.bridges.mvc.BaseMVCActionCommand;
import com.liferay.portal.kernel.portlet.bridges.mvc.MVCActionCommand;
import com.liferay.portal.kernel.security.auth.PrincipalException;
import com.liferay.portal.kernel.servlet.SessionErrors;
import com.liferay.portal.kernel.util.ParamUtil;
import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
/**
* @author Alessio Antonio Rendina
*/
@Component(
property = {
"javax.portlet.name=" + CommercePricingPortletKeys.COMMERCE_DISCOUNT,
"mvc.command.name=/commerce_discount/edit_commerce_discount_external_reference_code"
},
service = MVCActionCommand.class
)
public class EditCommerceDiscountExternalReferenceCodeMVCActionCommand
extends BaseMVCActionCommand {
@Override
protected void doProcessAction(
ActionRequest actionRequest, ActionResponse actionResponse)
throws Exception {
try {
_updateCommerceDiscountExternalReferenceCode(actionRequest);
}
catch (Exception exception) {
if (exception instanceof
DuplicateCommerceDiscountExternalReferenceCodeException ||
exception instanceof NoSuchDiscountException ||
exception instanceof PrincipalException) {
SessionErrors.add(actionRequest, exception.getClass());
actionResponse.setRenderParameter("mvcPath", "/error.jsp");
}
else {
_log.error(exception);
String redirect = ParamUtil.getString(
actionRequest, "redirect");
sendRedirect(actionRequest, actionResponse, redirect);
}
}
}
private void _updateCommerceDiscountExternalReferenceCode(
ActionRequest actionRequest)
throws Exception {
long commerceDiscountId = ParamUtil.getLong(
actionRequest, "commerceDiscountId");
CommerceDiscount commerceDiscount =
_commerceDiscountService.getCommerceDiscount(commerceDiscountId);
String externalReferenceCode = ParamUtil.getString(
actionRequest, "externalReferenceCode");
_commerceDiscountService.updateCommerceDiscountExternalReferenceCode(
externalReferenceCode, commerceDiscount.getCommerceDiscountId());
}
private static final Log _log = LogFactoryUtil.getLog(
EditCommerceDiscountExternalReferenceCodeMVCActionCommand.class);
@Reference
private CommerceDiscountService _commerceDiscountService;
}