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 >
