svn commit: r1293204 - in /ofbiz/trunk/applications/party: webapp/partymgr/WEB-INF/actions/party/ webapp/partymgr/party/contactmechtemplates/ webapp/partymgr/party/profileblocks/ widget/partymgr/

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r1293204 - in /ofbiz/trunk/applications/party: webapp/partymgr/WEB-INF/actions/party/ webapp/partymgr/party/contactmechtemplates/ webapp/partymgr/party/profileblocks/ widget/partymgr/

jacopoc
Author: jacopoc
Date: Fri Feb 24 12:12:00 2012
New Revision: 1293204

URL: http://svn.apache.org/viewvc?rev=1293204&view=rev
Log:
OFBIZ-4715: implemented new mechanism to dynamically select (if available) a country specific ftl template to render the postal address on screen.
Based on an initial patch contributed by Markus M. May

Added:
    ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/party/GetPostalAddressTemplate.groovy   (with props)
    ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/
    ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress.ftl   (with props)
    ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress_USA.ftl   (with props)
Modified:
    ofbiz/trunk/applications/party/webapp/partymgr/party/profileblocks/Contact.ftl
    ofbiz/trunk/applications/party/widget/partymgr/PartyScreens.xml

Added: 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=1293204&view=auto
==============================================================================
--- ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/party/GetPostalAddressTemplate.groovy (added)
+++ ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/party/GetPostalAddressTemplate.groovy Fri Feb 24 12:12:00 2012
@@ -0,0 +1,33 @@
+/*
+ * 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.
+ */
+
+postalAddress = request.getAttribute("postalAddress");
+
+if (postalAddress && postalAddress.countryGeoId) {
+    postalAddressTemplate = "PostalAddress_" + postalAddress.countryGeoId + ".ftl";
+    file = new File(addressTemplatePath + postalAddressTemplate);
+    if (file.exists()) {
+        context.postalAddressTemplate = postalAddressTemplate;
+    }
+}
+if (!context.postalAddressTemplate) {
+    context.postalAddressTemplate = "PostalAddress.ftl";
+}
+
+context.postalAddress = postalAddress;

