svn commit: r808944 - in /ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/order: ordercomplete.ftl orderheader.ftl orderitems.ftl

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r808944 - in /ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/order: ordercomplete.ftl orderheader.ftl orderitems.ftl

apatel-2
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="<@ofbizUrl>main</@ofbizUrl>" class="buttontextbig">${uiLabelMap.EcommerceContinueShopping}</a>
-      </td>
-      <td align="right">
-        <a href="<@ofbizUrl>main</@ofbizUrl>" class="buttontextbig">${uiLabelMap.EcommerceContinueShopping}</a>
-      </td>
-    </tr>
-  </table>
+  <a href="<@ofbizUrl>main</@ofbizUrl>" class="buttontextbig">${uiLabelMap.EcommerceContinueShopping}</a>
+  <a href="<@ofbizUrl>main</@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="<@ofbizUrl>makeReturn?orderId=${orderHeader.orderId}</@ofbizUrl>" class="submenutextright">${uiLabelMap.OrderRequestReturn}</a>
-                </#if>
-            </div>
-            <div class="boxhead">
-                &nbsp;${uiLabelMap.OrderOrder}&nbsp;
-                <#if orderHeader?has_content>
-                    ${uiLabelMap.CommonNbr}<a href="<@ofbizUrl>orderstatus?orderId=${orderHeader.orderId}</@ofbizUrl>" class="lightbuttontext">${orderHeader.orderId}</a>&nbsp;
-                </#if>
-                ${uiLabelMap.CommonInformation}
-                <#if (orderHeader.orderId)?exists>
-                    ${externalOrder?if_exists} [ <a href="<@ofbizUrl>order.pdf?orderId=${(orderHeader.orderId)?if_exists}</@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">&nbsp;<b>${uiLabelMap.PartyName}</b></div>
-                    </td>
-                    <td width="5">&nbsp;</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">&nbsp;<b>${uiLabelMap.CommonStatus}</b></div>
-                  </td>
-                  <td width="5">&nbsp;</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">&nbsp;<b>${uiLabelMap.CommonDate}</b></div>
-                    </td>
-                    <td width="5">&nbsp;</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">&nbsp;<b>${uiLabelMap.OrderDistributor}</b></div>
-                    </td>
-                    <td width="5">&nbsp;</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">&nbsp;${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">&nbsp;<b>${uiLabelMap.AccountingCreditCard}</b></div>
-                        </td>
-                        <td width="5">&nbsp;</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}&nbsp</#if>
-                            ${creditCard.firstNameOnCard}&nbsp;
-                            <#if creditCard.middleNameOnCard?has_content>${creditCard.middleNameOnCard}&nbsp</#if>
-                            ${creditCard.lastNameOnCard}
-                            <#if creditCard.suffixOnCard?has_content>&nbsp;${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">&nbsp;<b>${uiLabelMap.AccountingGiftCard}</b></div>
-                        </td>
-                        <td width="5">&nbsp;</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">&nbsp;<b>${uiLabelMap.AccountingEFTAccount}</b></div>
-                        </td>
-                        <td width="5">&nbsp;</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>&nbsp;</td><td colspan="2"><hr/></td></tr>
-                      <tr>
-                        <td align="right" valign="top" width="15%">
-                          <div class="tabletext">&nbsp;</div>
-                        </td>
-                        <td width="5">&nbsp;</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">&nbsp;<b>${uiLabelMap.AccountingBillingAccount}</b></div>
-                    </td>
-                    <td width="5">&nbsp;</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">&nbsp;<b>${uiLabelMap.OrderPurchaseOrderNumber}</b></div>
-                    </td>
-                    <td width="5">&nbsp;</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="<@ofbizUrl>makeReturn?orderId=${orderHeader.orderId}</@ofbizUrl>" class="submenutextright">${uiLabelMap.OrderRequestReturn}</a>
+    </#if>
+    ${uiLabelMap.OrderOrder}
+    <#if orderHeader?has_content>
+      ${uiLabelMap.CommonNbr}<a href="<@ofbizUrl>orderstatus?orderId=${orderHeader.orderId}</@ofbizUrl>" class="lightbuttontext">${orderHeader.orderId}</a>
+    </#if>
+    ${uiLabelMap.CommonInformation}
+    <#if (orderHeader.orderId)?exists>
+      ${externalOrder?if_exists} [ <a href="<@ofbizUrl>order.pdf?orderId=${(orderHeader.orderId)?if_exists}</@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">&nbsp;&nbsp;</td>
-    <#-- right side -->
-
-    <td width="50%" valign="top">
-      <#if orderItemShipGroups?has_content>
-
-    <div class="screenlet">
-        <div class="screenlet-header">
-            <div class="boxhead">&nbsp;${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">&nbsp;<b>${uiLabelMap.OrderDestination}</b> [${groupNumber}]</div>
-                    </td>
-                    <td width="5">&nbsp;</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">&nbsp;<b>${uiLabelMap.OrderMethod}</b></div>
-                  </td>
-                  <td width="5">&nbsp;</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">&nbsp;<b>${uiLabelMap.OrderTrackingNumber}</b></div>
-                    </td>
-                    <td width="5">&nbsp;</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">&nbsp;<b>${uiLabelMap.OrderSplittingPreference}</b></div>
-                  </td>
-                  <td width="5">&nbsp;</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">&nbsp;<b>${uiLabelMap.OrderInstructions}</b></div>
-                    </td>
-                    <td width="5">&nbsp;</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">&nbsp;<b>${uiLabelMap.OrderGift}?</b></div>
-                  </td>
-                  <td width="5">&nbsp;</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">&nbsp;<b>${uiLabelMap.OrderGiftMessage}</b></div>
-                    </td>
-                    <td width="5">&nbsp;</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="<@ofbizUrl>createShoppingListFromOrder?orderId=${orderHeader.orderId}&frequency=6&intervalNumber=1&shoppingListTypeId=SLT_AUTO_REODR</@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="<@ofbizUrl>createShoppingListFromOrder?orderId=${orderHeader.orderId}&frequency=6&intervalNumber=1&shoppingListTypeId=SLT_AUTO_REODR</@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="<@ofbizUrl>product?product_id=${orderItem.productId}</@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">&nbsp; ${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">&nbsp;</td>
-              <td width="10%" align="right">&nbsp;</td>
-              <td width="10%" align="right">&nbsp;</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">&nbsp;</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"> &gt;&gt; ${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="<@ofbizUrl>product?product_id=${orderItem.productId}</@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>&nbsp;</td>
-                  <td>&nbsp;</td>
-                  <td>&nbsp;</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>&nbsp;</td>
-                  <td>
-                    <input name="item_id" value="${orderItem.orderItemSeqId}" type="checkbox"/>
-                  </td>
-                  <td>&nbsp;</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="">&nbsp;</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='<@ofbizUrl>cancelOrderItem</@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>&nbsp;</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>&nbsp;
-                    <#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">&nbsp;</td>
-                <td align="right">
-                  <div class="tabletext" style="font-size: xx-small;"><@ofbizCurrency amount=localOrderReadHelper.getOrderItemAdjustmentTotal(orderItem, orderItemAdjustment) isoCode=currencyUomId/></div>
-                </td>
-                <td>&nbsp;</td>
-                <#if maySelectItems?default("N") == "Y"><td colspan="3">&nbsp;</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}">&nbsp;</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='<@ofbizUrl>cancelOrderItem</@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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</td></#if>
-          </tr>
-
-          <tr>
-            <td colspan="3"></td>
-            <#if maySelectItems?default("N") == "Y">
-                <td colspan="${numColumns - 6}"><hr/></td>
-                <td colspan="3">&nbsp;</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">&nbsp;</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>