Author: jacopoc
Date: Wed Oct  4 06:09:15 2006
New Revision: 452879

URL: http://svn.apache.org/viewvc?view=rev&rev=452879
Log:
Refactored the quote pdf report to share the common report template.

Added:
    
incubator/ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportBody.fo.ftl
   (with props)
    
incubator/ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportContactMechs.fo.ftl
   (with props)
    
incubator/ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportHeaderInfo.fo.ftl
   (with props)
Removed:
    
incubator/ofbiz/trunk/applications/order/webapp/ordermgr/quote/QuoteReport.fo.ftl
Modified:
    incubator/ofbiz/trunk/applications/order/widget/ordermgr/QuoteScreens.xml

Added: 
incubator/ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportBody.fo.ftl
URL: 
http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportBody.fo.ftl?view=auto&rev=452879
==============================================================================
--- 
incubator/ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportBody.fo.ftl
 (added)
+++ 
incubator/ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportBody.fo.ftl
 Wed Oct  4 06:09:15 2006
@@ -0,0 +1,151 @@
+<#--
+
+Copyright 2001-2006 The Apache Software Foundation
+
+Licensed 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.
+-->
+        <fo:block>
+            <fo:table font-size="9pt">
+                <fo:table-column column-width="40pt"/>
+                <fo:table-column column-width="160pt"/>
+                <fo:table-column column-width="58pt"/>
+                <fo:table-column column-width="58pt"/>
+                <fo:table-column column-width="58pt"/>
+                <fo:table-column column-width="58pt"/>
+                <fo:table-column column-width="58pt"/>
+                <fo:table-header>
+                    <fo:table-row>
+                        <fo:table-cell border-bottom="thin solid 
grey"><fo:block 
font-weight="bold">${uiLabelMap.ProductItem}</fo:block></fo:table-cell>
+                        <fo:table-cell border-bottom="thin solid 
grey"><fo:block 
font-weight="bold">${uiLabelMap.ProductProduct}</fo:block></fo:table-cell>
+                        <fo:table-cell border-bottom="thin solid 
grey"><fo:block font-weight="bold" 
text-align="right">${uiLabelMap.ProductQuantity}</fo:block></fo:table-cell>
+                        <fo:table-cell border-bottom="thin solid 
grey"><fo:block font-weight="bold" 
text-align="right">${uiLabelMap.OrderAmount}</fo:block></fo:table-cell>
+                        <fo:table-cell border-bottom="thin solid 
grey"><fo:block font-weight="bold" 
text-align="right">${uiLabelMap.OrderOrderQuoteUnitPrice}</fo:block></fo:table-cell>
+                        <fo:table-cell border-bottom="thin solid 
grey"><fo:block font-weight="bold" 
text-align="right">${uiLabelMap.OrderAdjustments}</fo:block></fo:table-cell>
+                        <fo:table-cell border-bottom="thin solid 
grey"><fo:block font-weight="bold" 
text-align="right">${uiLabelMap.CommonSubtotal}</fo:block></fo:table-cell>
+                    </fo:table-row>
+                </fo:table-header>
+                <fo:table-body>
+                    <#assign rowColor = "white">
+                    <#assign totalQuoteAmount = 0.0>
+                    <#list quoteItems as quoteItem>
+                        <#if quoteItem.productId?exists>
+                            <#assign product = 
quoteItem.getRelatedOne("Product")>
+                        </#if>
+                        <#assign quoteItemAmount = 
quoteItem.quoteUnitPrice?default(0) * quoteItem.quantity?default(0)>
+                        <#assign quoteItemAdjustments = 
quoteItem.getRelated("QuoteAdjustment")>
+                        <#assign totalQuoteItemAdjustmentAmount = 0.0>
+                        <#list quoteItemAdjustments as quoteItemAdjustment>
+                            <#assign totalQuoteItemAdjustmentAmount = 
quoteItemAdjustment.amount?default(0) + totalQuoteItemAdjustmentAmount>
+                        </#list>
+                        <#assign totalQuoteItemAmount = quoteItemAmount + 
totalQuoteItemAdjustmentAmount>
+                        <#assign totalQuoteAmount = totalQuoteAmount + 
totalQuoteItemAmount>
+
+                        <fo:table-row>
+                            <fo:table-cell padding="2pt" 
background-color="${rowColor}">
+                                
<fo:block>${quoteItem.quoteItemSeqId}</fo:block>
+                            </fo:table-cell>
+                            <fo:table-cell padding="2pt" 
background-color="${rowColor}">
+                                
<fo:block>${(product.internalName)?xml?if_exists} 
[${quoteItem.productId?if_exists}]</fo:block>
+                            </fo:table-cell>
+                            <fo:table-cell padding="2pt" 
background-color="${rowColor}">
+                                <fo:block 
text-align="right">${quoteItem.quantity?if_exists}</fo:block>
+                            </fo:table-cell>
+                            <fo:table-cell padding="2pt" 
background-color="${rowColor}">
+                                <fo:block 
text-align="right">${quoteItem.selectedAmount?if_exists}</fo:block>
+                            </fo:table-cell>
+                            <fo:table-cell padding="2pt" 
background-color="${rowColor}">
+                                <fo:block text-align="right"><@ofbizCurrency 
amount=quoteItem.quoteUnitPrice isoCode=quote.currencyUomId/></fo:block>
+                            </fo:table-cell>
+                            <fo:table-cell padding="2pt" 
background-color="${rowColor}">
+                                <fo:block text-align="right"><@ofbizCurrency 
amount=totalQuoteItemAdjustmentAmount isoCode=quote.currencyUomId/></fo:block>
+                            </fo:table-cell>
+                            <fo:table-cell padding="2pt" 
background-color="${rowColor}">
+                                <fo:block text-align="right"><@ofbizCurrency 
amount=totalQuoteItemAmount isoCode=quote.currencyUomId/></fo:block>
+                            </fo:table-cell>
+
+                        </fo:table-row>
+                        <#list quoteItemAdjustments as quoteItemAdjustment>
+                            <#assign adjustmentType = 
quoteItemAdjustment.getRelatedOne("OrderAdjustmentType")>
+                            <fo:table-row>
+                                <fo:table-cell padding="2pt" 
background-color="${rowColor}">
+                                </fo:table-cell>
+                                <fo:table-cell padding="2pt" 
background-color="${rowColor}">
+                                </fo:table-cell>
+                                <fo:table-cell padding="2pt" 
background-color="${rowColor}">
+                                </fo:table-cell>
+                                <fo:table-cell padding="2pt" 
background-color="${rowColor}">
+                                </fo:table-cell>
+                                <fo:table-cell padding="2pt" 
background-color="${rowColor}">
+                                    <fo:block font-size="7pt" 
text-align="right">${adjustmentType.get("description",locale)?if_exists}</fo:block>
+                                </fo:table-cell>
+                                <fo:table-cell padding="2pt" 
background-color="${rowColor}">
+                                    <fo:block font-size="7pt" 
text-align="right"><@ofbizCurrency amount=quoteItemAdjustment.amount 
isoCode=quote.currencyUomId/></fo:block>
+                                </fo:table-cell>
+                                <fo:table-cell padding="2pt" 
background-color="${rowColor}">
+                                </fo:table-cell>
+                            </fo:table-row>
+                        </#list>
+
+                        <#if rowColor == "white">
+                            <#assign rowColor = "#D4D0C8">
+                        <#else>
+                            <#assign rowColor = "white">
+                        </#if>        
+                    </#list>          
+                </fo:table-body>
+            </fo:table>
+            
+            
+            
+            
+            <fo:block text-align="right">
+                <fo:table>
+                    <fo:table-column column-width="100pt"/>
+                    <fo:table-column column-width="100pt"/>
+                    <fo:table-body>
+                        <fo:table-row>
+                            <fo:table-cell padding="2pt">
+                                <fo:block font-weight="bold" 
text-align="right">${uiLabelMap.CommonSubtotal}</fo:block>
+                            </fo:table-cell>
+                            <fo:table-cell padding="2pt">
+                                <fo:block text-align="right"><@ofbizCurrency 
amount=totalQuoteAmount isoCode=quote.currencyUomId/></fo:block>
+                            </fo:table-cell>
+                        </fo:table-row>
+                        <#assign totalQuoteHeaderAdjustmentAmount = 0.0>
+                        <#list quoteAdjustments as quoteAdjustment>
+                            <#assign adjustmentType = 
quoteAdjustment.getRelatedOne("OrderAdjustmentType")>
+                            <#if !quoteAdjustment.quoteItemSeqId?exists>
+                                <#assign totalQuoteHeaderAdjustmentAmount = 
quoteAdjustment.amount?default(0) + totalQuoteHeaderAdjustmentAmount>
+                                <fo:table-row>
+                                    <fo:table-cell padding="2pt">
+                                        <fo:block font-weight="bold" 
text-align="right">${adjustmentType.get("description", 
locale)?if_exists}</fo:block>
+                                    </fo:table-cell>
+                                    <fo:table-cell padding="2pt">
+                                        <fo:block 
text-align="right"><@ofbizCurrency amount=quoteAdjustment.amount 
isoCode=quote.currencyUomId/></fo:block>
+                                    </fo:table-cell>
+                                </fo:table-row>
+                            </#if>
+                        </#list>
+                        <#assign grandTotalQuoteAmount = totalQuoteAmount + 
totalQuoteHeaderAdjustmentAmount>
+                        <fo:table-row>
+                            <fo:table-cell padding="2pt">
+                                <fo:block font-weight="bold" 
text-align="right">${uiLabelMap.OrderGrandTotal}</fo:block>
+                            </fo:table-cell>
+                            <fo:table-cell padding="2pt">
+                                <fo:block text-align="right"><@ofbizCurrency 
amount=grandTotalQuoteAmount isoCode=quote.currencyUomId/></fo:block>
+                            </fo:table-cell>
+                        </fo:table-row>
+                    </fo:table-body>
+                </fo:table>
+            </fo:block>
+        </fo:block>

