You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by Chatree Srichart <ch...@gmail.com> on 2012/03/30 05:51:02 UTC

Re: svn commit: r1305898 - in /ofbiz/trunk/applications: order/webapp/ordermgr/order/ order/webapp/ordermgr/quote/ party/webapp/partymgr/WEB-INF/actions/party/ party/webapp/partymgr/party/contactmechtemplates/ party/webapp/partymgr/party/profileblock

Hi Jacopo

I have a problem with this commit.

On Tue, Mar 27, 2012 at 11:48 PM, <ja...@apache.org> 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('<@o...@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

Re: svn commit: r1305898 - in /ofbiz/trunk/applications: order/webapp/ordermgr/order/ order/webapp/ordermgr/quote/ party/webapp/partymgr/WEB-INF/actions/party/ party/webapp/partymgr/party/contactmechtemplates/ party/webapp/partymgr/party/profileblock

Posted by Jacopo Cappellato <ja...@hotwaxmedia.com>.
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, <ja...@apache.org> 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('<@o...@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
> 


Re: svn commit: r1305898 - in /ofbiz/trunk/applications: order/webapp/ordermgr/order/ order/webapp/ordermgr/quote/ party/webapp/partymgr/WEB-INF/actions/party/ party/webapp/partymgr/party/contactmechtemplates/ party/webapp/partymgr/party/profileblock

Posted by Jacopo Cappellato <ja...@hotwaxmedia.com>.
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, <ja...@apache.org> 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('<@o...@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