Hi Chatree,

the issue should be fixed by rev. 1307288.
I didn't test the email report (so please let me know if this fixes doesn't 
solve the problem) but I am rather confident that it should be ok now.

Jacopo


On Mar 30, 2012, at 7:14 AM, Jacopo Cappellato wrote:

> Hi Chatree,
> 
> I am looking into this issue now (I will let you know soon); thank you for 
> the bug report.
> 
> Jacopo
> 
> On Mar 30, 2012, at 5:51 AM, Chatree Srichart wrote:
> 
>> Hi Jacopo
>> 
>> I have a problem with this commit.
>> 
>> On Tue, Mar 27, 2012 at 11:48 PM, <[email protected]> wrote:
>> 
>>> Author: jacopoc
>>> Date: Tue Mar 27 16:48:54 2012
>>> New Revision: 1305898
>>> 
>>> URL: http://svn.apache.org/viewvc?rev=1305898&view=rev
>>> Log:
>>> OFBIZ-4715 Committed patch from Markus M. May to extend the country
>>> specific address formatter to PDF (fo.ftl).
>>> 
>>> 
>>> Added:
>>> 
>>> ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress.fo.ftl
>>> (with props)
>>> 
>>> ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress_USA.fo.ftl
>>> (with props)
>>> Modified:
>>> 
>>> ofbiz/trunk/applications/order/webapp/ordermgr/order/companyHeader.fo.ftl
>>> 
>>> ofbiz/trunk/applications/order/webapp/ordermgr/order/ordercontactinfo.ftl
>>> 
>>> ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportContactMechs.fo.ftl
>>> 
>>> ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/party/GetPostalAddressTemplate.groovy
>>> 
>>> ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress_USA.ftl
>>> 
>>> ofbiz/trunk/applications/party/webapp/partymgr/party/profileblocks/Contact.ftl
>>>  ofbiz/trunk/applications/party/widget/partymgr/PartyScreens.xml
>>> 
>>> Modified:
>>> ofbiz/trunk/applications/order/webapp/ordermgr/order/companyHeader.fo.ftl
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/order/companyHeader.fo.ftl?rev=1305898&r1=1305897&r2=1305898&view=diff
>>> 
>>> ==============================================================================
>>> ---
>>> ofbiz/trunk/applications/order/webapp/ordermgr/order/companyHeader.fo.ftl
>>> (original)
>>> +++
>>> ofbiz/trunk/applications/order/webapp/ordermgr/order/companyHeader.fo.ftl
>>> Tue Mar 27 16:48:54 2012
>>> @@ -26,9 +26,8 @@ under the License.
>>>   <fo:block>${companyName}</fo:block>
>>>   <#if postalAddress?exists>
>>>       <#if postalAddress?has_content>
>>> -            <fo:block>${postalAddress.address1?if_exists}</fo:block>
>>> -            <#if
>>> postalAddress.address2?has_content><fo:block>${postalAddress.address2?if_exists}</fo:block></#if>
>>> -            <fo:block>${postalAddress.city?if_exists},
>>> ${stateProvinceAbbr?if_exists} ${postalAddress.postalCode?if_exists},
>>> ${countryName?if_exists}</fo:block>
>>> +            ${setRequestAttribute("postalAddress", postalAddress)}
>>> +
>>> ${screens.render("component://party/widget/partymgr/PartyScreens.xml#postalAddressPdfFormatter")}
>>>       </#if>
>>>   <#else>
>>>       <fo:block>${uiLabelMap.CommonNoPostalAddress}</fo:block>
>>> 
>> 
>> Calling setRequestAttribute template method will work fine
>> in companyHeader.fo.ftl if I print a PDF report in a web page which has a
>> request object but it will not work if I send the PDF report through email
>> using a service because there is NOT a request object in a service.
>> 
>> 
>>> 
>>> Modified:
>>> ofbiz/trunk/applications/order/webapp/ordermgr/order/ordercontactinfo.ftl
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/order/ordercontactinfo.ftl?rev=1305898&r1=1305897&r2=1305898&view=diff
>>> 
>>> ==============================================================================
>>> ---
>>> ofbiz/trunk/applications/order/webapp/ordermgr/order/ordercontactinfo.ftl
>>> (original)
>>> +++
>>> ofbiz/trunk/applications/order/webapp/ordermgr/order/ordercontactinfo.ftl
>>> Tue Mar 27 16:48:54 2012
>>> @@ -117,21 +117,8 @@ under the License.
>>>               <#assign postalAddress =
>>> orderContactMechValueMap.postalAddress>
>>>               <#if postalAddress?has_content>
>>>                 <div>
>>> -                    <#if postalAddress.toName?has_content><span
>>> class="label">${uiLabelMap.CommonTo}</span> ${postalAddress.toName}<br
>>> /></#if>
>>> -                    <#if postalAddress.attnName?has_content><span
>>> class="label">${uiLabelMap.CommonAttn}</span> ${postalAddress.attnName}<br
>>> /></#if>
>>> -                    ${postalAddress.address1}<br />
>>> -                    <#if
>>> postalAddress.address2?has_content>${postalAddress.address2}<br /></#if>
>>> -                    ${postalAddress.city?if_exists}<#if
>>> postalAddress.stateProvinceGeoId?has_content>,
>>> ${postalAddress.stateProvinceGeoId} </#if>
>>> -                    ${postalAddress.postalCode?if_exists}<br />
>>> -                    ${postalAddress.countryGeoId?if_exists}<br />
>>> -                    <#if !postalAddress.countryGeoId?exists ||
>>> postalAddress.countryGeoId == "USA">
>>> -                      <#assign addr1 = postalAddress.address1?if_exists>
>>> -                      <#if (addr1.indexOf(" ") > 0)>
>>> -                        <#assign addressNum = addr1.substring(0,
>>> addr1.indexOf(" "))>
>>> -                        <#assign addressOther =
>>> addr1.substring(addr1.indexOf(" ")+1)>
>>> -                        <a target="_blank"
>>> href="${uiLabelMap.CommonLookupWhitepagesAddressLink}"
>>> class="buttontext">${uiLabelMap.CommonLookupWhitepages}</a>
>>> -                      </#if>
>>> -                    </#if>
>>> +                     ${setRequestAttribute("postalAddress",
>>> postalAddress)}
>>> +
>>> ${screens.render("component://party/widget/partymgr/PartyScreens.xml#postalAddressHtmlFormatter")}
>>>                 </div>
>>>                 <@updateOrderContactMech
>>> orderHeader=orderHeader?if_exists
>>> contactMechTypeId=contactMech.contactMechTypeId
>>> contactMechList=postalContactMechList?if_exists
>>> contactMechPurposeTypeId=contactMechPurpose.contactMechPurposeTypeId?if_exists
>>> contactMechAddress=postalAddress?if_exists />
>>>               </#if>
>>> 
>>> Modified:
>>> ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportContactMechs.fo.ftl
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportContactMechs.fo.ftl?rev=1305898&r1=1305897&r2=1305898&view=diff
>>> 
>>> ==============================================================================
>>> ---
>>> ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportContactMechs.fo.ftl
>>> (original)
>>> +++
>>> ofbiz/trunk/applications/order/webapp/ordermgr/quote/quoteReportContactMechs.fo.ftl
>>> Tue Mar 27 16:48:54 2012
>>> @@ -39,9 +39,8 @@ under the License.
>>>                   <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_exists}<#if
>>> toPostalAddress.stateProvinceGeoId?has_content>,
>>> ${toPostalAddress.stateProvinceGeoId}</#if>
>>> ${toPostalAddress.postalCode?if_exists}</fo:block>
>>> +                              ${setRequestAttribute("postalAddress",
>>> toPostalAddress)}
>>> +
>>> ${screens.render("component://party/widget/partymgr/PartyScreens.xml#postalAddressPdfFormatter")}
>>>                           </#if>
>>>                       </fo:block>
>>>                   </fo:table-cell>
>>> 
>>> Modified:
>>> ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/party/GetPostalAddressTemplate.groovy
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/party/GetPostalAddressTemplate.groovy?rev=1305898&r1=1305897&r2=1305898&view=diff
>>> 
>>> ==============================================================================
>>> ---
>>> ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/party/GetPostalAddressTemplate.groovy
>>> (original)
>>> +++
>>> ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/party/GetPostalAddressTemplate.groovy
>>> Tue Mar 27 16:48:54 2012
>>> @@ -17,17 +17,21 @@
>>> * under the License.
>>> */
>>> 
>>> -postalAddress = request.getAttribute("postalAddress");
>>> +postalAddressForTemplate = request.getAttribute("postalAddress");
>>> +postalAddressTemplateSuffix = context.postalAddressTemplateSuffix;
>>> 
>>> -if (postalAddress && postalAddress.countryGeoId) {
>>> -    postalAddressTemplate = "PostalAddress_" + postalAddress.countryGeoId
>>> + ".ftl";
>>> +if (!postalAddressTemplateSuffix) {
>>> +  postalAddressTemplateSuffix = ".ftl";
>>> +}
>>> +
>>> +if (postalAddressForTemplate && postalAddressForTemplate.countryGeoId) {
>>> +    postalAddressTemplate = "PostalAddress_" +
>>> postalAddressForTemplate.countryGeoId + postalAddressTemplateSuffix;
>>>   file = new File(addressTemplatePath + postalAddressTemplate);
>>> -    if (file.exists()) {
>>> +    if (file.exists()) {
>>>       context.postalAddressTemplate = postalAddressTemplate;
>>> +    } else {
>>> +        context.postalAddressTemplate = "PostalAddress" +
>>> postalAddressTemplateSuffix;
>>>   }
>>> }
>>> -if (!context.postalAddressTemplate) {
>>> -    context.postalAddressTemplate = "PostalAddress.ftl";
>>> -}
>>> 
>>> -context.postalAddress = postalAddress;
>>> +context.postalAddress = postalAddressForTemplate;
>>> 
>>> Added:
>>> ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress.fo.ftl
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress.fo.ftl?rev=1305898&view=auto
>>> 
>>> ==============================================================================
>>> ---
>>> ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress.fo.ftl
>>> (added)
>>> +++
>>> ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress.fo.ftl
>>> Tue Mar 27 16:48:54 2012
>>> @@ -0,0 +1,27 @@
>>> +<#--
>>> +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.
>>> +-->
>>> +  <fo:block>${postalAddress.address1?if_exists}</fo:block>
>>> +  <#if
>>> postalAddress.address2?has_content><fo:block>${postalAddress.address2?if_exists}</fo:block></#if>
>>> +  <fo:block>${postalAddress.city?if_exists}<#if
>>> postalAddress.stateProvinceGeoId?has_content>,
>>> ${postalAddress.stateProvinceGeoId}</#if>
>>> ${postalAddress.postalCode?if_exists}</fo:block>
>>> +  <#if postalAddress.countryGeoId?has_content>
>>> +    <fo:block>
>>> +         <#assign country =
>>> postalAddress.getRelatedOneCache("CountryGeo")>
>>> +         ${country.get("geoName", locale)?default(country.geoId)}
>>> +    </fo:block>
>>> +  </#if>
>>> 
>>> Propchange:
>>> ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress.fo.ftl
>>> 
>>> ------------------------------------------------------------------------------
>>>  svn:eol-style = native
>>> 
>>> Propchange:
>>> ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress.fo.ftl
>>> 
>>> ------------------------------------------------------------------------------
>>>  svn:keywords = Date Rev Author URL Id
>>> 
>>> Propchange:
>>> ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress.fo.ftl
>>> 
>>> ------------------------------------------------------------------------------
>>>  svn:mime-type = text/plain
>>> 
>>> Added:
>>> ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress_USA.fo.ftl
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress_USA.fo.ftl?rev=1305898&view=auto
>>> 
>>> ==============================================================================
>>> ---
>>> ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress_USA.fo.ftl
>>> (added)
>>> +++
>>> ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress_USA.fo.ftl
>>> Tue Mar 27 16:48:54 2012
>>> @@ -0,0 +1,27 @@
>>> +<#--
>>> +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.
>>> +-->
>>> +  <fo:block>${postalAddress.address1?if_exists}</fo:block>
>>> +  <#if
>>> postalAddress.address2?has_content><fo:block>${postalAddress.address2?if_exists}</fo:block></#if>
>>> +  <fo:block>${postalAddress.city?if_exists}<#if
>>> postalAddress.stateProvinceGeoId?has_content>,
>>> ${postalAddress.stateProvinceGeoId}</#if>
>>> ${postalAddress.postalCode?if_exists}</fo:block>
>>> +  <#if postalAddress.countryGeoId?has_content>
>>> +    <fo:block>
>>> +         <#assign country =
>>> postalAddress.getRelatedOneCache("CountryGeo")>
>>> +         ${country.get("geoName", locale)?default(country.geoId)}
>>> +    </fo:block>
>>> +  </#if>
>>> 
>>> Propchange:
>>> ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress_USA.fo.ftl
>>> 
>>> ------------------------------------------------------------------------------
>>>  svn:eol-style = native
>>> 
>>> Propchange:
>>> ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress_USA.fo.ftl
>>> 
>>> ------------------------------------------------------------------------------
>>>  svn:keywords = Date Rev Author URL Id
>>> 
>>> Propchange:
>>> ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress_USA.fo.ftl
>>> 
>>> ------------------------------------------------------------------------------
>>>  svn:mime-type = text/plain
>>> 
>>> Modified:
>>> ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress_USA.ftl
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress_USA.ftl?rev=1305898&r1=1305897&r2=1305898&view=diff
>>> 
>>> ==============================================================================
>>> ---
>>> ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress_USA.ftl
>>> (original)
>>> +++
>>> ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress_USA.ftl
>>> Tue Mar 27 16:48:54 2012
>>> @@ -32,9 +32,12 @@ under the License.
>>>        ${country.get("geoName", locale)?default(country.geoId)}
>>>      </#if>
>>> </div>
>>> +  <#if !postalAddress.countryGeoId?has_content>
>>>   <#assign addr1 = postalAddress.address1?if_exists>
>>>   <#if addr1?has_content && (addr1.indexOf(" ") > 0)>
>>>        <#assign addressNum = addr1.substring(0, addr1.indexOf(" "))>
>>>        <#assign addressOther = addr1.substring(addr1.indexOf(" ")+1)>
>>>        <a target="_blank"
>>> href="${uiLabelMap.CommonLookupWhitepagesAddressLink}"
>>> class="buttontext">${uiLabelMap.CommonLookupWhitepages}</a>
>>>   </#if>
>>> +  </#if>
>>> +
>>> 
>>> Modified:
>>> ofbiz/trunk/applications/party/webapp/partymgr/party/profileblocks/Contact.ftl
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/webapp/partymgr/party/profileblocks/Contact.ftl?rev=1305898&r1=1305897&r2=1305898&view=diff
>>> 
>>> ==============================================================================
>>> ---
>>> ofbiz/trunk/applications/party/webapp/partymgr/party/profileblocks/Contact.ftl
>>> (original)
>>> +++
>>> ofbiz/trunk/applications/party/webapp/partymgr/party/profileblocks/Contact.ftl
>>> Tue Mar 27 16:48:54 2012
>>> @@ -60,10 +60,10 @@ under the License.
>>>                 <#if contactMechMap.postalAddress?has_content>
>>>                      <#assign postalAddress =
>>> contactMechMap.postalAddress>
>>>                      ${setRequestAttribute("postalAddress",
>>> postalAddress)}
>>> -
>>> ${screens.render("component://party/widget/partymgr/PartyScreens.xml#postalAddress")}
>>> +
>>> ${screens.render("component://party/widget/partymgr/PartyScreens.xml#postalAddressHtmlFormatter")}
>>>                   <#if postalAddress.geoPointId?has_content>
>>>                     <#if contactMechPurposeType?has_content>
>>> -                        <#assign popUptitle =
>>> contactMechPurposeType.get("description",locale) +
>>> uiLabelMap.CommonGeoLocation>
>>> +                        <#assign popUptitle =
>>> contactMechPurposeType.get("description", locale) +
>>> uiLabelMap.CommonGeoLocation>
>>>                     </#if>
>>>                     <a
>>> href="javascript:popUp('<@ofbizUrl>PartyGeoLocation?geoPointId=${postalAddress.geoPointId}&partyId=${partyId}</@ofbizUrl>',
>>> '${popUptitle?if_exists}', '450', '550')"
>>> class="buttontext">${uiLabelMap.CommonGeoLocation}</a>
>>>                   </#if>
>>> 
>>> Modified: ofbiz/trunk/applications/party/widget/partymgr/PartyScreens.xml
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/widget/partymgr/PartyScreens.xml?rev=1305898&r1=1305897&r2=1305898&view=diff
>>> 
>>> ==============================================================================
>>> --- ofbiz/trunk/applications/party/widget/partymgr/PartyScreens.xml
>>> (original)
>>> +++ ofbiz/trunk/applications/party/widget/partymgr/PartyScreens.xml Tue
>>> Mar 27 16:48:54 2012
>>> @@ -1254,12 +1254,29 @@ under the License.
>>>           </widgets>
>>>       </section>
>>>   </screen>
>>> -    <screen name="postalAddress">
>>> +    <screen name="postalAddressHtmlFormatter">
>>>       <section>
>>>           <actions>
>>>               <property-map resource="PartyUiLabels"
>>> map-name="uiLabelMap" global="true"/>
>>> +                <set field="postalAddressTemplateSuffix" value=".ftl"/>
>>> +                <set field="addressTemplatePath"
>>> value="${sys:getProperty('ofbiz.home')}/applications/party/webapp/partymgr/party/contactmechtemplates/"/>
>>> +                <script
>>> location="component://party/webapp/partymgr/WEB-INF/actions/party/GetPostalAddressTemplate.groovy"/>
>>> +            </actions>
>>> +            <widgets>
>>> +                <platform-specific>
>>> +                    <html>
>>> +                        <html-template
>>> location="component://party/webapp/partymgr/party/contactmechtemplates/${postalAddressTemplate}"/>
>>> +                    </html>
>>> +                </platform-specific>
>>> +            </widgets>
>>> +        </section>
>>> +    </screen>
>>> +    <screen name="postalAddressPdfFormatter">
>>> +        <section>
>>> +            <actions>
>>> +                <property-map resource="PartyUiLabels"
>>> map-name="uiLabelMap" global="true"/>
>>> +                <set field="postalAddressTemplateSuffix" value=".fo.ftl"/>
>>>               <set field="addressTemplatePath"
>>> value="${sys:getProperty('ofbiz.home')}/applications/party/webapp/partymgr/party/contactmechtemplates/"/>
>>> -                <set field="postalAddress"
>>> from-field="parameters.postalAddress"/>
>>>               <script
>>> location="component://party/webapp/partymgr/WEB-INF/actions/party/GetPostalAddressTemplate.groovy"/>
>>>           </actions>
>>>           <widgets>
>>> 
>>> 
>>> 
>> Regards,
>> Chatree Srichart
> 

Reply via email to