Propchange: 
incubator/ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportBody.fo.ftl
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportBody.fo.ftl
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: 
incubator/ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportBody.fo.ftl
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: 
incubator/ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportContactMechs.fo.ftl
URL: 
http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportContactMechs.fo.ftl?view=auto&rev=452879
==============================================================================
--- 
incubator/ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportContactMechs.fo.ftl
 (added)
+++ 
incubator/ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportContactMechs.fo.ftl
 Wed Oct  4 06:09:15 2006
@@ -0,0 +1,77 @@
+<#--
+
+Copyright 2001-2006 The Apache Software Foundation
+
+Licensed 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.
+-->
+
+
+        <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>
+                    <fo:table-cell>
+                        <fo:block>
+                            <fo:block 
font-weight="bold">${uiLabelMap.OrderAddress}: </fo:block>
+                            <#if quote.partyId?exists>
+                                <#assign quotePartyNameResult = 
dispatcher.runSync("getPartyNameForDate", 
Static["org.ofbiz.base.util.UtilMisc"].toMap("partyId", quote.partyId, 
"compareDate", quote.issueDate, "userLogin", userLogin))/>
+                                
<fo:block>${quotePartyNameResult.fullName?default("[${uiLabelMap.OrderPartyNameNotFound}]")}</fo:block>
+                            <#else>
+                                
<fo:block>[${uiLabelMap.OrderPartyNameNotFound}]</fo:block>
+                            </#if>
+                        </fo:block>
+                    </fo:table-cell>
+                </fo:table-row>
+                <fo:table-row>
+                    <fo:table-cell>
+                        <fo:block>
+                            <#if toPostalAddress?exists>
+                            
<fo:block>${toPostalAddress.address1?if_exists}</fo:block>
+                            
<fo:block>${toPostalAddress.address2?if_exists}</fo:block>
+                            <fo:block>${toPostalAddress.city}<#if 
toPostalAddress.stateProvinceGeoId?has_content>, 
${toPostalAddress.stateProvinceGeoId}</#if> 
${toPostalAddress.postalCode?if_exists}</fo:block>
+                            </#if>
+                        </fo:block>
+                    </fo:table-cell>
+                </fo:table-row>
+            </fo:table-body>
+        </fo:table>
+
+
+        <fo:table border-spacing="3pt" space-before="0.5in" 
space-after="0.5in">
+            <fo:table-column column-width="1.5in"/>
+            <fo:table-column column-width="3.75in"/>
+            <fo:table-body>
+                <fo:table-row>
+                    
<fo:table-cell><fo:block>${uiLabelMap.OrderOrderQuoteName}:</fo:block></fo:table-cell>
+                    
<fo:table-cell><fo:block>${quote.quoteName?if_exists}</fo:block></fo:table-cell>
+                </fo:table-row>
+                <fo:table-row>
+                    
<fo:table-cell><fo:block>${uiLabelMap.CommonDescription}:</fo:block></fo:table-cell>
+                    
<fo:table-cell><fo:block>${quote.description?if_exists}</fo:block></fo:table-cell>
+                </fo:table-row>
+                <fo:table-row>
+                    
<fo:table-cell><fo:block>${uiLabelMap.CommonCurrency}:</fo:block></fo:table-cell>
+                    <fo:table-cell><fo:block><#if 
currency?exists>${currency.get("description",locale)?default(quote.currencyUomId?if_exists)}</#if></fo:block></fo:table-cell>
+                </fo:table-row>
+                <fo:table-row>
+                    
<fo:table-cell><fo:block>${uiLabelMap.CommonValidFromDate}:</fo:block></fo:table-cell>
+                    
<fo:table-cell><fo:block>${(quote.validFromDate.toString())?if_exists}</fo:block></fo:table-cell>
+                </fo:table-row>
+                <fo:table-row>
+                    
<fo:table-cell><fo:block>${uiLabelMap.CommonValidThruDate}:</fo:block></fo:table-cell>
+                    
<fo:table-cell><fo:block>${(quote.validThruDate.toString())?if_exists}</fo:block></fo:table-cell>
+                </fo:table-row>
+            </fo:table-body>
+        </fo:table>
+        

