From 8e3998c28b632b7367feacacd35fff79c16980c4 Mon Sep 17 00:00:00 2001 From: Gianmarco Brunialti Date: Tue, 9 Jul 2024 17:23:39 +0200 Subject: [PATCH 1/3] LPD-29890 InfoBox tag (backward-compatible) enhancements for inner LFR modal handling --- .../taglib/servlet/taglib/InfoBoxTag.java | 25 ++++-- .../META-INF/liferay-commerce-ui.tld | 5 ++ .../META-INF/resources/info_box/init.jsp | 6 +- .../META-INF/resources/info_box/start.jsp | 42 +++++++-- .../resources/META-INF/resources/js/index.js | 3 + .../META-INF/resources/js/info_box/index.js | 85 +++++++++++++++++++ 6 files changed, 154 insertions(+), 12 deletions(-) create mode 100644 modules/apps/commerce/commerce-frontend-taglib/src/main/resources/META-INF/resources/js/info_box/index.js diff --git a/modules/apps/commerce/commerce-frontend-taglib/src/main/java/com/liferay/commerce/frontend/taglib/servlet/taglib/InfoBoxTag.java b/modules/apps/commerce/commerce-frontend-taglib/src/main/java/com/liferay/commerce/frontend/taglib/servlet/taglib/InfoBoxTag.java index 486feec87da393..5f3e6815339d2e 100644 --- a/modules/apps/commerce/commerce-frontend-taglib/src/main/java/com/liferay/commerce/frontend/taglib/servlet/taglib/InfoBoxTag.java +++ b/modules/apps/commerce/commerce-frontend-taglib/src/main/java/com/liferay/commerce/frontend/taglib/servlet/taglib/InfoBoxTag.java @@ -11,6 +11,8 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.jsp.JspException; import javax.servlet.jsp.PageContext; +import java.util.Map; +import java.util.Map; /** * @author Fabio Diego Mastrorilli @@ -22,15 +24,17 @@ public int doStartTag() throws JspException { HttpServletRequest httpServletRequest = getRequest(); httpServletRequest.setAttribute( - "liferay-commerce:info-box:actionLabel", _actionLabel); + "liferay-commerce:info-box:actionContext", getActionContext()); httpServletRequest.setAttribute( - "liferay-commerce:info-box:actionTargetId", _actionTargetId); + "liferay-commerce:info-box:actionLabel", getActionLabel()); httpServletRequest.setAttribute( - "liferay-commerce:info-box:actionUrl", _actionUrl); + "liferay-commerce:info-box:actionTargetId", getActionTargetId()); httpServletRequest.setAttribute( - "liferay-commerce:info-box:elementClasses", _elementClasses); + "liferay-commerce:info-box:actionUrl", getActionUrl()); httpServletRequest.setAttribute( - "liferay-commerce:info-box:title", _title); + "liferay-commerce:info-box:elementClasses", getElementClasses()); + httpServletRequest.setAttribute( + "liferay-commerce:info-box:title", getTitle()); super.doStartTag(); @@ -88,6 +92,7 @@ public void setTitle(String title) { protected void cleanUp() { super.cleanUp(); + _actionContext = null; _actionLabel = null; _actionTargetId = null; _actionUrl = null; @@ -109,6 +114,16 @@ protected String getStartPage() { private static final String _START_PAGE = "/info_box/start.jsp"; + public Map getActionContext() { + return _actionContext; + } + + public void setActionContext( + Map actionContext) { + _actionContext = actionContext; + } + + private Map _actionContext; private String _actionLabel; private String _actionTargetId; private String _actionUrl; diff --git a/modules/apps/commerce/commerce-frontend-taglib/src/main/resources/META-INF/liferay-commerce-ui.tld b/modules/apps/commerce/commerce-frontend-taglib/src/main/resources/META-INF/liferay-commerce-ui.tld index 245971a2ca41ff..c43daa955b0e6c 100644 --- a/modules/apps/commerce/commerce-frontend-taglib/src/main/resources/META-INF/liferay-commerce-ui.tld +++ b/modules/apps/commerce/commerce-frontend-taglib/src/main/resources/META-INF/liferay-commerce-ui.tld @@ -261,6 +261,11 @@ info-box com.liferay.commerce.frontend.taglib.servlet.taglib.InfoBoxTag JSP + + actionContext + false + true + actionLabel false diff --git a/modules/apps/commerce/commerce-frontend-taglib/src/main/resources/META-INF/resources/info_box/init.jsp b/modules/apps/commerce/commerce-frontend-taglib/src/main/resources/META-INF/resources/info_box/init.jsp index e5a436ce7709cd..92790c77276aec 100644 --- a/modules/apps/commerce/commerce-frontend-taglib/src/main/resources/META-INF/resources/info_box/init.jsp +++ b/modules/apps/commerce/commerce-frontend-taglib/src/main/resources/META-INF/resources/info_box/init.jsp @@ -9,9 +9,12 @@ <%@ taglib uri="http://liferay.com/tld/aui" prefix="aui" %><%@ taglib uri="http://liferay.com/tld/clay" prefix="clay" %><%@ +taglib uri="http://liferay.com/tld/frontend" prefix="liferay-frontend" %><%@ taglib uri="http://liferay.com/tld/theme" prefix="liferay-theme" %> -<%@ page import="com.liferay.petra.string.StringPool" %><%@ +<%@ page import="java.util.Map" %><%@ +page import="com.liferay.petra.string.StringPool" %><%@ +page import="com.liferay.portal.kernel.util.HashMapBuilder" %><%@ page import="com.liferay.portal.kernel.util.HtmlUtil" %><%@ page import="com.liferay.portal.kernel.util.PortalUtil" %><%@ page import="com.liferay.portal.kernel.util.Validator" %> @@ -19,6 +22,7 @@ page import="com.liferay.portal.kernel.util.Validator" %> <% +Map actionContext = (Map)request.getAttribute("liferay-commerce:info-box:actionContext"); String actionLabel = (String)request.getAttribute("liferay-commerce:info-box:actionLabel"); String actionTargetId = (String)request.getAttribute("liferay-commerce:info-box:actionTargetId"); String actionUrl = (String)request.getAttribute("liferay-commerce:info-box:actionUrl"); diff --git a/modules/apps/commerce/commerce-frontend-taglib/src/main/resources/META-INF/resources/info_box/start.jsp b/modules/apps/commerce/commerce-frontend-taglib/src/main/resources/META-INF/resources/info_box/start.jsp index cb13e4f62b84d0..ff4e63e7d2468c 100644 --- a/modules/apps/commerce/commerce-frontend-taglib/src/main/resources/META-INF/resources/info_box/start.jsp +++ b/modules/apps/commerce/commerce-frontend-taglib/src/main/resources/META-INF/resources/info_box/start.jsp @@ -8,23 +8,32 @@ <%@ include file="/info_box/init.jsp" %> <% -String linkId = PortalUtil.generateRandomKey(request, "info-box") + "_action-link"; +String linkId = HtmlUtil.escape(PortalUtil.generateRandomKey(request, "info-box") + "_action-link"); %>
-
+
<%= HtmlUtil.escape(title) %>
- + <% + String href = Validator.isNotNull(actionUrl) ? actionUrl : "#"; + %> + + + <% + href = "#"; + %> + - var link = document.getElementById('<%= HtmlUtil.escapeJS(linkId) %>'); + var link = document.getElementById('<%= linkId %>'); if (link) { link.addEventListener('click', (e) => { e.preventDefault(); + Liferay.fire('open-modal', { id: '<%= HtmlUtil.escapeJS(actionTargetId) %>', }); @@ -33,9 +42,30 @@ String linkId = PortalUtil.generateRandomKey(request, "info-box") + "_action-lin + + <% + href = "#"; + %> + + + + diff --git a/modules/apps/commerce/commerce-frontend-taglib/src/main/resources/META-INF/resources/js/index.js b/modules/apps/commerce/commerce-frontend-taglib/src/main/resources/META-INF/resources/js/index.js index cccc988aa32baf..810f132c46eac3 100644 --- a/modules/apps/commerce/commerce-frontend-taglib/src/main/resources/META-INF/resources/js/index.js +++ b/modules/apps/commerce/commerce-frontend-taglib/src/main/resources/META-INF/resources/js/index.js @@ -19,6 +19,7 @@ import { export {default as searchBar} from './search_bar/SearchBar'; export {default as searchResults} from './search_results/SearchResults'; export {default as discontinuedLabelCPInstanceChangeHandler} from './discontinued_label/DiscontinuedLabelCPInstanceChangeHandler'; +export {default as infoBoxHandler} from './info_box'; export function accountSelectorTag({ accountEntryAllowedTypes, @@ -199,6 +200,7 @@ export function cart({ cartViews, checkoutURL, currencyCode, + detachedOpener, displayDiscountLevels, displayTotalItemsQuantity, groupId, @@ -227,6 +229,7 @@ export function cart({ groupId, id, }, + detachedOpener, displayDiscountLevels, displayTotalItemsQuantity, itemsQuantity: Number(itemsQuantity), diff --git a/modules/apps/commerce/commerce-frontend-taglib/src/main/resources/META-INF/resources/js/info_box/index.js b/modules/apps/commerce/commerce-frontend-taglib/src/main/resources/META-INF/resources/js/info_box/index.js new file mode 100644 index 00000000000000..d44cc259e591cb --- /dev/null +++ b/modules/apps/commerce/commerce-frontend-taglib/src/main/resources/META-INF/resources/js/info_box/index.js @@ -0,0 +1,85 @@ +/** + * SPDX-FileCopyrightText: (c) 2023 Liferay, Inc. https://liferay.com + * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 + */ + +import {openModal} from 'frontend-js-web'; + +export default function infoBoxHandler({ + containerCssClasses: className = '', + linkId, + modalId = null, + namespace, + size, + refreshOnClose, + title, + url +}) { + const formId = `${namespace}fm`; + const linkElement = document.querySelector(`#${linkId}`); + + const handleOpenModal = (event) => { + event.preventDefault(); + + const id = modalId ?? namespace; + + openModal({ + buttons: [ + { + displayType: 'secondary', + label: Liferay.Language.get('cancel'), + type: 'cancel', + }, + { + formId, + label: Liferay.Language.get('submit'), + type: 'submit', + }, + ], + containerProps: { + className + }, + id, + onClose: () => { + if (refreshOnClose) { + const refreshTimeout = setTimeout(() => { + clearTimeout(refreshTimeout); + + window.top.location.reload(); + }, 200); + } + }, + onOpen: ({iframeWindow}) => { + const formElement = iframeWindow.document.querySelector( + `#${formId}` + ); + + if (formElement) { + const { + [`${namespace}redirect`]: { + value: redirect = null + } = {} + } = formElement; + + formElement.addEventListener('submit', () => { + Liferay.fire('closeModal', { + id, + redirect, + }); + }); + } + }, + title, + size, + url, + }); + } + + linkElement.addEventListener('click', handleOpenModal); + + return { + dispose() { + linkElement.removeEventListener('click', handleOpenModal); + }, + }; +} \ No newline at end of file From ac77bcc95fa70130bb19bdc8b8e44fe1dfd1d5a2 Mon Sep 17 00:00:00 2001 From: Gianmarco Brunialti Date: Tue, 9 Jul 2024 17:24:34 +0200 Subject: [PATCH 2/3] LPD-29890 `commerce-order-web` order detail modals adapted for enhanced `InfoBox` tag --- .../commerce_order/billing_address.jsp | 8 +- .../commerce_order/delivery_terms.jsp | 7 +- .../commerce_order/edit_billing_address.jsp | 147 +++++++++--------- .../commerce_order/edit_shipping_address.jsp | 147 +++++++++--------- .../commerce_order/payment_terms.jsp | 7 +- .../resources/commerce_order/printed_note.jsp | 5 +- .../commerce_order/purchase_order_number.jsp | 17 +- .../requested_delivery_date.jsp | 5 +- .../commerce_order/shipping_address.jsp | 8 +- 9 files changed, 163 insertions(+), 188 deletions(-) diff --git a/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/billing_address.jsp b/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/billing_address.jsp index ed3576ef255f36..489841c46eaa05 100644 --- a/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/billing_address.jsp +++ b/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/billing_address.jsp @@ -15,13 +15,9 @@ CommerceOrder commerceOrder = commerceOrderEditDisplayContext.getCommerceOrder() - +
- - \ No newline at end of file +
\ No newline at end of file diff --git a/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/delivery_terms.jsp b/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/delivery_terms.jsp index 567caa51485cd9..dbdff1021ee700 100644 --- a/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/delivery_terms.jsp +++ b/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/delivery_terms.jsp @@ -19,9 +19,7 @@ long deliveryCommerceTermEntryId = commerceOrder.getDeliveryCommerceTermEntryId( - +
@@ -51,7 +49,6 @@ long deliveryCommerceTermEntryId = commerceOrder.getDeliveryCommerceTermEntryId( - @@ -88,4 +85,4 @@ long deliveryCommerceTermEntryId = commerceOrder.getDeliveryCommerceTermEntryId( /> - \ No newline at end of file +
\ No newline at end of file diff --git a/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/edit_billing_address.jsp b/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/edit_billing_address.jsp index 37d59bfb27e8c6..4aa2e9346e687a 100644 --- a/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/edit_billing_address.jsp +++ b/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/edit_billing_address.jsp @@ -23,12 +23,9 @@ if ((commerceOrder != null) && Validator.isNull(cmd)) { - +
- @@ -51,80 +48,80 @@ if ((commerceOrder != null) && Validator.isNull(cmd)) { - - - - new Liferay.DynamicSelect([ - { - select: 'countryId', - selectData: function (callback) { - function injectCountryPlaceholder(list) { - var callbackList = [ + + + new Liferay.DynamicSelect([ + { + select: 'countryId', + selectData: function (callback) { + function injectCountryPlaceholder(list) { + var callbackList = [ + { + countryId: '0', + nameCurrentValue: + '- ', + }, + ]; + + list.forEach((listElement) => { + callbackList.push(listElement); + }); + + callback(callbackList); + } + + Liferay.Service( + '/commerce.commercecountrymanagerimpl/get-billing-countries', { - countryId: '0', - nameCurrentValue: - '- ', + active: true, + billingAllowed: true, + companyId: '<%= company.getCompanyId() %>', }, - ]; - - list.forEach((listElement) => { - callbackList.push(listElement); - }); - - callback(callbackList); - } - - Liferay.Service( - '/commerce.commercecountrymanagerimpl/get-billing-countries', - { - active: true, - billingAllowed: true, - companyId: '<%= company.getCompanyId() %>', - }, - injectCountryPlaceholder - ); + injectCountryPlaceholder + ); + }, + selectDesc: 'nameCurrentValue', + selectId: 'countryId', + selectNullable: <%= false %>, + selectSort: '<%= true %>', + selectVal: + '<%= BeanParamUtil.getLong(billingAddress, request, "countryId") %>', }, - selectDesc: 'nameCurrentValue', - selectId: 'countryId', - selectNullable: <%= false %>, - selectSort: '<%= true %>', - selectVal: - '<%= BeanParamUtil.getLong(billingAddress, request, "countryId") %>', - }, - { - select: 'regionId', - selectData: function (callback, selectKey) { - function injectRegionPlaceholder(list) { - var callbackList = [ + { + select: 'regionId', + selectData: function (callback, selectKey) { + function injectRegionPlaceholder(list) { + var callbackList = [ + { + regionId: '0', + name: '- ', + nameCurrentValue: + '- ', + }, + ]; + + list.forEach((listElement) => { + callbackList.push(listElement); + }); + + callback(callbackList); + } + + Liferay.Service( + '/region/get-regions', { - regionId: '0', - name: '- ', - nameCurrentValue: - '- ', + active: true, + countryId: Number(selectKey), }, - ]; - - list.forEach((listElement) => { - callbackList.push(listElement); - }); - - callback(callbackList); - } - - Liferay.Service( - '/region/get-regions', - { - active: true, - countryId: Number(selectKey), - }, - injectRegionPlaceholder - ); + injectRegionPlaceholder + ); + }, + selectDesc: 'name', + selectId: 'regionId', + selectNullable: <%= false %>, + selectVal: + '<%= BeanParamUtil.getLong(billingAddress, request, "regionId") %>', }, - selectDesc: 'name', - selectId: 'regionId', - selectNullable: <%= false %>, - selectVal: - '<%= BeanParamUtil.getLong(billingAddress, request, "regionId") %>', - }, - ]); - \ No newline at end of file + ]); + +
\ No newline at end of file diff --git a/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/edit_shipping_address.jsp b/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/edit_shipping_address.jsp index 1f012561193a55..42e8b682ea8b43 100644 --- a/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/edit_shipping_address.jsp +++ b/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/edit_shipping_address.jsp @@ -23,12 +23,9 @@ if ((commerceOrder != null) && Validator.isNull(cmd)) { - +
- @@ -51,80 +48,80 @@ if ((commerceOrder != null) && Validator.isNull(cmd)) { - - - - new Liferay.DynamicSelect([ - { - select: 'countryId', - selectData: function (callback) { - function injectCountryPlaceholder(list) { - var callbackList = [ + + + new Liferay.DynamicSelect([ + { + select: 'countryId', + selectData: function (callback) { + function injectCountryPlaceholder(list) { + var callbackList = [ + { + countryId: '0', + nameCurrentValue: + '- ', + }, + ]; + + list.forEach((listElement) => { + callbackList.push(listElement); + }); + + callback(callbackList); + } + + Liferay.Service( + '/commerce.commercecountrymanagerimpl/get-shipping-countries', { - countryId: '0', - nameCurrentValue: - '- ', + active: true, + companyId: '<%= company.getCompanyId() %>', + shippingAllowed: true, }, - ]; - - list.forEach((listElement) => { - callbackList.push(listElement); - }); - - callback(callbackList); - } - - Liferay.Service( - '/commerce.commercecountrymanagerimpl/get-shipping-countries', - { - active: true, - companyId: '<%= company.getCompanyId() %>', - shippingAllowed: true, - }, - injectCountryPlaceholder - ); + injectCountryPlaceholder + ); + }, + selectDesc: 'nameCurrentValue', + selectId: 'countryId', + selectNullable: <%= false %>, + selectSort: '<%= true %>', + selectVal: + '<%= BeanParamUtil.getLong(shippingAddress, request, "countryId") %>', }, - selectDesc: 'nameCurrentValue', - selectId: 'countryId', - selectNullable: <%= false %>, - selectSort: '<%= true %>', - selectVal: - '<%= BeanParamUtil.getLong(shippingAddress, request, "countryId") %>', - }, - { - select: 'regionId', - selectData: function (callback, selectKey) { - function injectRegionPlaceholder(list) { - var callbackList = [ + { + select: 'regionId', + selectData: function (callback, selectKey) { + function injectRegionPlaceholder(list) { + var callbackList = [ + { + regionId: '0', + name: '- ', + nameCurrentValue: + '- ', + }, + ]; + + list.forEach((listElement) => { + callbackList.push(listElement); + }); + + callback(callbackList); + } + + Liferay.Service( + '/region/get-regions', { - regionId: '0', - name: '- ', - nameCurrentValue: - '- ', + active: true, + countryId: Number(selectKey), }, - ]; - - list.forEach((listElement) => { - callbackList.push(listElement); - }); - - callback(callbackList); - } - - Liferay.Service( - '/region/get-regions', - { - active: true, - countryId: Number(selectKey), - }, - injectRegionPlaceholder - ); + injectRegionPlaceholder + ); + }, + selectDesc: 'name', + selectId: 'regionId', + selectNullable: <%= false %>, + selectVal: + '<%= BeanParamUtil.getLong(shippingAddress, request, "regionId") %>', }, - selectDesc: 'name', - selectId: 'regionId', - selectNullable: <%= false %>, - selectVal: - '<%= BeanParamUtil.getLong(shippingAddress, request, "regionId") %>', - }, - ]); - \ No newline at end of file + ]); + +
\ No newline at end of file diff --git a/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/payment_terms.jsp b/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/payment_terms.jsp index cb608dca29f8ab..3f323c17bf9da2 100644 --- a/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/payment_terms.jsp +++ b/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/payment_terms.jsp @@ -19,9 +19,7 @@ long paymentCommerceTermEntryId = commerceOrder.getPaymentCommerceTermEntryId(); - +
@@ -51,7 +49,6 @@ long paymentCommerceTermEntryId = commerceOrder.getPaymentCommerceTermEntryId(); - @@ -88,4 +85,4 @@ long paymentCommerceTermEntryId = commerceOrder.getPaymentCommerceTermEntryId(); /> - \ No newline at end of file +
\ No newline at end of file diff --git a/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/printed_note.jsp b/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/printed_note.jsp index 26ce15fd906a08..4e9bfdc91db998 100644 --- a/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/printed_note.jsp +++ b/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/printed_note.jsp @@ -15,14 +15,13 @@ CommerceOrder commerceOrder = commerceOrderEditDisplayContext.getCommerceOrder() - +
- - \ No newline at end of file +
\ No newline at end of file diff --git a/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/purchase_order_number.jsp b/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/purchase_order_number.jsp index 7e3c26cc6b6511..fa8ad44f2f7478 100644 --- a/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/purchase_order_number.jsp +++ b/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/purchase_order_number.jsp @@ -15,16 +15,13 @@ CommerceOrder commerceOrder = commerceOrderEditDisplayContext.getCommerceOrder() - - - - - + + + - + - + - - - \ No newline at end of file + + \ No newline at end of file diff --git a/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/requested_delivery_date.jsp b/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/requested_delivery_date.jsp index 489d50236f7c1f..d105b28c63d38b 100644 --- a/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/requested_delivery_date.jsp +++ b/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/requested_delivery_date.jsp @@ -17,10 +17,9 @@ Date requestedDeliveryDate = commerceOrder.getRequestedDeliveryDate(); - +
- @@ -58,4 +57,4 @@ Date requestedDeliveryDate = commerceOrder.getRequestedDeliveryDate(); />
-
\ No newline at end of file +
\ No newline at end of file diff --git a/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/shipping_address.jsp b/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/shipping_address.jsp index 44c557f1258d65..059f3e9c3abc13 100644 --- a/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/shipping_address.jsp +++ b/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/shipping_address.jsp @@ -15,13 +15,9 @@ CommerceOrder commerceOrder = commerceOrderEditDisplayContext.getCommerceOrder() - +
- - \ No newline at end of file +
\ No newline at end of file From 343ce65815a70346441ac4b115a7215a6d7eb8f4 Mon Sep 17 00:00:00 2001 From: Gianmarco Brunialti Date: Tue, 9 Jul 2024 17:25:01 +0200 Subject: [PATCH 3/3] LPD-29890 `commerce-order-web` order detail general page refactored to adopt enhanced `InfoBox` --- .../resources/commerce_order/general.jsp | 295 +++++++++++------- 1 file changed, 177 insertions(+), 118 deletions(-) diff --git a/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/general.jsp b/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/general.jsp index bb38ce6c9b0425..c8306ae66314ba 100644 --- a/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/general.jsp +++ b/modules/apps/commerce/commerce-order-web/src/main/resources/META-INF/resources/commerce_order/general.jsp @@ -11,104 +11,9 @@ CommerceOrderEditDisplayContext commerceOrderEditDisplayContext = (CommerceOrderEditDisplayContext)request.getAttribute(WebKeys.PORTLET_DISPLAY_CONTEXT); CommerceOrder commerceOrder = commerceOrderEditDisplayContext.getCommerceOrder(); -%> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +boolean hasUpdateModelPermission = commerceOrderEditDisplayContext.hasModelPermission(commerceOrder, ActionKeys.UPDATE); +%>
@@ -149,14 +54,27 @@ CommerceOrder commerceOrder = commerceOrderEditDisplayContext.getCommerceOrder() + + + + + <% String purchaseOrderNumber = commerceOrder.getPurchaseOrderNumber(); %> @@ -181,15 +99,50 @@ CommerceOrder commerceOrder = commerceOrderEditDisplayContext.getCommerceOrder()
+ + + + + + + + + <% CommerceAddress billingCommerceAddress = commerceOrder.getBillingAddress(); + + String billingCommerceAddressActionLabel = null; + String billingCommerceAddressActionTitle = null; + String billingCommerceAddressActionURL = null; + + if (hasUpdateModelPermission) { + billingCommerceAddressActionLabel = LanguageUtil.get(request, (billingCommerceAddress == null) ? "add" : "edit"); + billingCommerceAddressActionTitle = LanguageUtil.get(request, (billingCommerceAddress == null) ? "add-billing-address" : "edit-billing-address"); + billingCommerceAddressActionURL = editBillingAddressURL; + + if (commerceOrder.isOpen()) { + billingCommerceAddressActionURL = selectBillingAddressURL; + } + } %> @@ -221,14 +174,50 @@ CommerceOrder commerceOrder = commerceOrderEditDisplayContext.getCommerceOrder() + + + + + + + + + + <% CommerceAddress shippingCommerceAddress = commerceOrder.getShippingAddress(); + + String shippingCommerceAddressActionLabel = null; + String shippingCommerceAddressActionTitle = null; + String shippingCommerceAddressActionURL = null; + + if (hasUpdateModelPermission) { + shippingCommerceAddressActionLabel = LanguageUtil.get(request, (shippingCommerceAddress == null) ? "add" : "edit"); + shippingCommerceAddressActionTitle = LanguageUtil.get(request, (shippingCommerceAddress == null) ? "add-shipping-address" : "edit-shipping-address"); + shippingCommerceAddressActionURL = editShippingAddressURL; + + if (commerceOrder.isOpen()) { + shippingCommerceAddressActionURL = selectShippingAddressURL; + } + } %> @@ -260,9 +249,26 @@ CommerceOrder commerceOrder = commerceOrderEditDisplayContext.getCommerceOrder() + + + + + + + + + +
- <% - String printedNote = commerceOrder.getPrintedNote(); - %> -
+ + + + + <% Date requestedDeliveryDate = commerceOrder.getRequestedDeliveryDate(); + + String requestedDeliveryDateActionLabel = null; + String requestedDeliveryDateActionURL = null; + + if (hasUpdateModelPermission) { + requestedDeliveryDateActionLabel = LanguageUtil.get(request, (requestedDeliveryDate == null) ? "add" : "edit"); + requestedDeliveryDateActionURL = editRequestedDeliveryDateURL; + } %> @@ -349,10 +389,29 @@ CommerceOrder commerceOrder = commerceOrderEditDisplayContext.getCommerceOrder()
+ + + + + + <% + String printedNote = commerceOrder.getPrintedNote(); + %> +