|
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 [hidden email] 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="<@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"> > - ${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" 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="<@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"> </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="<@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"> ${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="<@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> </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='<@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}"><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='<@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"> </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> > > > |
| Free forum by Nabble | Edit this page |