Propchange: 
incubator/ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportContactMechs.fo.ftl
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportContactMechs.fo.ftl
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: 
incubator/ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportContactMechs.fo.ftl
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: 
incubator/ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportHeaderInfo.fo.ftl
URL: 
http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportHeaderInfo.fo.ftl?view=auto&rev=452879
==============================================================================
--- 
incubator/ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportHeaderInfo.fo.ftl
 (added)
+++ 
incubator/ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportHeaderInfo.fo.ftl
 Wed Oct  4 06:09:15 2006
@@ -0,0 +1,39 @@
+<#--
+
+Copyright 2001-2006 The Apache Software Foundation
+
+Licensed 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.
+-->
+
+        <fo:table border-spacing="3pt">
+            <fo:table-column column-width="1.5in"/>
+            <fo:table-column column-width="3.75in"/>
+            <fo:table-body>
+                <fo:table-row>
+                    <fo:table-cell><fo:block 
font-weight="bold">${uiLabelMap.OrderQuoteType}</fo:block></fo:table-cell>
+                    <fo:table-cell><fo:block 
font-weight="bold">${(quoteType.get("description",locale))?default(quote.quoteTypeId?if_exists)}</fo:block></fo:table-cell>
+                </fo:table-row>
+                <fo:table-row>
+                    
<fo:table-cell><fo:block>${uiLabelMap.OrderOrderQuoteIssueDate}</fo:block></fo:table-cell>
+                    
<fo:table-cell><fo:block>${(quote.issueDate.toString())?if_exists}</fo:block></fo:table-cell>
+                </fo:table-row>
+                <fo:table-row>
+                    
<fo:table-cell><fo:block>${uiLabelMap.OrderOrderQuoteId}</fo:block></fo:table-cell>
+                    
<fo:table-cell><fo:block>${quote.quoteId}</fo:block></fo:table-cell>
+                </fo:table-row>
+                <fo:table-row>
+                    
<fo:table-cell><fo:block>${uiLabelMap.CommonStatus}</fo:block></fo:table-cell>
+                    <fo:table-cell><fo:block 
font-weight="bold">${(statusItem.get("description", 
locale))?default(quote.statusId?if_exists)}</fo:block></fo:table-cell>
+                </fo:table-row>
+            </fo:table-body>
+        </fo:table>

