You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by BJ Freeman <bj...@free-man.net> on 2011/06/20 04:52:29 UTC
Re: svn commit: r808944 - in /ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/order:
ordercomplete.ftl orderheader.ftl orderitems.ftl
got a customer compliant that they could not access the pdf.
/ordermgr/control/order.pdf
a person with a customer role does not have permission
would be better if it went through the ecommerce login and
{ecommerce/webapp/mountpoint}/control/order?type=pdf
=========================
BJ Freeman
Strategic Power Office with Supplier Automation <http://www.businessesnetwork.com/control/forum?forumId=SUPPLYCHAIN>
Specialtymarket.com <http://www.specialtymarket.com>
Systems Integrator-- Glad to Assist
Chat Y! messenger: bjfr33man
apatel@apache.org sent the following on 8/28/2009 9:30 AM:
> Author: apatel
> Date: Fri Aug 28 16:30:34 2009
> New Revision: 808944
>
> URL: http://svn.apache.org/viewvc?rev=808944&view=rev
> Log:
> Set of html markup improvements.
>
> Modified:
> ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/order/ordercomplete.ftl
> ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/order/orderheader.ftl
> ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/order/orderitems.ftl
>
> Modified: ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/order/ordercomplete.ftl
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/order/ordercomplete.ftl?rev=808944&r1=808943&r2=808944&view=diff
> ==============================================================================
> --- ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/order/ordercomplete.ftl (original)
> +++ ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/order/ordercomplete.ftl Fri Aug 28 16:30:34 2009
> @@ -16,23 +16,13 @@
> specific language governing permissions and limitations
> under the License.
> -->
> -<h1>${uiLabelMap.EcommerceOrderConfirmation}</h1>
> +<h2>${uiLabelMap.EcommerceOrderConfirmation}</h2>
> <#if !isDemoStore?exists || isDemoStore><p>${uiLabelMap.OrderDemoFrontNote}.</p></#if>
> -
> <#if orderHeader?has_content>
> ${screens.render("component://ecommerce/widget/OrderScreens.xml#orderheader")}
> - <br/>
> ${screens.render("component://ecommerce/widget/OrderScreens.xml#orderitems")}
> - <table border="0" cellpadding="1" width="100%">
> - <tr>
> - <td colspan="4">
> - <a href="<@o...@ofbizUrl>" class="buttontextbig">${uiLabelMap.EcommerceContinueShopping}</a>
> - </td>
> - <td align="right">
> - <a href="<@o...@ofbizUrl>" class="buttontextbig">${uiLabelMap.EcommerceContinueShopping}</a>
> - </td>
> - </tr>
> - </table>
> + <a href="<@o...@ofbizUrl>" class="buttontextbig">${uiLabelMap.EcommerceContinueShopping}</a>
> + <a href="<@o...@ofbizUrl>" class="buttontextbig">${uiLabelMap.EcommerceContinueShopping}</a>
> <#else>
> <h3>${uiLabelMap.OrderSpecifiedNotFound}.</h3>
> </#if>
>
> Modified: ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/order/orderheader.ftl
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/order/orderheader.ftl?rev=808944&r1=808943&r2=808944&view=diff
> ==============================================================================
> --- ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/order/orderheader.ftl (original)
> +++ ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/order/orderheader.ftl Fri Aug 28 16:30:34 2009
> @@ -24,453 +24,332 @@
> <#assign externalOrder = "(" + orderHeader.externalId + ")"/>
> </#if>
>
> -<table width="100%" border="0" cellpadding="0" cellspacing="0">
> - <tr>
> - <#-- left side -->
> - <td width="50%" valign="top">
> -
> - <div class="screenlet">
> - <div class="screenlet-header">
> - <div class="boxlink">
> - <#if maySelectItems?default("N") == "Y" && returnLink?default("N") == "Y" && (orderHeader.statusId)?if_exists == "ORDER_COMPLETED" && roleTypeId?if_exists == "PLACING_CUSTOMER">
> - <a href="<@o...@ofbizUrl>" class="submenutextright">${uiLabelMap.OrderRequestReturn}</a>
> - </#if>
> - </div>
> - <div class="boxhead">
> - ${uiLabelMap.OrderOrder}
> - <#if orderHeader?has_content>
> - ${uiLabelMap.CommonNbr}<a href="<@o...@ofbizUrl>" class="lightbuttontext">${orderHeader.orderId}</a>
> - </#if>
> - ${uiLabelMap.CommonInformation}
> - <#if (orderHeader.orderId)?exists>
> - ${externalOrder?if_exists} [ <a href="<@o...@ofbizUrl>" class="lightbuttontext" target="_blank">PDF</a> ]
> - </#if>
> - </div>
> - </div>
> - <div class="screenlet-body">
> - <table width="100%" border="0" cellpadding="1">
> - <#-- placing customer information -->
> - <#if localOrderReadHelper?exists && orderHeader?has_content>
> - <#assign displayParty = localOrderReadHelper.getPlacingParty()?if_exists/>
> - <#if displayParty?has_content>
> - <#assign displayPartyNameResult = dispatcher.runSync("getPartyNameForDate", Static["org.ofbiz.base.util.UtilMisc"].toMap("partyId", displayParty.partyId, "compareDate", orderHeader.orderDate, "userLogin", userLogin))/>
> - </#if>
> - <tr>
> - <td align="right" valign="top" width="15%">
> - <div class="tabletext"> <b>${uiLabelMap.PartyName}</b></div>
> - </td>
> - <td width="5"> </td>
> - <td valign="top" width="80%">
> - <div class="tabletext">
> - ${(displayPartyNameResult.fullName)?default("[Name Not Found]")}
> - </div>
> - </td>
> - </tr>
> - <tr><td colspan="7"><hr/></td></tr>
> - </#if>
> - <#-- order status information -->
> - <tr>
> - <td align="right" valign="top" width="15%">
> - <div class="tabletext"> <b>${uiLabelMap.CommonStatus}</b></div>
> - </td>
> - <td width="5"> </td>
> - <td valign="top" width="80%">
> - <#if orderHeader?has_content>
> - <div class="tabletext">${localOrderReadHelper.getStatusString(locale)}</div>
> - <#else>
> - <div class="tabletext"><b>${uiLabelMap.OrderNotYetOrdered}</b></div>
> - </#if>
> - </td>
> - </tr>
> - <#-- ordered date -->
> - <#if orderHeader?has_content>
> - <tr><td colspan="7"><hr/></td></tr>
> - <tr>
> - <td align="right" valign="top" width="15%">
> - <div class="tabletext"> <b>${uiLabelMap.CommonDate}</b></div>
> - </td>
> - <td width="5"> </td>
> - <td valign="top" width="80%">
> - <div class="tabletext">${orderHeader.orderDate.toString()}</div>
> - </td>
> - </tr>
> - </#if>
> - <#if distributorId?exists>
> - <tr><td colspan="7"><hr/></td></tr>
> - <tr>
> - <td align="right" valign="top" width="15%">
> - <div class="tabletext"> <b>${uiLabelMap.OrderDistributor}</b></div>
> - </td>
> - <td width="5"> </td>
> - <td valign="top" width="80%">
> - <div class="tabletext">${distributorId}</div>
> - </td>
> - </tr>
> - </#if>
> - </table>
> - </div>
> - </div>
> -
> - <#if paymentMethods?has_content || paymentMethodType?has_content || billingAccount?has_content>
> - <#-- order payment info -->
> - <div class="screenlet">
> - <div class="screenlet-header">
> - <div class="boxhead"> ${uiLabelMap.AccountingPaymentInformation}</div>
> - </div>
> - <div class="screenlet-body">
> - <table width="100%" border="0" cellpadding="1">
> - <#-- offline payment address infomation :: change this to use Company's address -->
> - <#if !paymentMethod?has_content && paymentMethodType?has_content>
> - <tr>
> - <#if paymentMethodType.paymentMethodTypeId == "EXT_OFFLINE">
> - <td colspan="3" valign="top">
> - <div class="tabletext" align="center"><b>${uiLabelMap.AccountingOfflinePayment}</b></div>
> - <#if orderHeader?has_content && paymentAddress?has_content>
> - <div class="tabletext" align="center"><hr/></div>
> - <div class="tabletext" align="center"><b>${uiLabelMap.OrderSendPaymentTo}:</b></div>
> - <#if paymentAddress.toName?has_content><div class="tabletext" align="center">${paymentAddress.toName}</div></#if>
> - <#if paymentAddress.attnName?has_content><div class="tabletext" align="center"><b>${uiLabelMap.PartyAddrAttnName}:</b> ${paymentAddress.attnName}</div></#if>
> - <div class="tabletext" align="center">${paymentAddress.address1}</div>
> - <#if paymentAddress.address2?has_content><div class="tabletext" align="center">${paymentAddress.address2}</div></#if>
> - <div class="tabletext" align="center">${paymentAddress.city}<#if paymentAddress.stateProvinceGeoId?has_content>, ${paymentAddress.stateProvinceGeoId}</#if> ${paymentAddress.postalCode?if_exists}
> - <div class="tabletext" align="center">${paymentAddress.countryGeoId}</div>
> - <div class="tabletext" align="center"><hr/></div>
> - <div class="tabletext" align="center"><b>${uiLabelMap.EcommerceBeSureToIncludeYourOrderNb}</b></div>
> - </#if>
> - </td>
> - <#else>
> - <#assign outputted = true>
> - <td colspan="3" valign="top">
> - <div class="tabletext" align="center"><b>${uiLabelMap.AccountingPaymentVia} ${paymentMethodType.get("description",locale)}</b></div>
> - </td>
> - </#if>
> - </tr>
> - </#if>
> - <#if paymentMethods?has_content>
> - <#list paymentMethods as paymentMethod>
> - <#if "CREDIT_CARD" == paymentMethod.paymentMethodTypeId>
> - <#assign creditCard = paymentMethod.getRelatedOne("CreditCard")>
> - <#assign formattedCardNumber = Static["org.ofbiz.party.contact.ContactHelper"].formatCreditCard(creditCard)>
> - <#elseif "GIFT_CARD" == paymentMethod.paymentMethodTypeId>
> - <#assign giftCard = paymentMethod.getRelatedOne("GiftCard")>
> - <#elseif "EFT_ACCOUNT" == paymentMethod.paymentMethodTypeId>
> - <#assign eftAccount = paymentMethod.getRelatedOne("EftAccount")>
> - </#if>
> -
> - <#-- credit card info -->
> - <#if "CREDIT_CARD" == paymentMethod.paymentMethodTypeId && creditCard?has_content>
> - <#if outputted?default(false)>
> - <tr><td colspan="3"><hr/></td></tr>
> - </#if>
> - <#assign pmBillingAddress = creditCard.getRelatedOne("PostalAddress")>
> - <tr>
> - <td align="right" valign="top" width="15%">
> - <div class="tabletext"> <b>${uiLabelMap.AccountingCreditCard}</b></div>
> - </td>
> - <td width="5"> </td>
> - <td valign="top" width="80%">
> - <div class="tabletext">
> - <#if creditCard.companyNameOnCard?has_content>${creditCard.companyNameOnCard}<br/></#if>
> - <#if creditCard.titleOnCard?has_content>${creditCard.titleOnCard} </#if>
> - ${creditCard.firstNameOnCard}
> - <#if creditCard.middleNameOnCard?has_content>${creditCard.middleNameOnCard} </#if>
> - ${creditCard.lastNameOnCard}
> - <#if creditCard.suffixOnCard?has_content> ${creditCard.suffixOnCard}</#if>
> - <br/>
> - ${formattedCardNumber}
> - </div>
> - </td>
> - </tr>
> - <#-- Gift Card info -->
> - <#elseif "GIFT_CARD" == paymentMethod.paymentMethodTypeId && giftCard?has_content>
> - <#if outputted?default(false)>
> - <tr><td colspan="3"><hr/></td></tr>
> - </#if>
> - <#if giftCard?has_content && giftCard.cardNumber?has_content>
> - <#assign pmBillingAddress = giftCard.getRelatedOne("PostalAddress")?if_exists>
> - <#assign giftCardNumber = "">
> - <#assign pcardNumber = giftCard.cardNumber>
> - <#if pcardNumber?has_content>
> - <#assign psize = pcardNumber?length - 4>
> - <#if 0 < psize>
> - <#list 0 .. psize-1 as foo>
> - <#assign giftCardNumber = giftCardNumber + "*">
> - </#list>
> - <#assign giftCardNumber = giftCardNumber + pcardNumber[psize .. psize + 3]>
> - <#else>
> - <#assign giftCardNumber = pcardNumber>
> - </#if>
> - </#if>
> - </#if>
> - <tr>
> - <td align="right" valign="top" width="15%">
> - <div class="tabletext"> <b>${uiLabelMap.AccountingGiftCard}</b></div>
> - </td>
> - <td width="5"> </td>
> - <td valign="top" width="80%">
> - <div class="tabletext">
> - ${giftCardNumber}
> - </div>
> - </td>
> - </tr>
> - <#-- EFT account info -->
> - <#elseif "EFT_ACCOUNT" == paymentMethod.paymentMethodTypeId && eftAccount?has_content>
> - <#if outputted?default(false)>
> - <tr><td colspan="3"><hr/></td></tr>
> - </#if>
> - <#assign pmBillingAddress = eftAccount.getRelatedOne("PostalAddress")>
> - <tr>
> - <td align="right" valign="top" width="15%">
> - <div class="tabletext"> <b>${uiLabelMap.AccountingEFTAccount}</b></div>
> - </td>
> - <td width="5"> </td>
> - <td valign="top" width="80%">
> - <div class="tabletext">
> - ${eftAccount.nameOnAccount?if_exists}<br/>
> - <#if eftAccount.companyNameOnAccount?has_content>${eftAccount.companyNameOnAccount}<br/></#if>
> - ${uiLabelMap.AccountingBank}: ${eftAccount.bankName}, ${eftAccount.routingNumber}<br/>
> - ${uiLabelMap.AccountingAccount} #: ${eftAccount.accountNumber}
> - </div>
> - </td>
> - </tr>
> - </#if>
> - <#if pmBillingAddress?has_content>
> - <tr><td> </td><td colspan="2"><hr/></td></tr>
> - <tr>
> - <td align="right" valign="top" width="15%">
> - <div class="tabletext"> </div>
> - </td>
> - <td width="5"> </td>
> - <td valign="top" width="80%">
> - <div class="tabletext">
> - <#if pmBillingAddress.toName?has_content><b>${uiLabelMap.CommonTo}:</b> ${pmBillingAddress.toName}<br/></#if>
> - <#if pmBillingAddress.attnName?has_content><b>${uiLabelMap.CommonAttn}:</b> ${pmBillingAddress.attnName}<br/></#if>
> - ${pmBillingAddress.address1}<br/>
> - <#if pmBillingAddress.address2?has_content>${pmBillingAddress.address2}<br/></#if>
> - ${pmBillingAddress.city}<#if pmBillingAddress.stateProvinceGeoId?has_content>, ${pmBillingAddress.stateProvinceGeoId} </#if>
> - ${pmBillingAddress.postalCode?if_exists}<br/>
> - ${pmBillingAddress.countryGeoId?if_exists}
> - </div>
> - </td>
> - </tr>
> - </#if>
> - <#assign outputted = true>
> - </#list>
> - </#if>
> - <#-- billing account info -->
> - <#if billingAccount?has_content>
> - <#if outputted?default(false)>
> - <tr><td colspan="3"><hr/></td></tr>
> - </#if>
> - <#assign outputted = true>
> - <tr>
> - <td align="right" valign="top" width="15%">
> - <div class="tabletext"> <b>${uiLabelMap.AccountingBillingAccount}</b></div>
> - </td>
> - <td width="5"> </td>
> - <td valign="top" width="80%">
> - <div class="tabletext">
> - #${billingAccount.billingAccountId?if_exists} - ${billingAccount.description?if_exists}
> - </div>
> - </td>
> - </tr>
> - </#if>
> - <#if (customerPoNumberSet?has_content)>
> - <tr><td colspan="7"><hr/></td></tr>
> - <tr>
> - <td align="right" valign="top" width="15%">
> - <div class="tabletext"> <b>${uiLabelMap.OrderPurchaseOrderNumber}</b></div>
> - </td>
> - <td width="5"> </td>
> - <td valign="top" width="80%">
> - <#list customerPoNumberSet as customerPoNumber>
> - <div class="tabletext">${customerPoNumber?if_exists}</div>
> - </#list>
> - </td>
> - </tr>
> - </#if>
> - </table>
> - </div>
> - </div>
> +<#-- left side -->
> +<div class="screenlet">
> + <h3>
> + <#if maySelectItems?default("N") == "Y" && returnLink?default("N") == "Y" && (orderHeader.statusId)?if_exists == "ORDER_COMPLETED" && roleTypeId?if_exists == "PLACING_CUSTOMER">
> + <a href="<@o...@ofbizUrl>" class="submenutextright">${uiLabelMap.OrderRequestReturn}</a>
> + </#if>
> + ${uiLabelMap.OrderOrder}
> + <#if orderHeader?has_content>
> + ${uiLabelMap.CommonNbr}<a href="<@o...@ofbizUrl>" class="lightbuttontext">${orderHeader.orderId}</a>
> + </#if>
> + ${uiLabelMap.CommonInformation}
> + <#if (orderHeader.orderId)?exists>
> + ${externalOrder?if_exists} [ <a href="<@o...@ofbizUrl>" class="lightbuttontext">PDF</a> ]
> + </#if>
> + </h3>
> + <#-- placing customer information -->
> + <ul>
> + <#if localOrderReadHelper?exists && orderHeader?has_content>
> + <#assign displayParty = localOrderReadHelper.getPlacingParty()?if_exists/>
> + <#if displayParty?has_content>
> + <#assign displayPartyNameResult = dispatcher.runSync("getPartyNameForDate", Static["org.ofbiz.base.util.UtilMisc"].toMap("partyId", displayParty.partyId, "compareDate", orderHeader.orderDate, "userLogin", userLogin))/>
> </#if>
> - </td>
> -
> - <td width="1"> </td>
> - <#-- right side -->
> -
> - <td width="50%" valign="top">
> - <#if orderItemShipGroups?has_content>
> -
> - <div class="screenlet">
> - <div class="screenlet-header">
> - <div class="boxhead"> ${uiLabelMap.OrderShippingInformation}</div>
> - </div>
> - <div class="screenlet-body">
> - <#-- shipping address -->
> - <#assign groupIdx = 0>
> - <#list orderItemShipGroups as shipGroup>
> - <#if orderHeader?has_content>
> - <#assign shippingAddress = shipGroup.getRelatedOne("PostalAddress")?if_exists>
> - <#assign groupNumber = shipGroup.shipGroupSeqId?if_exists>
> - <#else>
> - <#assign shippingAddress = cart.getShippingAddress(groupIdx)?if_exists>
> - <#assign groupNumber = groupIdx + 1>
> - </#if>
> -
> - <table width="100%" border="0" cellpadding="1">
> - <#if shippingAddress?has_content>
> - <tr>
> - <td align="right" valign="top" width="15%">
> - <div class="tabletext"> <b>${uiLabelMap.OrderDestination}</b> [${groupNumber}]</div>
> - </td>
> - <td width="5"> </td>
> - <td valign="top" width="80%">
> - <div class="tabletext">
> - <#if shippingAddress.toName?has_content><b>${uiLabelMap.CommonTo}:</b> ${shippingAddress.toName}<br/></#if>
> - <#if shippingAddress.attnName?has_content><b>${uiLabelMap.PartyAddrAttnName}:</b> ${shippingAddress.attnName}<br/></#if>
> - ${shippingAddress.address1}<br/>
> - <#if shippingAddress.address2?has_content>${shippingAddress.address2}<br/></#if>
> - ${shippingAddress.city}<#if shippingAddress.stateProvinceGeoId?has_content>, ${shippingAddress.stateProvinceGeoId} </#if>
> - ${shippingAddress.postalCode?if_exists}<br/>
> - ${shippingAddress.countryGeoId?if_exists}
> - </div>
> - </td>
> - </tr>
> - <tr><td colspan="7"><hr/></td></tr>
> - </#if>
> - <tr>
> - <td align="right" valign="top" width="15%">
> - <div class="tabletext"> <b>${uiLabelMap.OrderMethod}</b></div>
> - </td>
> - <td width="5"> </td>
> - <td valign="top" width="80%">
> - <div class="tabletext">
> - <#if orderHeader?has_content>
> - <#assign shipmentMethodType = shipGroup.getRelatedOne("ShipmentMethodType")?if_exists>
> - <#assign carrierPartyId = shipGroup.carrierPartyId?if_exists>
> - <#else>
> - <#assign shipmentMethodType = cart.getShipmentMethodType(groupIdx)?if_exists>
> - <#assign carrierPartyId = cart.getCarrierPartyId(groupIdx)?if_exists>
> - </#if>
> -
> - <#if carrierPartyId?exists && carrierPartyId != "_NA_">${carrierPartyId?if_exists}</#if>
> - ${(shipmentMethodType.description)?default("N/A")}
> - <#if shippingAccount?exists><br/>${uiLabelMap.AccountingUseAccount}: ${shippingAccount}</#if>
> - </div>
> - </td>
> - </tr>
> - <#-- tracking number -->
> - <#if trackingNumber?has_content || orderShipmentInfoSummaryList?has_content>
> - <tr><td colspan="7"><hr/></td></tr>
> - <tr>
> - <td align="right" valign="top" width="15%">
> - <div class="tabletext"> <b>${uiLabelMap.OrderTrackingNumber}</b></div>
> - </td>
> - <td width="5"> </td>
> - <td valign="top" width="80%">
> - <#-- TODO: add links to UPS/FEDEX/etc based on carrier partyId -->
> - <#if shipGroup.trackingNumber?has_content>
> - <div class="tabletext">${shipGroup.trackingNumber}</div>
> - </#if>
> - <#if orderShipmentInfoSummaryList?has_content>
> - <#list orderShipmentInfoSummaryList as orderShipmentInfoSummary>
> - <div class="tabletext">
> - <#if (orderShipmentInfoSummaryList?size > 1)>${orderShipmentInfoSummary.shipmentPackageSeqId}: </#if>
> - Code: ${orderShipmentInfoSummary.trackingCode?default("[Not Yet Known]")}
> - <#if orderShipmentInfoSummary.boxNumber?has_content>${uiLabelMap.OrderBoxNumber}${orderShipmentInfoSummary.boxNumber}</#if>
> - <#if orderShipmentInfoSummary.carrierPartyId?has_content>(${uiLabelMap.ProductCarrier}: ${orderShipmentInfoSummary.carrierPartyId})</#if>
> - </div>
> - </#list>
> - </#if>
> - </td>
> - </tr>
> - </#if>
> - <tr><td colspan="7"><hr/></td></tr>
> - <#-- splitting preference -->
> - <#if orderHeader?has_content>
> - <#assign maySplit = shipGroup.maySplit?default("N")>
> - <#else>
> - <#assign maySplit = cart.getMaySplit(groupIdx)?default("N")>
> - </#if>
> - <tr>
> - <td align="right" valign="top" width="15%">
> - <div class="tabletext"> <b>${uiLabelMap.OrderSplittingPreference}</b></div>
> - </td>
> - <td width="5"> </td>
> - <td valign="top" width="80%">
> - <div class="tabletext">
> - <#if maySplit?default("N") == "N">${uiLabelMap.OrderPleaseWaitUntilBeforeShipping}.</#if>
> - <#if maySplit?default("N") == "Y">${uiLabelMap.OrderPleaseShipItemsBecomeAvailable}.</#if>
> - </div>
> - </td>
> - </tr>
> - <#-- shipping instructions -->
> - <#if orderHeader?has_content>
> - <#assign shippingInstructions = shipGroup.shippingInstructions?if_exists>
> - <#else>
> - <#assign shippingInstructions = cart.getShippingInstructions(groupIdx)?if_exists>
> - </#if>
> -
> - <#if shippingInstructions?has_content>
> - <tr><td colspan="7"><hr/></td></tr>
> - <tr>
> - <td align="right" valign="top" width="15%">
> - <div class="tabletext"> <b>${uiLabelMap.OrderInstructions}</b></div>
> - </td>
> - <td width="5"> </td>
> - <td valign="top" width="80%">
> - <div class="tabletext">${shippingInstructions}</div>
> - </td>
> - </tr>
> - </#if>
> - <tr><td colspan="7"><hr/></td></tr>
> - <#-- gift settings -->
> - <#if orderHeader?has_content>
> - <#assign isGift = shipGroup.isGift?default("N")>
> - <#assign giftMessage = shipGroup.giftMessage?if_exists>
> + <li>
> + ${uiLabelMap.PartyName}
> + ${(displayPartyNameResult.fullName)?default("[Name Not Found]")}
> + </li>
> + </#if>
> + <#-- order status information -->
> + <li>
> + ${uiLabelMap.CommonStatus}
> + <#if orderHeader?has_content>
> + ${localOrderReadHelper.getStatusString(locale)}
> + <#else>
> + ${uiLabelMap.OrderNotYetOrdered}
> + </#if>
> + </li>
> + <#-- ordered date -->
> + <#if orderHeader?has_content>
> + <li>
> + ${uiLabelMap.CommonDate}
> + ${orderHeader.orderDate.toString()}
> + </li>
> + </#if>
> + <#if distributorId?exists>
> + <li>
> + ${uiLabelMap.OrderDistributor}
> + ${distributorId}
> + </li>
> + </#if>
> + </ul>
> +</div>
> +
> +<div class="screenlet">
> + <#if paymentMethods?has_content || paymentMethodType?has_content || billingAccount?has_content>
> + <#-- order payment info -->
> + <h3>${uiLabelMap.AccountingPaymentInformation}</h3>
> + <#-- offline payment address infomation :: change this to use Company's address -->
> + <ul>
> + <#if !paymentMethod?has_content && paymentMethodType?has_content>
> + <li>
> + <#if paymentMethodType.paymentMethodTypeId == "EXT_OFFLINE">
> + ${uiLabelMap.AccountingOfflinePayment}
> + <#if orderHeader?has_content && paymentAddress?has_content>
> + ${uiLabelMap.OrderSendPaymentTo}:
> + <#if paymentAddress.toName?has_content>${paymentAddress.toName}</#if>
> + <#if paymentAddress.attnName?has_content>${uiLabelMap.PartyAddrAttnName}: ${paymentAddress.attnName}</#if>
> + ${paymentAddress.address1}
> + <#if paymentAddress.address2?has_content>${paymentAddress.address2}</#if>
> + ${paymentAddress.city}<#if paymentAddress.stateProvinceGeoId?has_content>, ${paymentAddress.stateProvinceGeoId}</#if> ${paymentAddress.postalCode?if_exists}
> + ${paymentAddress.countryGeoId}
> + ${uiLabelMap.EcommerceBeSureToIncludeYourOrderNb}
> + </#if>
> + <#else>
> + <#assign outputted = true>
> + ${uiLabelMap.AccountingPaymentVia} ${paymentMethodType.get("description",locale)}
> + </#if>
> + </li>
> + </#if>
> + <#if paymentMethods?has_content>
> + <#list paymentMethods as paymentMethod>
> + <#if "CREDIT_CARD" == paymentMethod.paymentMethodTypeId>
> + <#assign creditCard = paymentMethod.getRelatedOne("CreditCard")>
> + <#assign formattedCardNumber = Static["org.ofbiz.party.contact.ContactHelper"].formatCreditCard(creditCard)>
> + <#elseif "GIFT_CARD" == paymentMethod.paymentMethodTypeId>
> + <#assign giftCard = paymentMethod.getRelatedOne("GiftCard")>
> + <#elseif "EFT_ACCOUNT" == paymentMethod.paymentMethodTypeId>
> + <#assign eftAccount = paymentMethod.getRelatedOne("EftAccount")>
> + </#if>
> + <#-- credit card info -->
> + <#if "CREDIT_CARD" == paymentMethod.paymentMethodTypeId && creditCard?has_content>
> + <#if outputted?default(false)>
> + </#if>
> + <#assign pmBillingAddress = creditCard.getRelatedOne("PostalAddress")>
> + <li>
> + <ul>
> + <li> ${uiLabelMap.AccountingCreditCard}
> + <#if creditCard.companyNameOnCard?has_content>${creditCard.companyNameOnCard}</#if>
> + <#if creditCard.titleOnCard?has_content>${creditCard.titleOnCard}</#if>
> + ${creditCard.firstNameOnCard}
> + <#if creditCard.middleNameOnCard?has_content>${creditCard.middleNameOnCard}</#if>
> + ${creditCard.lastNameOnCard}
> + <#if creditCard.suffixOnCard?has_content>${creditCard.suffixOnCard}</#if>
> + </li>
> + <li>${formattedCardNumber}</li>
> + </ul>
> + </li>
> + <#-- Gift Card info -->
> + <#elseif "GIFT_CARD" == paymentMethod.paymentMethodTypeId && giftCard?has_content>
> + <#if outputted?default(false)>
> + </#if>
> + <#if giftCard?has_content && giftCard.cardNumber?has_content>
> + <#assign pmBillingAddress = giftCard.getRelatedOne("PostalAddress")?if_exists>
> + <#assign giftCardNumber = "">
> + <#assign pcardNumber = giftCard.cardNumber>
> + <#if pcardNumber?has_content>
> + <#assign psize = pcardNumber?length - 4>
> + <#if 0 < psize>
> + <#list 0 .. psize-1 as foo>
> + <#assign giftCardNumber = giftCardNumber + "*">
> + </#list>
> + <#assign giftCardNumber = giftCardNumber + pcardNumber[psize .. psize + 3]>
> <#else>
> - <#assign isGift = cart.getIsGift(groupIdx)?default("N")>
> - <#assign giftMessage = cart.getGiftMessage(groupIdx)?if_exists>
> - </#if>
> -
> - <#if productStore.showCheckoutGiftOptions?if_exists != "N">
> - <tr>
> - <td align="right" valign="top" width="15%">
> - <div class="tabletext"> <b>${uiLabelMap.OrderGift}?</b></div>
> - </td>
> - <td width="5"> </td>
> - <td valign="top" width="80%">
> - <div class="tabletext">
> - <#if isGift?default("N") == "N">${uiLabelMap.OrderThisIsNotGift}.</#if>
> - <#if isGift?default("N") == "Y">${uiLabelMap.OrderThisIsGift}.</#if>
> - </div>
> - </td>
> - </tr>
> - <#if giftMessage?has_content>
> - <tr><td colspan="7"><hr/></td></tr>
> - <tr>
> - <td align="right" valign="top" width="15%">
> - <div class="tabletext"> <b>${uiLabelMap.OrderGiftMessage}</b></div>
> - </td>
> - <td width="5"> </td>
> - <td valign="top" width="80%">
> - <div class="tabletext">${giftMessage}</div>
> - </td>
> - </tr>
> - </#if>
> - </#if>
> - <#if shipGroup_has_next>
> - <tr><td colspan="7"><hr/></td></tr>
> - <tr><td colspan="7"><hr/></td></tr>
> + <#assign giftCardNumber = pcardNumber>
> </#if>
> - </table>
> -
> - <#assign groupIdx = groupIdx + 1>
> - </#list><#-- end list of orderItemShipGroups -->
> - </div>
> - </div>
> -
> + </#if>
> + </#if>
> + <li>
> + ${uiLabelMap.AccountingGiftCard}
> + ${giftCardNumber}
> + </li>
> + <#-- EFT account info -->
> + <#elseif "EFT_ACCOUNT" == paymentMethod.paymentMethodTypeId && eftAccount?has_content>
> + <#if outputted?default(false)>
> + </#if>
> + <#assign pmBillingAddress = eftAccount.getRelatedOne("PostalAddress")>
> + <li>
> + <ul>
> + <li>
> + ${uiLabelMap.AccountingEFTAccount}
> + ${eftAccount.nameOnAccount?if_exists}
> + </li>
> + <li>
> + <#if eftAccount.companyNameOnAccount?has_content>${eftAccount.companyNameOnAccount}</#if>
> + </li>
> + <li>
> + ${uiLabelMap.AccountingBank}: ${eftAccount.bankName}, ${eftAccount.routingNumber}
> + </li>
> + <li>
> + ${uiLabelMap.AccountingAccount} #: ${eftAccount.accountNumber}
> + </li>
> + </ul>
> + </li>
> + </#if>
> + <#if pmBillingAddress?has_content>
> + <li>
> + <ul>
> + <li>
> + <#if pmBillingAddress.toName?has_content>${uiLabelMap.CommonTo}: ${pmBillingAddress.toName}</#if>
> + </li>
> + <li>
> + <#if pmBillingAddress.attnName?has_content>${uiLabelMap.CommonAttn}: ${pmBillingAddress.attnName}</#if>
> + </li>
> + <li>
> + ${pmBillingAddress.address1}
> + </li>
> + <li>
> + <#if pmBillingAddress.address2?has_content>${pmBillingAddress.address2}</#if>
> + </li>
> + <li>
> + ${pmBillingAddress.city}<#if pmBillingAddress.stateProvinceGeoId?has_content>, ${pmBillingAddress.stateProvinceGeoId} </#if>
> + ${pmBillingAddress.postalCode?if_exists}
> + ${pmBillingAddress.countryGeoId?if_exists}
> + </li>
> + </ul>
> + </li>
> + </#if>
> + <#assign outputted = true>
> + </#list>
> + </#if>
> + <#-- billing account info -->
> + <#if billingAccount?has_content>
> + <#if outputted?default(false)>
> + </#if>
> + <#assign outputted = true>
> + <li>
> + ${uiLabelMap.AccountingBillingAccount}
> + #${billingAccount.billingAccountId?if_exists} - ${billingAccount.description?if_exists}
> + </li>
> + </#if>
> + <#if (customerPoNumberSet?has_content)>
> + <li>
> + ${uiLabelMap.OrderPurchaseOrderNumber}
> + <#list customerPoNumberSet as customerPoNumber>
> + ${customerPoNumber?if_exists}
> + </#list>
> + </li>
> + </#if>
> + </ul>
> + </#if>
> +</div>
> +<#-- right side -->
> +<div class="screenlet">
> + <#if orderItemShipGroups?has_content>
> + <h3>${uiLabelMap.OrderShippingInformation}</h3>
> + <#-- shipping address -->
> + <#assign groupIdx = 0>
> + <#list orderItemShipGroups as shipGroup>
> + <#if orderHeader?has_content>
> + <#assign shippingAddress = shipGroup.getRelatedOne("PostalAddress")?if_exists>
> + <#assign groupNumber = shipGroup.shipGroupSeqId?if_exists>
> + <#else>
> + <#assign shippingAddress = cart.getShippingAddress(groupIdx)?if_exists>
> + <#assign groupNumber = groupIdx + 1>
> </#if>
> - </td>
> - </tr>
> -</table>
> + <ul>
> + <#if shippingAddress?has_content>
> + <li>
> + <ul>
> + <li>
> + ${uiLabelMap.OrderDestination} [${groupNumber}]
> + <#if shippingAddress.toName?has_content>${uiLabelMap.CommonTo}: ${shippingAddress.toName}</#if>
> + </li>
> + <li>
> + <#if shippingAddress.attnName?has_content>${uiLabelMap.PartyAddrAttnName}: ${shippingAddress.attnName}</#if>
> + </li>
> + <li>
> + ${shippingAddress.address1}
> + </li>
> + <li>
> + <#if shippingAddress.address2?has_content>${shippingAddress.address2}</#if>
> + </li>
> + <li>
> + ${shippingAddress.city}<#if shippingAddress.stateProvinceGeoId?has_content>, ${shippingAddress.stateProvinceGeoId} </#if>
> + ${shippingAddress.postalCode?if_exists}
> + </li>
> + <li>
> + ${shippingAddress.countryGeoId?if_exists}
> + </li>
> + </ul>
> + </li>
> + </#if>
> + <li>
> + <ul>
> + <li>
> + ${uiLabelMap.OrderMethod}
> + <#if orderHeader?has_content>
> + <#assign shipmentMethodType = shipGroup.getRelatedOne("ShipmentMethodType")?if_exists>
> + <#assign carrierPartyId = shipGroup.carrierPartyId?if_exists>
> + <#else>
> + <#assign shipmentMethodType = cart.getShipmentMethodType(groupIdx)?if_exists>
> + <#assign carrierPartyId = cart.getCarrierPartyId(groupIdx)?if_exists>
> + </#if>
> + <#if carrierPartyId?exists && carrierPartyId != "_NA_">${carrierPartyId?if_exists}</#if>
> + ${(shipmentMethodType.description)?default("N/A")}
> + </li>
> + <li>
> + <#if shippingAccount?exists>${uiLabelMap.AccountingUseAccount}: ${shippingAccount}</#if>
> + </li>
> + </ul>
> + </li>
> + <#-- tracking number -->
> + <#if trackingNumber?has_content || orderShipmentInfoSummaryList?has_content>
> + <li>
> + ${uiLabelMap.OrderTrackingNumber}
> + <#-- TODO: add links to UPS/FEDEX/etc based on carrier partyId -->
> + <#if shipGroup.trackingNumber?has_content>
> + ${shipGroup.trackingNumber}
> + </#if>
> + <#if orderShipmentInfoSummaryList?has_content>
> + <#list orderShipmentInfoSummaryList as orderShipmentInfoSummary>
> + <#if (orderShipmentInfoSummaryList?size > 1)>${orderShipmentInfoSummary.shipmentPackageSeqId}: </#if>
> + Code: ${orderShipmentInfoSummary.trackingCode?default("[Not Yet Known]")}
> + <#if orderShipmentInfoSummary.boxNumber?has_content>${uiLabelMap.OrderBoxNumber}${orderShipmentInfoSummary.boxNumber}</#if>
> + <#if orderShipmentInfoSummary.carrierPartyId?has_content>(${uiLabelMap.ProductCarrier}: ${orderShipmentInfoSummary.carrierPartyId})</#if>
> + </#list>
> + </#if>
> + </li>
> + </#if>
> + <#-- splitting preference -->
> + <#if orderHeader?has_content>
> + <#assign maySplit = shipGroup.maySplit?default("N")>
> + <#else>
> + <#assign maySplit = cart.getMaySplit(groupIdx)?default("N")>
> + </#if>
> + <li>
> + ${uiLabelMap.OrderSplittingPreference}
> + <#if maySplit?default("N") == "N">${uiLabelMap.OrderPleaseWaitUntilBeforeShipping}.</#if>
> + <#if maySplit?default("N") == "Y">${uiLabelMap.OrderPleaseShipItemsBecomeAvailable}.</#if>
> + </li>
> + <#-- shipping instructions -->
> + <#if orderHeader?has_content>
> + <#assign shippingInstructions = shipGroup.shippingInstructions?if_exists>
> + <#else>
> + <#assign shippingInstructions = cart.getShippingInstructions(groupIdx)?if_exists>
> + </#if>
> + <#if shippingInstructions?has_content>
> + <li>
> + ${uiLabelMap.OrderInstructions}
> + ${shippingInstructions}
> + </li>
> + </#if>
> + <#-- gift settings -->
> + <#if orderHeader?has_content>
> + <#assign isGift = shipGroup.isGift?default("N")>
> + <#assign giftMessage = shipGroup.giftMessage?if_exists>
> + <#else>
> + <#assign isGift = cart.getIsGift(groupIdx)?default("N")>
> + <#assign giftMessage = cart.getGiftMessage(groupIdx)?if_exists>
> + </#if>
> + <#if productStore.showCheckoutGiftOptions?if_exists != "N">
> + <li>
> + ${uiLabelMap.OrderGift}?
> + <#if isGift?default("N") == "N">${uiLabelMap.OrderThisIsNotGift}.</#if>
> + <#if isGift?default("N") == "Y">${uiLabelMap.OrderThisIsGift}.</#if>
> + </li>
> + <#if giftMessage?has_content>
> + <li>
> + ${uiLabelMap.OrderGiftMessage}
> + ${giftMessage}
> + </li>
> + </#if>
> + </#if>
> + <#if shipGroup_has_next>
> + </#if>
> + </ul>
> + <#assign groupIdx = groupIdx + 1>
> + </#list><#-- end list of orderItemShipGroups -->
> + </#if>
> +</div>
>
> Modified: ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/order/orderitems.ftl
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/order/orderitems.ftl?rev=808944&r1=808943&r2=808944&view=diff
> ==============================================================================
> --- ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/order/orderitems.ftl (original)
> +++ ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/order/orderitems.ftl Fri Aug 28 16:30:34 2009
> @@ -20,281 +20,266 @@
> <#-- NOTE: this template is used for the orderstatus screen in ecommerce AND for order notification emails through the OrderNoticeEmail.ftl file -->
> <#-- the "urlPrefix" value will be prepended to URLs by the ofbizUrl transform if/when there is no "request" object in the context -->
> <#if baseEcommerceSecureUrl?exists><#assign urlPrefix = baseEcommerceSecureUrl/></#if>
> -
> <div class="screenlet">
> - <div class="screenlet-header">
> - <div class="boxlink">
> - <#assign numColumns = 8>
> - <#if maySelectItems?default("N") == "Y" && roleTypeId?if_exists == "PLACING_CUSTOMER">
> - <#assign numColumns = 11>
> - <a href="javascript:document.addCommonToCartForm.add_all.value='true';document.addCommonToCartForm.submit()" class="submenutext">${uiLabelMap.OrderAddAllToCart}</a><a href="javascript:document.addCommonToCartForm.add_all.value='false';document.addCommonToCartForm.submit()" class="submenutext">${uiLabelMap.OrderAddCheckedToCart}</a><a href="<@o...@ofbizUrl>" class="submenutextright">${uiLabelMap.OrderSendMeThisEveryMonth}</a>
> + <h3>
> + <#assign numColumns = 8>
> + <#if maySelectItems?default("N") == "Y" && roleTypeId?if_exists == "PLACING_CUSTOMER">
> + <#assign numColumns = 11>
> + <a href="javascript:document.addCommonToCartForm.add_all.value='true';document.addCommonToCartForm.submit()" class="submenutext">${uiLabelMap.OrderAddAllToCart}</a><a href="javascript:document.addCommonToCartForm.add_all.value='false';document.addCommonToCartForm.submit()" class="submenutext">${uiLabelMap.OrderAddCheckedToCart}</a><a href="<@o...@ofbizUrl>" class="submenutextright">${uiLabelMap.OrderSendMeThisEveryMonth}</a>
> + </#if>
> + ${uiLabelMap.OrderOrderItems}
> + </h3>
> + <table>
> + <tr>
> + <td>${uiLabelMap.OrderProduct}</td>
> + <#if maySelectItems?default("N") == "Y">
> + <td>${uiLabelMap.OrderQtyOrdered}</td>
> + <td>${uiLabelMap.OrderQtyPicked}</td>
> + <td>${uiLabelMap.OrderQtyShipped}</td>
> + <td>${uiLabelMap.OrderQtyCanceled}</td>
> + <#else>
> + <td></td>
> + <td></td>
> + <td></td>
> + <td>${uiLabelMap.OrderQtyOrdered}</td>
> + </#if>
> + <td >${uiLabelMap.EcommerceUnitPrice}</td>
> + <td >${uiLabelMap.OrderAdjustments}</td>
> + <td >${uiLabelMap.CommonSubtotal}</td>
> + <#if maySelectItems?default("N") == "Y" && roleTypeId?if_exists == "PLACING_CUSTOMER">
> + <td colspan="3"></td>
> + </#if>
> + </tr>
> + <#list orderItems as orderItem>
> + <#-- get info from workeffort and calculate rental quantity, if it was a rental item -->
> + <#assign rentalQuantity = 1> <#-- no change if no rental item -->
> + <#if orderItem.orderItemTypeId == "RENTAL_ORDER_ITEM" && workEfforts?exists>
> + <#list workEfforts as workEffort>
> + <#if workEffort.workEffortId == orderItem.orderItemSeqId>
> + <#assign rentalQuantity = localOrderReadHelper.getWorkEffortRentalQuantity(workEffort)>
> + <#assign workEffortSave = workEffort>
> + <#break>
> + </#if>
> + </#list>
> + <#else>
> + <#assign WorkOrderItemFulfillments = orderItem.getRelated("WorkOrderItemFulfillment")?if_exists>
> + <#if WorkOrderItemFulfillments?has_content>
> + <#list WorkOrderItemFulfillments as WorkOrderItemFulfillment>
> + <#assign workEffortSave = WorkOrderItemFulfillment.getRelatedOneCache("WorkEffort")?if_exists>
> + <#break>
> + </#list>
> + </#if>
> + </#if>
> + <tr><td colspan="${numColumns}"></td></tr>
> + <tr>
> + <#if !orderItem.productId?exists || orderItem.productId == "_?_">
> + <td >
> + ${orderItem.itemDescription?default("")}
> + </td>
> + <#else>
> + <#assign product = orderItem.getRelatedOneCache("Product")?if_exists/> <#-- should always exist because of FK constraint, but just in case -->
> + <td >
> + <a href="<@o...@ofbizUrl>" class="linktext">${orderItem.productId} - ${orderItem.itemDescription?default("")}</a>
> + <#if product?has_content>
> + <#if product.piecesIncluded?exists && product.piecesIncluded?long != 0>
> + [${uiLabelMap.OrderPieces}: ${product.piecesIncluded}]
> + </#if>
> + <#if (product.quantityIncluded?exists && product.quantityIncluded != 0) || product.quantityUomId?has_content>
> + <#assign quantityUom = product.getRelatedOneCache("QuantityUom")?if_exists/>
> + [${uiLabelMap.CommonQuantity}: ${product.quantityIncluded?if_exists} ${((quantityUom.abbreviation)?default(product.quantityUomId))?if_exists}]
> + </#if>
> + <#if (product.weight?exists && product.weight != 0) || product.weightUomId?has_content>
> + <#assign weightUom = product.getRelatedOneCache("WeightUom")?if_exists/>
> + [${uiLabelMap.CommonWeight}: ${product.weight?if_exists} ${((weightUom.abbreviation)?default(product.weightUomId))?if_exists}]
> + </#if>
> + <#if (product.productHeight?exists && product.productHeight != 0) || product.heightUomId?has_content>
> + <#assign heightUom = product.getRelatedOneCache("HeightUom")?if_exists/>
> + [${uiLabelMap.CommonHeight}: ${product.productHeight?if_exists} ${((heightUom.abbreviation)?default(product.heightUomId))?if_exists}]
> + </#if>
> + <#if (product.productWidth?exists && product.productWidth != 0) || product.widthUomId?has_content>
> + <#assign widthUom = product.getRelatedOneCache("WidthUom")?if_exists/>
> + [${uiLabelMap.CommonWidth}: ${product.productWidth?if_exists} ${((widthUom.abbreviation)?default(product.widthUomId))?if_exists}]
> + </#if>
> + <#if (product.productDepth?exists && product.productDepth != 0) || product.depthUomId?has_content>
> + <#assign depthUom = product.getRelatedOneCache("DepthUom")?if_exists/>
> + [${uiLabelMap.CommonDepth}: ${product.productDepth?if_exists} ${((depthUom.abbreviation)?default(product.depthUomId))?if_exists}]
> + </#if>
> </#if>
> - </div>
> - <div class="boxhead"> ${uiLabelMap.OrderOrderItems}</div>
> - </div>
> - <div class="screenlet-body">
> - <table width="100%" border="0" cellpadding="0">
> - <tr valign="bottom">
> - <td width="35%"><span class="tableheadtext"><b>${uiLabelMap.OrderProduct}</b></span></td>
> <#if maySelectItems?default("N") == "Y">
> - <td width="10%" align="right"><span class="tableheadtext"><b>${uiLabelMap.OrderQtyOrdered}</b></span></td>
> - <td width="10%" align="right"><span class="tableheadtext"><b>${uiLabelMap.OrderQtyPicked}</b></span></td>
> - <td width="10%" align="right"><span class="tableheadtext"><b>${uiLabelMap.OrderQtyShipped}</b></span></td>
> - <td width="10%" align="right"><span class="tableheadtext"><b>${uiLabelMap.OrderQtyCanceled}</b></span></td>
> - <#else>
> - <td width="10%" align="right"> </td>
> - <td width="10%" align="right"> </td>
> - <td width="10%" align="right"> </td>
> - <td width="10%" align="right"><span class="tableheadtext"><b>${uiLabelMap.OrderQtyOrdered}</b></span></td>
> - </#if>
> - <td width="10%" align="right"><span class="tableheadtext"><b>${uiLabelMap.EcommerceUnitPrice}</b></span></td>
> - <td width="10%" align="right"><span class="tableheadtext"><b>${uiLabelMap.OrderAdjustments}</b></span></td>
> - <td width="10%" align="right"><span class="tableheadtext"><b>${uiLabelMap.CommonSubtotal}</b></span></td>
> - <#if maySelectItems?default("N") == "Y" && roleTypeId?if_exists == "PLACING_CUSTOMER">
> - <td colspan="3" width="5%" align="right"> </td>
> - </#if>
> - </tr>
> - <#list orderItems as orderItem>
> - <#-- get info from workeffort and calculate rental quantity, if it was a rental item -->
> - <#assign rentalQuantity = 1> <#-- no change if no rental item -->
> - <#if orderItem.orderItemTypeId == "RENTAL_ORDER_ITEM" && workEfforts?exists>
> - <#list workEfforts as workEffort>
> - <#if workEffort.workEffortId == orderItem.orderItemSeqId>
> - <#assign rentalQuantity = localOrderReadHelper.getWorkEffortRentalQuantity(workEffort)>
> - <#assign workEffortSave = workEffort>
> - <#break>
> - </#if>
> - </#list>
> - <#else>
> - <#assign WorkOrderItemFulfillments = orderItem.getRelated("WorkOrderItemFulfillment")?if_exists>
> - <#if WorkOrderItemFulfillments?has_content>
> - <#list WorkOrderItemFulfillments as WorkOrderItemFulfillment>
> - <#assign workEffortSave = WorkOrderItemFulfillment.getRelatedOneCache("WorkEffort")?if_exists>
> - <#break>
> - </#list>
> - </#if>
> - </#if>
> - <tr><td colspan="${numColumns}"><hr/></td></tr>
> - <tr>
> - <#if !orderItem.productId?exists || orderItem.productId == "_?_">
> - <td valign="top">
> - <b><div class="tabletext"> >> ${orderItem.itemDescription?default("")}</div></b>
> - </td>
> - <#else>
> - <#assign product = orderItem.getRelatedOneCache("Product")?if_exists/> <#-- should always exist because of FK constraint, but just in case -->
> - <td valign="top">
> - <div class="tabletext">
> - <a href="<@o...@ofbizUrl>" class="linktext">${orderItem.productId} - ${orderItem.itemDescription?default("")}</a>
> - </div>
> - <div class="tabletext" style="font-size: xx-small;">
> - <#if product?has_content>
> - <#if product.piecesIncluded?exists && product.piecesIncluded?long != 0>
> - [${uiLabelMap.OrderPieces}: ${product.piecesIncluded}]
> - </#if>
> - <#if (product.quantityIncluded?exists && product.quantityIncluded != 0) || product.quantityUomId?has_content>
> - <#assign quantityUom = product.getRelatedOneCache("QuantityUom")?if_exists/>
> - [${uiLabelMap.CommonQuantity}: ${product.quantityIncluded?if_exists} ${((quantityUom.abbreviation)?default(product.quantityUomId))?if_exists}]
> - </#if>
> - <#if (product.weight?exists && product.weight != 0) || product.weightUomId?has_content>
> - <#assign weightUom = product.getRelatedOneCache("WeightUom")?if_exists/>
> - [${uiLabelMap.CommonWeight}: ${product.weight?if_exists} ${((weightUom.abbreviation)?default(product.weightUomId))?if_exists}]
> - </#if>
> - <#if (product.productHeight?exists && product.productHeight != 0) || product.heightUomId?has_content>
> - <#assign heightUom = product.getRelatedOneCache("HeightUom")?if_exists/>
> - [${uiLabelMap.CommonHeight}: ${product.productHeight?if_exists} ${((heightUom.abbreviation)?default(product.heightUomId))?if_exists}]
> - </#if>
> - <#if (product.productWidth?exists && product.productWidth != 0) || product.widthUomId?has_content>
> - <#assign widthUom = product.getRelatedOneCache("WidthUom")?if_exists/>
> - [${uiLabelMap.CommonWidth}: ${product.productWidth?if_exists} ${((widthUom.abbreviation)?default(product.widthUomId))?if_exists}]
> - </#if>
> - <#if (product.productDepth?exists && product.productDepth != 0) || product.depthUomId?has_content>
> - <#assign depthUom = product.getRelatedOneCache("DepthUom")?if_exists/>
> - [${uiLabelMap.CommonDepth}: ${product.productDepth?if_exists} ${((depthUom.abbreviation)?default(product.depthUomId))?if_exists}]
> - </#if>
> - </#if>
> - </div>
> - <#if maySelectItems?default("N") == "Y">
> - <#assign returns = orderItem.getRelated("ReturnItem")?if_exists>
> - <#if returns?has_content>
> - <#list returns as return>
> - <#assign returnHeader = return.getRelatedOne("ReturnHeader")>
> - <#if returnHeader.statusId != "RETURN_CANCELLED">
> - <#if returnHeader.statusId == "RETURN_REQUESTED" || returnHeader.statusId == "RETURN_APPROVED">
> - <#assign displayState = "Return Pending">
> - <#else>
> - <#assign displayState = "Returned">
> - </#if>
> - <div class="tabletext"><font color="red"><b>${displayState}</b></font> (#${return.returnId})</div>
> - </#if>
> - </#list>
> + <#assign returns = orderItem.getRelated("ReturnItem")?if_exists>
> + <#if returns?has_content>
> + <#list returns as return>
> + <#assign returnHeader = return.getRelatedOne("ReturnHeader")>
> + <#if returnHeader.statusId != "RETURN_CANCELLED">
> + <#if returnHeader.statusId == "RETURN_REQUESTED" || returnHeader.statusId == "RETURN_APPROVED">
> + <#assign displayState = "Return Pending">
> + <#else>
> + <#assign displayState = "Returned">
> </#if>
> + ${displayState} (#${return.returnId})
> </#if>
> - </td>
> - <#if !(maySelectItems?default("N") == "Y")>
> - <td> </td>
> - <td> </td>
> - <td> </td>
> - </#if>
> - <td align="right" valign="top">
> - <div class="tabletext">${orderItem.quantity?string.number}</div>
> - </td>
> - <#if maySelectItems?default("N") == "Y">
> - <td align="right" valign="top">
> - <#assign pickedQty = localOrderReadHelper.getItemPickedQuantityBd(orderItem)>
> - <div class="tabletext"><#if pickedQty gt 0 && orderHeader.statusId == "ORDER_APPROVED"><font color="red">${pickedQty?default(0)?string.number}</font><#else>${pickedQty?default(0)?string.number}</#if>
> - </div>
> - </td>
> - <td align="right" valign="top">
> - <#assign shippedQty = localOrderReadHelper.getItemShippedQuantity(orderItem)>
> - <div class="tabletext">${shippedQty?default(0)?string.number}</div>
> - </td>
> - <td align="right" valign="top">
> - <#assign canceledQty = localOrderReadHelper.getItemCanceledQuantity(orderItem)>
> - <div class="tabletext">${canceledQty?default(0)?string.number}</div>
> - </td>
> - </#if>
> - <td align="right" valign="top">
> - <div class="tabletext"><@ofbizCurrency amount=orderItem.unitPrice isoCode=currencyUomId/></div>
> - </td>
> - <td align="right" valign="top">
> - <div class="tabletext"><@ofbizCurrency amount=localOrderReadHelper.getOrderItemAdjustmentsTotal(orderItem) isoCode=currencyUomId/></div>
> - </td>
> - <td align="right" valign="top">
> - <#if workEfforts?exists>
> - <div class="tabletext"><@ofbizCurrency amount=localOrderReadHelper.getOrderItemTotal(orderItem)*rentalQuantity isoCode=currencyUomId/></div>
> - <#else>
> - <div class="tabletext"><@ofbizCurrency amount=localOrderReadHelper.getOrderItemTotal(orderItem) isoCode=currencyUomId/></div>
> - </#if>
> - </td>
> - <#if maySelectItems?default("N") == "Y" && roleTypeId?if_exists == "PLACING_CUSTOMER">
> - <td> </td>
> - <td>
> - <input name="item_id" value="${orderItem.orderItemSeqId}" type="checkbox"/>
> - </td>
> - <td> </td>
> - </#if>
> + </#list>
> </#if>
> - </tr>
> - <#-- now cancel reason and comment field -->
> - <#if maySelectItems?default("N") == "Y" && (orderHeader.statusId != "ORDER_SENT" && orderItem.statusId != "ITEM_COMPLETED" && orderItem.statusId != "ITEM_CANCELLED" && pickedQty == 0)>
> - <tr align="right"><td colspan="7"><div class="tabletext"><b>${uiLabelMap.OrderReturnReason}</b>
> - <select name="irm_${orderItem.orderItemSeqId}" class="selectBox">
> - <option value=""> </option>
> - <#list orderItemChangeReasons as reason>
> - <option value="${reason.enumId}">${reason.get("description",locale)?default(reason.enumId)}</option>
> - </#list>
> - </select>
> - <b>${uiLabelMap.CommonComments}</b>
> - <input class="inputBox" type="text" name="icm_${orderItem.orderItemSeqId}" value="" size="30" maxlength="60"/></div></td>
> - <td colspan="4" align="right"><a href="javascript:document.addCommonToCartForm.action='<@o...@ofbizUrl>';document.addCommonToCartForm.submit()" class="buttontext">${uiLabelMap.CommonCancel}</a>
> - <input type="hidden" name="orderItemSeqId" value="${orderItem.orderItemSeqId}"/>
> - </td>
> - </tr>
> </#if>
> - <#-- show info from workeffort if it was a rental item -->
> - <#if orderItem.orderItemTypeId == "RENTAL_ORDER_ITEM">
> - <#if workEffortSave?exists>
> - <tr><td> </td><td colspan="${numColumns}"><div class="tabletext">${uiLabelMap.CommonFrom}: ${workEffortSave.estimatedStartDate?string("yyyy-MM-dd")} ${uiLabelMap.CommonUntil} ${workEffortSave.estimatedCompletionDate?string("yyyy-MM-dd")} ${uiLabelMap.CommonFor} ${workEffortSave.reservPersons} ${uiLabelMap.CommonPerson}(s).</div></td></tr>
> - </#if>
> + </td>
> + <#if !(maySelectItems?default("N") == "Y")>
> + <td></td>
> + <td></td>
> + <td></td>
> + </#if>
> + <td>
> + ${orderItem.quantity?string.number}
> + </td>
> + <#if maySelectItems?default("N") == "Y">
> + <td>
> + <#assign pickedQty = localOrderReadHelper.getItemPickedQuantityBd(orderItem)>
> + <#if pickedQty gt 0 && orderHeader.statusId == "ORDER_APPROVED">${pickedQty?default(0)?string.number}<#else>${pickedQty?default(0)?string.number}</#if>
> + </td>
> + <td>
> + <#assign shippedQty = localOrderReadHelper.getItemShippedQuantity(orderItem)>
> + ${shippedQty?default(0)?string.number}
> + </td>
> + <td>
> + <#assign canceledQty = localOrderReadHelper.getItemCanceledQuantity(orderItem)>
> + ${canceledQty?default(0)?string.number}
> + </td>
> + </#if>
> + <td>
> + <@ofbizCurrency amount=orderItem.unitPrice isoCode=currencyUomId/>
> + </td>
> + <td>
> + <@ofbizCurrency amount=localOrderReadHelper.getOrderItemAdjustmentsTotal(orderItem) isoCode=currencyUomId/>
> + </td>
> + <td>
> + <#if workEfforts?exists>
> + <@ofbizCurrency amount=localOrderReadHelper.getOrderItemTotal(orderItem)*rentalQuantity isoCode=currencyUomId/>
> + <#else>
> + <@ofbizCurrency amount=localOrderReadHelper.getOrderItemTotal(orderItem) isoCode=currencyUomId/>
> </#if>
> - <#-- now show adjustment details per line item -->
> - <#assign itemAdjustments = localOrderReadHelper.getOrderItemAdjustments(orderItem)>
> - <#list itemAdjustments as orderItemAdjustment>
> - <tr>
> - <td align="right">
> - <div class="tabletext" style="font-size: xx-small;">
> - <b><i>${uiLabelMap.EcommerceAdjustment}</i>:</b> <b>${localOrderReadHelper.getAdjustmentType(orderItemAdjustment)}</b>
> - <#if orderItemAdjustment.description?has_content>: ${orderItemAdjustment.description}</#if>
> -
> - <#if orderItemAdjustment.orderAdjustmentTypeId == "SALES_TAX">
> - <#if orderItemAdjustment.primaryGeoId?has_content>
> - <#assign primaryGeo = orderItemAdjustment.getRelatedOneCache("PrimaryGeo")/>
> - <#if primaryGeo.geoName?has_content>
> - <b>${uiLabelMap.OrderJurisdiction}:</b> ${primaryGeo.geoName} [${primaryGeo.abbreviation?if_exists}]
> - </#if>
> - <#if orderItemAdjustment.secondaryGeoId?has_content>
> - <#assign secondaryGeo = orderItemAdjustment.getRelatedOneCache("SecondaryGeo")/>
> - (<b>${uiLabelMap.CommonIn}:</b> ${secondaryGeo.geoName} [${secondaryGeo.abbreviation?if_exists}])
> - </#if>
> - </#if>
> - <#if orderItemAdjustment.sourcePercentage?exists><b>${uiLabelMap.EcommerceRate}:</b> ${orderItemAdjustment.sourcePercentage}</#if>
> - <#if orderItemAdjustment.customerReferenceId?has_content><b>${uiLabelMap.OrderCustomerTaxId}:</b> ${orderItemAdjustment.customerReferenceId}</#if>
> - <#if orderItemAdjustment.exemptAmount?exists><b>${uiLabelMap.EcommerceExemptAmount}:</b> ${orderItemAdjustment.exemptAmount}</#if>
> - </#if>
> - </div>
> - </td>
> - <td colspan="5"> </td>
> - <td align="right">
> - <div class="tabletext" style="font-size: xx-small;"><@ofbizCurrency amount=localOrderReadHelper.getOrderItemAdjustmentTotal(orderItem, orderItemAdjustment) isoCode=currencyUomId/></div>
> - </td>
> - <td> </td>
> - <#if maySelectItems?default("N") == "Y"><td colspan="3"> </td></#if>
> - </tr>
> - </#list>
> -
> - <#-- show the order item ship group info -->
> - <#assign orderItemShipGroupAssocs = orderItem.getRelated("OrderItemShipGroupAssoc")?if_exists>
> - <#if orderItemShipGroupAssocs?has_content>
> - <#list orderItemShipGroupAssocs as shipGroupAssoc>
> - <#assign shipGroup = shipGroupAssoc.getRelatedOne("OrderItemShipGroup")?if_exists>
> - <#assign shipGroupAddress = (shipGroup.getRelatedOne("PostalAddress"))?if_exists>
> - <tr>
> - <td align="right">
> - <div class="tabletext" style="font-size: xx-small;"><b><i>${uiLabelMap.OrderShipGroup}</i>:</b> [${shipGroup.shipGroupSeqId}] ${shipGroupAddress.address1?default("N/A")}</div>
> - </td>
> - <td align="right">
> - <div class="tabletext" style="font-size: xx-small;">${shipGroupAssoc.quantity?string.number}</div>
> - </td>
> - <td colspan="${numColumns - 2}"> </td>
> - </tr>
> + </td>
> + <#if maySelectItems?default("N") == "Y" && roleTypeId?if_exists == "PLACING_CUSTOMER">
> + <td></td>
> + <td>
> + <input name="item_id" value="${orderItem.orderItemSeqId}" type="checkbox"/>
> + </td>
> + <td></td>
> + </#if>
> + </#if>
> + </tr>
> + <#-- now cancel reason and comment field -->
> + <#if maySelectItems?default("N") == "Y" && (orderHeader.statusId != "ORDER_SENT" && orderItem.statusId != "ITEM_COMPLETED" && orderItem.statusId != "ITEM_CANCELLED" && pickedQty == 0)>
> + <tr>
> + <td colspan="7">${uiLabelMap.OrderReturnReason}
> + <select name="irm_${orderItem.orderItemSeqId}" class="selectBox">
> + <option value=""></option>
> + <#list orderItemChangeReasons as reason>
> + <option value="${reason.enumId}">${reason.get("description",locale)?default(reason.enumId)}</option>
> </#list>
> + </select>
> + ${uiLabelMap.CommonComments}
> + <input class="inputBox" type="text" name="icm_${orderItem.orderItemSeqId}" value="" size="30" maxlength="60"/>
> + </td>
> + <td colspan="4"><a href="javascript:document.addCommonToCartForm.action='<@o...@ofbizUrl>';document.addCommonToCartForm.submit()" class="buttontext">${uiLabelMap.CommonCancel}</a>
> + <input type="hidden" name="orderItemSeqId" value="${orderItem.orderItemSeqId}"/>
> + </td>
> + </tr>
> + </#if>
> + <#-- show info from workeffort if it was a rental item -->
> + <#if orderItem.orderItemTypeId == "RENTAL_ORDER_ITEM">
> + <#if workEffortSave?exists>
> + <tr><td></td><td colspan="${numColumns}">${uiLabelMap.CommonFrom}: ${workEffortSave.estimatedStartDate?string("yyyy-MM-dd")} ${uiLabelMap.CommonUntil} ${workEffortSave.estimatedCompletionDate?string("yyyy-MM-dd")} ${uiLabelMap.CommonFor} ${workEffortSave.reservPersons} ${uiLabelMap.CommonPerson}(s)</td></tr>
> + </#if>
> + </#if>
> + <#-- now show adjustment details per line item -->
> + <#assign itemAdjustments = localOrderReadHelper.getOrderItemAdjustments(orderItem)>
> + <#list itemAdjustments as orderItemAdjustment>
> + <tr>
> + <td>
> + ${uiLabelMap.EcommerceAdjustment}: ${localOrderReadHelper.getAdjustmentType(orderItemAdjustment)}
> + <#if orderItemAdjustment.description?has_content>: ${orderItemAdjustment.description}</#if>
> + <#if orderItemAdjustment.orderAdjustmentTypeId == "SALES_TAX">
> + <#if orderItemAdjustment.primaryGeoId?has_content>
> + <#assign primaryGeo = orderItemAdjustment.getRelatedOneCache("PrimaryGeo")/>
> + <#if primaryGeo.geoName?has_content>
> + ${uiLabelMap.OrderJurisdiction}: ${primaryGeo.geoName} [${primaryGeo.abbreviation?if_exists}]
> + </#if>
> + <#if orderItemAdjustment.secondaryGeoId?has_content>
> + <#assign secondaryGeo = orderItemAdjustment.getRelatedOneCache("SecondaryGeo")/>
> + (${uiLabelMap.CommonIn}: ${secondaryGeo.geoName} [${secondaryGeo.abbreviation?if_exists}])
> + </#if>
> + </#if>
> + <#if orderItemAdjustment.sourcePercentage?exists>${uiLabelMap.EcommerceRate}: ${orderItemAdjustment.sourcePercentage}</#if>
> + <#if orderItemAdjustment.customerReferenceId?has_content>${uiLabelMap.OrderCustomerTaxId}: ${orderItemAdjustment.customerReferenceId}</#if>
> + <#if orderItemAdjustment.exemptAmount?exists>${uiLabelMap.EcommerceExemptAmount}: ${orderItemAdjustment.exemptAmount}</#if>
> </#if>
> -
> - </#list>
> - <#if orderItems?size == 0 || !orderItems?has_content>
> - <tr><td colspan="${numColumns}"><font color="red">${uiLabelMap.OrderSalesOrderLookupFailed}</font></td></tr>
> - </#if>
> -
> - <tr><td colspan="${numColumns}"><hr/></td></tr>
> - <tr>
> - <td align="right" colspan="7"><div class="tabletext"><b>${uiLabelMap.CommonSubtotal}</b></div></td>
> - <td align="right"><div class="tabletext"><@ofbizCurrency amount=orderSubTotal isoCode=currencyUomId/></div></td>
> - <#if maySelectItems?default("N") == "Y"><td colspan="3"> </td></#if>
> - </tr>
> - <#list headerAdjustmentsToShow as orderHeaderAdjustment>
> - <tr>
> - <td align="right" colspan="7"><div class="tabletext"><b>${localOrderReadHelper.getAdjustmentType(orderHeaderAdjustment)}</b></div></td>
> - <td align="right"><div class="tabletext"><@ofbizCurrency amount=localOrderReadHelper.getOrderAdjustmentTotal(orderHeaderAdjustment) isoCode=currencyUomId/></div></td>
> - <#if maySelectItems?default("N") == "Y"><td colspan="3"> </td></#if>
> - </tr>
> - </#list>
> - <tr>
> - <td align="right" colspan="7"><div class="tabletext"><b>${uiLabelMap.OrderShippingAndHandling}</b></div></td>
> - <td align="right"><div class="tabletext"><@ofbizCurrency amount=orderShippingTotal isoCode=currencyUomId/></div></td>
> - <#if maySelectItems?default("N") == "Y"><td colspan="3"> </td></#if>
> - </tr>
> - <tr>
> - <td align="right" colspan="7"><div class="tabletext"><b>${uiLabelMap.OrderSalesTax}</b></div></td>
> - <td align="right"><div class="tabletext"><@ofbizCurrency amount=orderTaxTotal isoCode=currencyUomId/></div></td>
> - <#if maySelectItems?default("N") == "Y"><td colspan="3"> </td></#if>
> - </tr>
> -
> - <tr>
> - <td colspan="3"></td>
> - <#if maySelectItems?default("N") == "Y">
> - <td colspan="${numColumns - 6}"><hr/></td>
> - <td colspan="3"> </td>
> - <#else>
> - <td colspan="${numColumns - 3}"><hr/></td>
> - </#if>
> - </tr>
> + </td>
> + <td colspan="5"></td>
> + <td>
> + <@ofbizCurrency amount=localOrderReadHelper.getOrderItemAdjustmentTotal(orderItem, orderItemAdjustment) isoCode=currencyUomId/>
> + </td>
> + <td></td>
> + <#if maySelectItems?default("N") == "Y"><td colspan="3"></td></#if>
> + </tr>
> + </#list>
> + <#-- show the order item ship group info -->
> + <#assign orderItemShipGroupAssocs = orderItem.getRelated("OrderItemShipGroupAssoc")?if_exists>
> + <#if orderItemShipGroupAssocs?has_content>
> + <#list orderItemShipGroupAssocs as shipGroupAssoc>
> + <#assign shipGroup = shipGroupAssoc.getRelatedOne("OrderItemShipGroup")?if_exists>
> + <#assign shipGroupAddress = (shipGroup.getRelatedOne("PostalAddress"))?if_exists>
> <tr>
> - <td align="right" colspan="7"><div class="tabletext"><b>${uiLabelMap.OrderGrandTotal}</b></div></td>
> - <td align="right">
> - <div class="tabletext"><@ofbizCurrency amount=orderGrandTotal isoCode=currencyUomId/></div>
> + <td>
> + ${uiLabelMap.OrderShipGroup}: [${shipGroup.shipGroupSeqId}] ${shipGroupAddress.address1?default("N/A")}
> + </td>
> + <td>
> + ${shipGroupAssoc.quantity?string.number}
> </td>
> - <#if maySelectItems?default("N") == "Y"><td colspan="3"> </td></#if>
> + <td colspan="${numColumns - 2}"></td>
> </tr>
> - </table>
> - </div>
> + </#list>
> + </#if>
> + </#list>
> + <#if orderItems?size == 0 || !orderItems?has_content>
> + <tr><td colspan="${numColumns}">${uiLabelMap.OrderSalesOrderLookupFailed}</td></tr>
> + </#if>
> + <tr><td colspan="${numColumns}"></td></tr>
> + <tr>
> + <td colspan="7">${uiLabelMap.CommonSubtotal}</td>
> + <td><@ofbizCurrency amount=orderSubTotal isoCode=currencyUomId/></td>
> + <#if maySelectItems?default("N") == "Y"><td colspan="3"></td></#if>
> + </tr>
> + <#list headerAdjustmentsToShow as orderHeaderAdjustment>
> + <tr>
> + <td colspan="7">${localOrderReadHelper.getAdjustmentType(orderHeaderAdjustment)}</td>
> + <td><@ofbizCurrency amount=localOrderReadHelper.getOrderAdjustmentTotal(orderHeaderAdjustment) isoCode=currencyUomId/></td>
> + <#if maySelectItems?default("N") == "Y"><td colspan="3"></td></#if>
> + </tr>
> + </#list>
> + <tr>
> + <td colspan="7">${uiLabelMap.OrderShippingAndHandling}</td>
> + <td><@ofbizCurrency amount=orderShippingTotal isoCode=currencyUomId/></td>
> + <#if maySelectItems?default("N") == "Y"><td colspan="3"></td></#if>
> + </tr>
> + <tr>
> + <td colspan="7">${uiLabelMap.OrderSalesTax}</td>
> + <td><@ofbizCurrency amount=orderTaxTotal isoCode=currencyUomId/></td>
> + <#if maySelectItems?default("N") == "Y"><td colspan="3"></td></#if>
> + </tr>
> + <tr>
> + <td colspan="3"></td>
> + <#if maySelectItems?default("N") == "Y">
> + <td colspan="${numColumns - 6}"></td>
> + <td colspan="3"></td>
> + <#else>
> + <td colspan="${numColumns - 3}"></td>
> + </#if>
> + </tr>
> + <tr>
> + <td colspan="7">${uiLabelMap.OrderGrandTotal}</td>
> + <td>
> + <@ofbizCurrency amount=orderGrandTotal isoCode=currencyUomId/>
> + </td>
> + <#if maySelectItems?default("N") == "Y"><td colspan="3"></td></#if>
> + </tr>
> + </table>
> </div>
>
>
>