svn commit: r1155240 - in /ofbiz/trunk: applications/product/src/org/ofbiz/product/category/ specialpurpose/ecommerce/webapp/ecommerce/catalog/ specialpurpose/ecommerce/webapp/ecommerce/order/

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

svn commit: r1155240 - in /ofbiz/trunk: applications/product/src/org/ofbiz/product/category/ specialpurpose/ecommerce/webapp/ecommerce/catalog/ specialpurpose/ecommerce/webapp/ecommerce/order/

hansbak-2
Author: hansbak
Date: Tue Aug  9 07:28:04 2011
New Revision: 1155240

URL: http://svn.apache.org/viewvc?rev=1155240&view=rev
Log:
add three optional parameters to the macro: <@ofbizUrl fullPath=true encode=false secure=false> which are pretty self explanatory and are needed to generate a proper url within emails

Modified:
    ofbiz/trunk/applications/product/src/org/ofbiz/product/category/OfbizCatalogAltUrlTransform.java
    ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/catalog/productdetail.ftl
    ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/catalog/tellafriend.ftl
    ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/order/orderitems.ftl

Modified: ofbiz/trunk/applications/product/src/org/ofbiz/product/category/OfbizCatalogAltUrlTransform.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/product/category/OfbizCatalogAltUrlTransform.java?rev=1155240&r1=1155239&r2=1155240&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/src/org/ofbiz/product/category/OfbizCatalogAltUrlTransform.java (original)
+++ ofbiz/trunk/applications/product/src/org/ofbiz/product/category/OfbizCatalogAltUrlTransform.java Tue Aug  9 07:28:04 2011
@@ -25,6 +25,7 @@ import java.util.Map;
 import javax.servlet.http.HttpServletRequest;
 
 import org.ofbiz.base.util.UtilValidate;
+import org.ofbiz.webapp.control.RequestHandler;
 
 import freemarker.core.Environment;
 import freemarker.ext.beans.BeanModel;
@@ -53,11 +54,27 @@ public class OfbizCatalogAltUrlTransform
         return null;
     }
 
+    public boolean checkArg(Map args, String key, boolean defaultValue) {
+        if (!args.containsKey(key)) {
+            return defaultValue;
+        } else {
+            Object o = args.get(key);
+            if (o instanceof SimpleScalar) {
+                SimpleScalar s = (SimpleScalar) o;
+                return "true".equalsIgnoreCase(s.getAsString());
+            }
+            return defaultValue;
+        }
+    }
+
     @Override
     @SuppressWarnings("unchecked")
     public Writer getWriter(final Writer out, final Map args)
             throws TemplateModelException, IOException {
         final StringBuilder buf = new StringBuilder();
+        final boolean fullPath = checkArg(args, "fullPath", false);
+        final boolean secure = checkArg(args, "secure", false);
+
         return new Writer(out) {
             
             public void write(char[] cbuf, int off, int len) throws IOException {
@@ -79,6 +96,7 @@ public class OfbizCatalogAltUrlTransform
                     
                     HttpServletRequest request = (HttpServletRequest) req.getWrappedObject();
                     String url = "";
+                    StringBuilder newURL = new StringBuilder();
                     if (UtilValidate.isNotEmpty(productId)) {
                         url = CatalogUrlFilter.makeProductUrl(request, previousCategoryId, productCategoryId, productId);
                     } else {
@@ -88,7 +106,13 @@ public class OfbizCatalogAltUrlTransform
                         String searchString = getStringArg(args, "searchString");
                         url = CatalogUrlFilter.makeCategoryUrl(request, previousCategoryId, productCategoryId, productId, viewSize, viewIndex, viewSort, searchString);
                     }
-                    out.write(url);
+                    // make the link
+                    if (fullPath){
+                        String serverRootUrl = RequestHandler.getDefaultServerRootUrl(request, secure);
+                        newURL.append(serverRootUrl);
+                    }
+                    newURL.append(url);
+                    out.write(newURL.toString());
                 }
                 } catch (TemplateModelException e) {
                     throw new IOException(e.getMessage());

Modified: ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/catalog/productdetail.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/catalog/productdetail.ftl?rev=1155240&r1=1155239&r2=1155240&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/catalog/productdetail.ftl (original)
+++ ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/catalog/productdetail.ftl Tue Aug  9 07:28:04 2011
@@ -522,7 +522,7 @@ ${virtualVariantJavaScript?if_exists}
           <#-- show tell a friend details only in ecommerce application -->
           <div>&nbsp;</div>
           <div>
-              <a href="javascript:popUpSmall('<@ofbizUrl>tellafriend?productId=${product.productId}</@ofbizUrl>','tellafriend');" class="buttontext">${uiLabelMap.CommonTellAFriend}</a>
+              <a href="javascript:popUpSmall('<@ofbizUrl>tellafriend?productId=${product.productId}<#if categoryId?exists>&categoryId=${categoryId}/</#if></@ofbizUrl>','tellafriend');" class="buttontext">${uiLabelMap.CommonTellAFriend}</a>
           </div>
     
           <#if disFeatureList?exists && 0 &lt; disFeatureList.size()>

Modified: ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/catalog/tellafriend.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/catalog/tellafriend.ftl?rev=1155240&r1=1155239&r2=1155240&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/catalog/tellafriend.ftl (original)
+++ ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/catalog/tellafriend.ftl Tue Aug  9 07:28:04 2011
@@ -23,13 +23,11 @@ under the License.
 </head>
 <body class="ecbody">
     <form name="tellafriend" action="<@ofbizUrl>emailFriend</@ofbizUrl>" method="post">
-      <#if requestParameters.productId?exists>
-        <input type="hidden" name="pageUrl" value="<@ofbizUrl fullPath="true" encode="false" secure="false">/product?product_id=${requestParameters.productId}</@ofbizUrl>" />
-      <#elseif requestParameters.categoryId?exists>
-        <input type="hidden" name="pageUrl" value="<@ofbizUrl fullPath="true" encode="false" secure="false">/category?category_id=${requestParameters.categoryId}</@ofbizUrl>" />
-      <#else>
-        <#assign cancel = "Y">
-      </#if>
+        <#if (requestParameters.productId)?exists || (requestParameters.productId)?exists>
+            <input type="hidden" name="pageUrl" value="<@ofbizCatalogAltUrl fullPath="true" secure="false" productCategoryId=requestParameters.categoryId!"" productId=requestParameters.productId!""/>" />
+        <#else>
+            <#assign cancel = "Y">
+        </#if>
       <#if !cancel?exists>
         <table>
           <tr>

Modified: ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/order/orderitems.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/order/orderitems.ftl?rev=1155240&r1=1155239&r2=1155240&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/order/orderitems.ftl (original)
+++ ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/order/orderitems.ftl Tue Aug  9 07:28:04 2011
@@ -122,7 +122,7 @@ under the License.
         <#else>
           <#assign product = orderItem.getRelatedOneCache("Product")?if_exists/> <#-- should always exist because of FK constraint, but just in case -->
           <td >
-            <a href="<@ofbizUrl fullPath="true">product?product_id=${orderItem.productId}</@ofbizUrl>" class="linktext">${orderItem.productId} - ${orderItem.itemDescription?default("")}</a>
+            <a href="<@ofbizCatalogAltUrl fullPath="true" secure="false" productId=orderItem.productId/>" class="linktext">${orderItem.productId} - ${orderItem.itemDescription?default("")}</a>
             <#if product?has_content>
               <#if product.piecesIncluded?exists && product.piecesIncluded?long != 0>
                   [${uiLabelMap.OrderPieces}: ${product.piecesIncluded}]