|
Author: jacopoc
Date: Sat Dec 12 08:36:06 2009 New Revision: 889897 URL: http://svn.apache.org/viewvc?rev=889897&view=rev Log: Refactored layout implementation of the top part of the sales order PDF report: migration from table based layout to block based layout. Small enhancement to the layout. Added more information about ship groups (ship before/after and ship group id, if there are more than one groups). Modified: ofbiz/trunk/applications/order/webapp/ordermgr/order/orderReportBody.fo.ftl ofbiz/trunk/applications/order/webapp/ordermgr/order/orderReportContactMechs.fo.ftl Modified: ofbiz/trunk/applications/order/webapp/ordermgr/order/orderReportBody.fo.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/order/orderReportBody.fo.ftl?rev=889897&r1=889896&r2=889897&view=diff ============================================================================== --- ofbiz/trunk/applications/order/webapp/ordermgr/order/orderReportBody.fo.ftl (original) +++ ofbiz/trunk/applications/order/webapp/ordermgr/order/orderReportBody.fo.ftl Sat Dec 12 08:36:06 2009 @@ -20,7 +20,7 @@ <#if orderHeader?has_content> <fo:table border-spacing="3pt"> - <fo:table-column column-width="3.5in"/> + <fo:table-column column-width="4in"/> <fo:table-column column-width="1in"/> <fo:table-column column-width="1in"/> <fo:table-column column-width="1in"/> @@ -28,9 +28,9 @@ <fo:table-header> <fo:table-row> <fo:table-cell><fo:block font-weight="bold">${uiLabelMap.OrderProduct}</fo:block></fo:table-cell> - <fo:table-cell text-align="center"><fo:block font-weight="bold">${uiLabelMap.OrderQuantity}</fo:block></fo:table-cell> - <fo:table-cell text-align="center"><fo:block font-weight="bold">${uiLabelMap.OrderUnitList}</fo:block></fo:table-cell> - <fo:table-cell text-align="center"><fo:block font-weight="bold">${uiLabelMap.OrderSubTotal}</fo:block></fo:table-cell> + <fo:table-cell text-align="right"><fo:block font-weight="bold">${uiLabelMap.OrderQuantity}</fo:block></fo:table-cell> + <fo:table-cell text-align="right"><fo:block font-weight="bold">${uiLabelMap.OrderUnitList}</fo:block></fo:table-cell> + <fo:table-cell text-align="right"><fo:block font-weight="bold">${uiLabelMap.OrderSubTotal}</fo:block></fo:table-cell> </fo:table-row> </fo:table-header> Modified: ofbiz/trunk/applications/order/webapp/ordermgr/order/orderReportContactMechs.fo.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/order/orderReportContactMechs.fo.ftl?rev=889897&r1=889896&r2=889897&view=diff ============================================================================== --- ofbiz/trunk/applications/order/webapp/ordermgr/order/orderReportContactMechs.fo.ftl (original) +++ ofbiz/trunk/applications/order/webapp/ordermgr/order/orderReportContactMechs.fo.ftl Sat Dec 12 08:36:06 2009 @@ -17,137 +17,102 @@ under the License. --> <#escape x as x?xml> - <fo:table border-spacing="3pt"> - <fo:table-column column-width="3.75in"/> - <fo:table-column column-width="3.75in"/> - <fo:table-body> - <fo:table-row> <#-- this part could use some improvement --> - - <#assign createEmptyCell = true> - <#-- a special purchased from address for Purchase Orders --> - <#if orderHeader.getString("orderTypeId") == "PURCHASE_ORDER"> - <#if supplierGeneralContactMechValueMap?exists> - <#assign contactMech = supplierGeneralContactMechValueMap.contactMech> - <#assign createEmptyCell = false> - <fo:table-cell> - <fo:block> - ${uiLabelMap.OrderPurchasedFrom}: - </fo:block> - <#assign postalAddress = supplierGeneralContactMechValueMap.postalAddress> - <#if postalAddress?has_content> - <#if postalAddress.toName?has_content><fo:block>${postalAddress.toName}</fo:block></#if> - <#if postalAddress.attnName?has_content><fo:block>${postalAddress.attnName?if_exists}</fo:block></#if> - <fo:block>${postalAddress.address1?if_exists}</fo:block> - <#if postalAddress.address2?has_content><fo:block>${postalAddress.address2?if_exists}</fo:block></#if> - <fo:block> - <#assign stateGeo = (delegator.findOne("Geo", {"geoId", postalAddress.stateProvinceGeoId?if_exists}, false))?if_exists /> - ${postalAddress.city}<#if stateGeo?has_content>, ${stateGeo.geoName?if_exists}</#if> ${postalAddress.postalCode?if_exists} - </fo:block> - <fo:block> - <#assign countryGeo = (delegator.findOne("Geo", {"geoId", postalAddress.countryGeoId?if_exists}, false))?if_exists /> - <#if countryGeo?has_content>${countryGeo.geoName?if_exists}</#if> - </fo:block> - </#if> - </fo:table-cell> - <#else> - <#-- here we just display the name of the vendor, since there is no address --> - <#assign createEmptyCell = false> - <fo:table-cell> - <#assign vendorParty = orderReadHelper.getBillFromParty()> - <fo:block> - <fo:inline font-weight="bold">${uiLabelMap.OrderPurchasedFrom}:</fo:inline> ${Static['org.ofbiz.party.party.PartyHelper'].getPartyName(vendorParty)} - </fo:block> - </fo:table-cell> - </#if> - </#if> - - <#-- list all postal addresses of the order. there should be just a billing and a shipping here. --> - <#list orderContactMechValueMaps as orderContactMechValueMap> - <#assign contactMech = orderContactMechValueMap.contactMech> - <#assign contactMechPurpose = orderContactMechValueMap.contactMechPurposeType> - <#if contactMech.contactMechTypeId == "POSTAL_ADDRESS"> - <#assign postalAddress = orderContactMechValueMap.postalAddress> - <#assign createEmptyCell = false> - <fo:table-cell> - <fo:block font-weight="bold">${contactMechPurpose.get("description",locale)}:</fo:block> - <#if postalAddress?has_content> - <#if postalAddress.toName?has_content><fo:block>${postalAddress.toName?if_exists}</fo:block></#if> - <#if postalAddress.attnName?has_content><fo:block>${postalAddress.attnName?if_exists}</fo:block></#if> - <fo:block>${postalAddress.address1?if_exists}</fo:block> - <#if postalAddress.address2?has_content><fo:block>${postalAddress.address2?if_exists}</fo:block></#if> - <fo:block> - <#assign stateGeo = (delegator.findOne("Geo", {"geoId", postalAddress.stateProvinceGeoId?if_exists}, false))?if_exists /> - ${postalAddress.city}<#if stateGeo?has_content>, ${stateGeo.geoName?if_exists}</#if> ${postalAddress.postalCode?if_exists} - </fo:block> - <fo:block> - <#assign countryGeo = (delegator.findOne("Geo", {"geoId", postalAddress.countryGeoId?if_exists}, false))?if_exists /> - <#if countryGeo?has_content>${countryGeo.geoName?if_exists}</#if> - </fo:block> - </#if> - </fo:table-cell> - </#if> - </#list> - <#-- The empty cell is required in order to fill the table-row element and avoid a validation error --> - <#if createEmptyCell> - <fo:table-cell></fo:table-cell> - </#if> - </fo:table-row> - </fo:table-body> - </fo:table> - <fo:block white-space-collapse="false"> </fo:block> - - <fo:table border-spacing="3pt"> - <fo:table-column column-width="1.75in"/> - <fo:table-column column-width="4.25in"/> - - <#-- payment info --> - <fo:table-body> - <#if orderPaymentPreferences?has_content> - <fo:table-row> - <fo:table-cell><fo:block font-weight="bold">${uiLabelMap.AccountingPaymentInformation}:</fo:block></fo:table-cell> - <fo:table-cell><fo:block> - <#list orderPaymentPreferences as orderPaymentPreference> - <#assign paymentMethodType = orderPaymentPreference.getRelatedOne("PaymentMethodType")?if_exists> - <#if ((orderPaymentPreference != null) && (orderPaymentPreference.getString("paymentMethodTypeId") == "CREDIT_CARD") && (orderPaymentPreference.getString("paymentMethodId")?has_content))> - <#assign creditCard = orderPaymentPreference.getRelatedOne("PaymentMethod").getRelatedOne("CreditCard")> - ${Static["org.ofbiz.party.contact.ContactHelper"].formatCreditCard(creditCard)} - <#else> - ${paymentMethodType.get("description",locale)?if_exists} - </#if> - </#list> - </fo:block> - </fo:table-cell> - </fo:table-row> - </#if> - - <#-- shipping method. currently not shown for PO's because we are not recording a shipping method for PO's in order entry --> - <#if orderHeader.getString("orderTypeId") == "SALES_ORDER"> - <fo:table-row> - <fo:table-cell><fo:block font-weight="bold">${uiLabelMap.OrderShipmentInformation}:</fo:block></fo:table-cell> - <fo:table-cell> - <#if shipGroups?has_content> - <#list shipGroups as shipGroup> - <#-- TODO: List all full details of each ship group here --> - <fo:block> - <#if (shipGroup.shipmentMethodTypeId)?exists> - ${(shipGroup.getRelatedOne("ShipmentMethodType").get("description", locale))?default(shipGroup.shipmentMethodTypeId)} - </#if> - </fo:block> - </#list> - </#if> - </fo:table-cell> - </fo:table-row> - </#if> - <#-- order terms information --> - <#if orderTerms?exists?has_content> - <fo:table-row> - <fo:table-cell><fo:block font-weight="bold">${uiLabelMap.OrderOrderTerms}: </fo:block></fo:table-cell> - <fo:table-cell white-space-collapse="false"><#list orderTerms as orderTerm><fo:block>${orderTerm.getRelatedOne("TermType").get("description",locale)} ${orderTerm.termValue?default("")} ${orderTerm.termDays?default("")} ${orderTerm.textValue?default("")} -</fo:block></#list></fo:table-cell> - </fo:table-row> - </#if> - </fo:table-body> - </fo:table> -<fo:block space-after="10pt"/> +<#if orderHeader.getString("orderTypeId") == "PURCHASE_ORDER"> + <#if supplierGeneralContactMechValueMap?exists> + <#assign contactMech = supplierGeneralContactMechValueMap.contactMech> + <fo:block font-weight="bold">${uiLabelMap.OrderPurchasedFrom}:</fo:block> + <#assign postalAddress = supplierGeneralContactMechValueMap.postalAddress> + <#if postalAddress?has_content> + <fo:block text-indent="0.2in"> + <#if postalAddress.toName?has_content><fo:block>${postalAddress.toName}</fo:block></#if> + <#if postalAddress.attnName?has_content><fo:block>${postalAddress.attnName?if_exists}</fo:block></#if> + <fo:block>${postalAddress.address1?if_exists}</fo:block> + <#if postalAddress.address2?has_content><fo:block>${postalAddress.address2?if_exists}</fo:block></#if> + <fo:block> + <#assign stateGeo = (delegator.findOne("Geo", {"geoId", postalAddress.stateProvinceGeoId?if_exists}, false))?if_exists /> + ${postalAddress.city}<#if stateGeo?has_content>, ${stateGeo.geoName?if_exists}</#if> ${postalAddress.postalCode?if_exists} + </fo:block> + <fo:block> + <#assign countryGeo = (delegator.findOne("Geo", {"geoId", postalAddress.countryGeoId?if_exists}, false))?if_exists /> + <#if countryGeo?has_content>${countryGeo.geoName?if_exists}</#if> + </fo:block> + </fo:block> + </#if> + <#else> + <#-- here we just display the name of the vendor, since there is no address --> + <#assign vendorParty = orderReadHelper.getBillFromParty()> + <fo:block> + <fo:inline font-weight="bold">${uiLabelMap.OrderPurchasedFrom}:</fo:inline> ${Static['org.ofbiz.party.party.PartyHelper'].getPartyName(vendorParty)} + </fo:block> + </#if> +</#if> + +<#-- list all postal addresses of the order. there should be just a billing and a shipping here. --> +<#list orderContactMechValueMaps as orderContactMechValueMap> + <#assign contactMech = orderContactMechValueMap.contactMech> + <#assign contactMechPurpose = orderContactMechValueMap.contactMechPurposeType> + <#if contactMech.contactMechTypeId == "POSTAL_ADDRESS"> + <#assign postalAddress = orderContactMechValueMap.postalAddress> + <fo:block font-weight="bold">${contactMechPurpose.get("description",locale)}:</fo:block> + <fo:block text-indent="0.2in"> + <#if postalAddress?has_content> + <#if postalAddress.toName?has_content><fo:block>${postalAddress.toName?if_exists}</fo:block></#if> + <#if postalAddress.attnName?has_content><fo:block>${postalAddress.attnName?if_exists}</fo:block></#if> + <fo:block>${postalAddress.address1?if_exists}</fo:block> + <#if postalAddress.address2?has_content><fo:block>${postalAddress.address2?if_exists}</fo:block></#if> + <fo:block> + <#assign stateGeo = (delegator.findOne("Geo", {"geoId", postalAddress.stateProvinceGeoId?if_exists}, false))?if_exists /> + ${postalAddress.city}<#if stateGeo?has_content>, ${stateGeo.geoName?if_exists}</#if> ${postalAddress.postalCode?if_exists} + </fo:block> + <fo:block> + <#assign countryGeo = (delegator.findOne("Geo", {"geoId", postalAddress.countryGeoId?if_exists}, false))?if_exists /> + <#if countryGeo?has_content>${countryGeo.geoName?if_exists}</#if> + </fo:block> + </#if> + </fo:block> + </#if> +</#list> + +<fo:block space-after="0.2in"/> + +<#if orderPaymentPreferences?has_content> + <fo:block font-weight="bold">${uiLabelMap.AccountingPaymentInformation}:</fo:block> + <#list orderPaymentPreferences as orderPaymentPreference> + <fo:block text-indent="0.2in"> + <#assign paymentMethodType = orderPaymentPreference.getRelatedOne("PaymentMethodType")?if_exists> + <#if ((orderPaymentPreference != null) && (orderPaymentPreference.getString("paymentMethodTypeId") == "CREDIT_CARD") && (orderPaymentPreference.getString("paymentMethodId")?has_content))> + <#assign creditCard = orderPaymentPreference.getRelatedOne("PaymentMethod").getRelatedOne("CreditCard")> + ${Static["org.ofbiz.party.contact.ContactHelper"].formatCreditCard(creditCard)} + <#else> + ${paymentMethodType.get("description",locale)?if_exists} + </#if> + </fo:block> + </#list> +</#if> +<#if orderHeader.getString("orderTypeId") == "SALES_ORDER" && shipGroups?exists?has_content> + <fo:block font-weight="bold">${uiLabelMap.OrderShipmentInformation}:</fo:block> + <#list shipGroups as shipGroup> + <fo:block text-indent="0.2in"> + <#if shipGroups.size() gt 1>${shipGroup.shipGroupSeqId} - </#if> + <#if (shipGroup.shipmentMethodTypeId)?exists> + ${(shipGroup.getRelatedOne("ShipmentMethodType").get("description", locale))?default(shipGroup.shipmentMethodTypeId)} + </#if> + <#if (shipGroup.shipAfterDate)?exists || (shipGroup.shipByDate)?exists> + <#if (shipGroup.shipAfterDate)?exists> - ${uiLabelMap.OrderShipAfterDate}: ${Static["org.ofbiz.base.util.UtilDateTime"].toDateString(shipGroup.shipAfterDate)}</#if><#if (shipGroup.shipByDate)?exists> - ${uiLabelMap.OrderShipBeforeDate}: ${Static["org.ofbiz.base.util.UtilDateTime"].toDateString(shipGroup.shipByDate)}</#if> + </#if> + </fo:block> + </#list> +</#if> + +<#if orderTerms?exists?has_content && orderTerms.size() gt 0> + <fo:block font-weight="bold">${uiLabelMap.OrderOrderTerms}:</fo:block> + <#list orderTerms as orderTerm> + <fo:block text-indent="0.2in"> + ${orderTerm.getRelatedOne("TermType").get("description",locale)} ${orderTerm.termValue?default("")} ${orderTerm.termDays?default("")} ${orderTerm.textValue?default("")} + </fo:block> + </#list> +</#if> + +<fo:block space-after="0.2in"/> </#escape> |
| Free forum by Nabble | Edit this page |
