blob: ca6565e874c295897156f826d926d18406ebda62 [file] [log] [blame]
<#--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<#-- 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??><#assign urlPrefix = baseEcommerceSecureUrl/></#if>
<#if (orderHeader.externalId)?? && (orderHeader.externalId)?has_content >
<#assign externalOrder = "(" + orderHeader.externalId + ")"/>
</#if>
<div id="orderHeader">
<#-- left side -->
<div class="columnLeft">
<div class="screenlet">
<h3>
<#if maySelectItems?default("N") == "Y" && returnLink?default("N") == "Y" && (orderHeader.statusId)! == "ORDER_COMPLETED" && roleTypeId! == "PLACING_CUSTOMER">
<a href="<@ofbizUrl fullPath="true">makeReturn?orderId=${orderHeader.orderId}</@ofbizUrl>" class="submenutextright">${uiLabelMap.OrderRequestReturn}</a>
</#if>
${uiLabelMap.OrderOrder}
<#if orderHeader?has_content>
${uiLabelMap.CommonNbr}<a href="<@ofbizUrl fullPath="true">orderstatus?orderId=${orderHeader.orderId}</@ofbizUrl>" class="lightbuttontext">${orderHeader.orderId}</a>
</#if>
${uiLabelMap.CommonInformation}
<#if (orderHeader.orderId)??>
${externalOrder!} [ <a href="<@ofbizUrl fullPath="true">order.pdf?orderId=${(orderHeader.orderId)!}</@ofbizUrl>" target="_BLANK" class="lightbuttontext">PDF</a> ]
</#if>
</h3>
<#-- placing customer information -->
<ul>
<#if localOrderReadHelper?? && orderHeader?has_content>
<#assign displayParty = localOrderReadHelper.getPlacingParty()!/>
<#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>
<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??>
<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>
<#assign paymentStateGeo = (delegator.findOne("Geo", {"geoId", paymentAddress.stateProvinceGeoId!}, false))! />
${paymentAddress.city}<#if paymentStateGeo?has_content>, ${paymentStateGeo.geoName!}</#if> ${paymentAddress.postalCode!}
<#assign paymentCountryGeo = (delegator.findOne("Geo", {"geoId", paymentAddress.countryGeoId!}, false))! />
<#if paymentCountryGeo?has_content>${paymentCountryGeo.geoName!}</#if>
${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", false)>
<#assign formattedCardNumber = Static["org.ofbiz.party.contact.ContactHelper"].formatCreditCard(creditCard)>
<#elseif "GIFT_CARD" == paymentMethod.paymentMethodTypeId>
<#assign giftCard = paymentMethod.getRelatedOne("GiftCard", false)>
<#elseif "EFT_ACCOUNT" == paymentMethod.paymentMethodTypeId>
<#assign eftAccount = paymentMethod.getRelatedOne("EftAccount", false)>
</#if>
<#-- credit card info -->
<#if "CREDIT_CARD" == paymentMethod.paymentMethodTypeId && creditCard?has_content>
<#if outputted?default(false)>
</#if>
<#assign pmBillingAddress = creditCard.getRelatedOne("PostalAddress", false)!>
<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", false)!>
<#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>
<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", false)!>
<li>
<ul>
<li>
${uiLabelMap.AccountingEFTAccount}
${eftAccount.nameOnAccount!}
</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>
<#assign pmBillingStateGeo = (delegator.findOne("Geo", {"geoId", pmBillingAddress.stateProvinceGeoId!}, false))! />
${pmBillingAddress.city}<#if pmBillingStateGeo?has_content>, ${ pmBillingStateGeo.geoName!}</#if> ${pmBillingAddress.postalCode!}
<#assign pmBillingCountryGeo = (delegator.findOne("Geo", {"geoId", pmBillingAddress.countryGeoId!}, false))! />
<#if pmBillingCountryGeo?has_content>${pmBillingCountryGeo.geoName!}</#if>
</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!} - ${billingAccount.description!}
</li>
</#if>
<#if (customerPoNumberSet?has_content)>
<li>
${uiLabelMap.OrderPurchaseOrderNumber}
<#list customerPoNumberSet as customerPoNumber>
${customerPoNumber!}
</#list>
</li>
</#if>
</ul>
</#if>
</div>
</div>
<#-- right side -->
<div class="screenlet columnRight">
<#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", false)!>
<#assign groupNumber = shipGroup.shipGroupSeqId!>
<#else>
<#assign shippingAddress = cart.getShippingAddress(groupIdx)!>
<#assign groupNumber = groupIdx + 1>
</#if>
<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>
<#assign shippingStateGeo = (delegator.findOne("Geo", {"geoId", shippingAddress.stateProvinceGeoId!}, false))! />
${shippingAddress.city}<#if shippingStateGeo?has_content>, ${shippingStateGeo.geoName!}</#if> ${shippingAddress.postalCode!}
</li>
<li>
<#assign shippingCountryGeo = (delegator.findOne("Geo", {"geoId", shippingAddress.countryGeoId!}, false))! />
<#if shippingCountryGeo?has_content>${shippingCountryGeo.geoName!}</#if>
</li>
</ul>
</li>
</#if>
<li>
<ul>
<li>
${uiLabelMap.OrderMethod}:
<#if orderHeader?has_content>
<#assign shipmentMethodType = shipGroup.getRelatedOne("ShipmentMethodType", false)!>
<#assign carrierPartyId = shipGroup.carrierPartyId!>
<#else>
<#assign shipmentMethodType = cart.getShipmentMethodType(groupIdx)!>
<#assign carrierPartyId = cart.getCarrierPartyId(groupIdx)!>
</#if>
<#if carrierPartyId?? && carrierPartyId != "_NA_">${carrierPartyId!}</#if>
${(shipmentMethodType.description)?default("N/A")}
</li>
<li>
<#if shippingAccount??>${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!>
<#else>
<#assign shippingInstructions = cart.getShippingInstructions(groupIdx)!>
</#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!>
<#else>
<#assign isGift = cart.getIsGift(groupIdx)?default("N")>
<#assign giftMessage = cart.getGiftMessage(groupIdx)!>
</#if>
<#if productStore.showCheckoutGiftOptions! != "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>
<div class="clearBoth"></div>
</div>