Propchange: ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/party/GetPostalAddressTemplate.groovy
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/party/GetPostalAddressTemplate.groovy
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/party/GetPostalAddressTemplate.groovy
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress.ftl?rev=1293204&view=auto
==============================================================================
--- ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress.ftl (added)
+++ ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress.ftl Fri Feb 24 12:12:00 2012
@@ -0,0 +1,43 @@
+<#--
+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.
+-->
+  <div>
+ <#if postalAddress.toName?has_content><b>${uiLabelMap.PartyAddrToName}:</b> ${postalAddress.toName}<br /></#if>
+ <#if postalAddress.attnName?has_content><b>${uiLabelMap.PartyAddrAttnName}:</b> ${postalAddress.attnName}<br /></#if>
+ ${postalAddress.address1?if_exists}<br />
+ <#if postalAddress.address2?has_content>${postalAddress.address2}<br /></#if>
+ ${postalAddress.city?if_exists},
+ <#if postalAddress.stateProvinceGeoId?has_content>
+  <#assign stateProvince = postalAddress.getRelatedOneCache("StateProvinceGeo")>
+  ${stateProvince.abbreviation?default(stateProvince.geoId)}
+ </#if>
+ ${postalAddress.postalCode?if_exists}
+ <#if postalAddress.countryGeoId?has_content><br />
+  <#assign country = postalAddress.getRelatedOneCache("CountryGeo")>
+  ${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>
+

Propchange: ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress.ftl
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress.ftl
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress.ftl
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: 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=1293204&view=auto
==============================================================================
--- ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress_USA.ftl (added)
+++ ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress_USA.ftl Fri Feb 24 12:12:00 2012
@@ -0,0 +1,40 @@
+<#--
+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.
+-->
+  <div>
+ <#if postalAddress.toName?has_content><b>${uiLabelMap.PartyAddrToName}:</b> ${postalAddress.toName}<br /></#if>
+ <#if postalAddress.attnName?has_content><b>${uiLabelMap.PartyAddrAttnName}:</b> ${postalAddress.attnName}<br /></#if>
+ ${postalAddress.address1?if_exists}<br />
+ <#if postalAddress.address2?has_content>${postalAddress.address2}<br /></#if>
+ ${postalAddress.city?if_exists},
+ <#if postalAddress.stateProvinceGeoId?has_content>
+  <#assign stateProvince = postalAddress.getRelatedOneCache("StateProvinceGeo")>
+  ${stateProvince.abbreviation?default(stateProvince.geoId)}
+ </#if>
+ ${postalAddress.postalCode?if_exists}
+ <#if postalAddress.countryGeoId?has_content><br />
+  <#assign country = postalAddress.getRelatedOneCache("CountryGeo")>
+  ${country.get("geoName", locale)?default(country.geoId)}
+ </#if>
+  </div>
+    <#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>

Propchange: ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress_USA.ftl
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress_USA.ftl
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/applications/party/webapp/partymgr/party/contactmechtemplates/PostalAddress_USA.ftl
------------------------------------------------------------------------------
    svn:mime-type = text/plain

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=1293204&r1=1293203&r2=1293204&view=diff
==============================================================================
--- ofbiz/trunk/applications/party/webapp/partymgr/party/profileblocks/Contact.ftl (original)
+++ ofbiz/trunk/applications/party/webapp/partymgr/party/profileblocks/Contact.ftl Fri Feb 24 12:12:00 2012
@@ -58,35 +58,9 @@ under the License.
                 </#list>
                 <#if "POSTAL_ADDRESS" = contactMech.contactMechTypeId>
                   <#if contactMechMap.postalAddress?has_content>
-                    <#assign postalAddress = contactMechMap.postalAddress>
-                  </#if>  
-                  <#if postalAddress?has_content>
-                  <div>
-                    <#if postalAddress.toName?has_content><b>${uiLabelMap.PartyAddrToName}:</b> ${postalAddress.toName}<br /></#if>
-                    <#if postalAddress.attnName?has_content><b>${uiLabelMap.PartyAddrAttnName}:</b> ${postalAddress.attnName}<br /></#if>
-                    ${postalAddress.address1?if_exists}<br />
-                    <#if postalAddress.address2?has_content>${postalAddress.address2}<br /></#if>
-                    ${postalAddress.city?if_exists},
-                    <#if postalAddress.stateProvinceGeoId?has_content>
-                      <#assign stateProvince = postalAddress.getRelatedOneCache("StateProvinceGeo")>
-                      ${stateProvince.abbreviation?default(stateProvince.geoId)}
-                    </#if>
-                    ${postalAddress.postalCode?if_exists}
-                    <#if postalAddress.countryGeoId?has_content><br />
-                      <#assign country = postalAddress.getRelatedOneCache("CountryGeo")>
-                      ${country.geoName?default(country.geoId)}
-                    </#if>
-                  </div>
-                  </#if>
-                  <#if postalAddress?has_content>
-                    <#if !postalAddress.countryGeoId?has_content || postalAddress.countryGeoId = "USA">
-                      <#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>
+                <#assign postalAddress = contactMechMap.postalAddress>
+                ${setRequestAttribute("postalAddress", postalAddress)}
+                ${screens.render("component://party/widget/partymgr/PartyScreens.xml#postalAddress")}
                     <#if postalAddress.geoPointId?has_content>
                       <#if contactMechPurposeType?has_content>
                         <#assign popUptitle = contactMechPurposeType.get("description",locale) + uiLabelMap.CommonGeoLocation>

Modified: ofbiz/trunk/applications/party/widget/partymgr/PartyScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/widget/partymgr/PartyScreens.xml?rev=1293204&r1=1293203&r2=1293204&view=diff
==============================================================================
--- ofbiz/trunk/applications/party/widget/partymgr/PartyScreens.xml (original)
+++ ofbiz/trunk/applications/party/widget/partymgr/PartyScreens.xml Fri Feb 24 12:12:00 2012
@@ -1254,4 +1254,21 @@ under the License.
             </widgets>
         </section>
     </screen>
+    <screen name="postalAddress">
+        <section>
+            <actions>
+                <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>
+                <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>
+                <platform-specific>
+                    <html>
+                        <html-template location="component://party/webapp/partymgr/party/contactmechtemplates/${postalAddressTemplate}"/>
+                    </html>
+                </platform-specific>
+            </widgets>
+        </section>
+    </screen>
 </screens>