Propchange: 
incubator/ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportHeaderInfo.fo.ftl
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportHeaderInfo.fo.ftl
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: 
incubator/ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportHeaderInfo.fo.ftl
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: 
incubator/ofbiz/trunk/applications/order/widget/ordermgr/QuoteScreens.xml
URL: 
http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/widget/ordermgr/QuoteScreens.xml?view=diff&rev=452879&r1=452878&r2=452879
==============================================================================
--- incubator/ofbiz/trunk/applications/order/widget/ordermgr/QuoteScreens.xml 
(original)
+++ incubator/ofbiz/trunk/applications/order/widget/ordermgr/QuoteScreens.xml 
Wed Oct  4 06:09:15 2006
@@ -112,6 +112,7 @@
             </widgets>
         </section>
     </screen>
+
     <screen name="QuoteReport">
         <section>
             <actions>
@@ -139,15 +140,46 @@
                 <get-related value-name="quote" relation-name="QuoteAttribute" 
list-name="quoteAttributes"/>
                 <get-related value-name="quote" 
relation-name="QuoteCoefficient" list-name="quoteCoefficients"/>
                 -->
-                <property-map resource="OrderUiLabels" map-name="uiLabelMap"/>
             </actions>
             <widgets>
-                <platform-specific>
-                    <html><html-template 
location="component://order/webapp/ordermgr/quote/QuoteReport.fo.ftl"/></html>
-                </platform-specific>
+                <decorator-screen name="FoReportDecorator" 
location="component://common/widget/CommonScreens.xml">
+                    <!-- at the top left of every page we put the logo and 
company information -->
+                    <decorator-section name="topLeft">
+                        <section>
+                            <widgets>
+                                <include-screen name="CompanyLogo" 
location="component://order/widget/ordermgr/OrderPrintForms.xml"/>
+                            </widgets>
+                        </section>
+                    </decorator-section>
+                    <!-- at the top right of every page we put the order 
information -->
+                    <decorator-section name="topRight">
+                        <section>
+                            <widgets>
+                                <platform-specific>
+                                    <html><html-template 
location="component://order/webapp/ordermgr/quote/quoteReportHeaderInfo.fo.ftl"/></html>
+                                </platform-specific>
+                            </widgets>
+                        </section>
+                    </decorator-section>
+                    <decorator-section name="body">
+                        <section>
+                            <widgets>
+                                <!-- the contach mechanisms, terms, payment 
and shipping methods are shown in the first page -->
+                                <platform-specific>
+                                    <html><html-template 
location="component://order/webapp/ordermgr/quote/quoteReportContactMechs.fo.ftl"/></html>
+                                </platform-specific>
+                                <!-- quote items and totals -->
+                                <platform-specific>
+                                    <html><html-template 
location="component://order/webapp/ordermgr/quote/quoteReportBody.fo.ftl"/></html>
+                                </platform-specific>
+                            </widgets>
+                        </section>
+                    </decorator-section>
+                </decorator-screen>
             </widgets>
         </section>
     </screen>
+
     <screen name="EditQuote">
         <section>
             <actions>


Reply via email to