Hi Hans,

Should we not close OFBIZ-2414 ? (I know it's a pain right now, just asking)

Thanks

Jacques

Author: hansbak
Date: Wed Sep 30 09:51:01 2009
New Revision: 820232

URL: http://svn.apache.org/viewvc?rev=820232&view=rev
Log:
fix for OFBIZ-2414: if a portlet is included more than once the links do not work, this fix will make these links unique. Sponsored By Antwebsystems Co.Ltd: employee Berm

Modified:
   ofbiz/trunk/framework/common/webcommon/portal/showPortalPage.ftl
   ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetWorker.java
   ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java
   ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ScreenRenderer.java

Modified: ofbiz/trunk/framework/common/webcommon/portal/showPortalPage.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/webcommon/portal/showPortalPage.ftl?rev=820232&r1=820231&r2=820232&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/webcommon/portal/showPortalPage.ftl (original)
+++ ofbiz/trunk/framework/common/webcommon/portal/showPortalPage.ftl Wed Sep 30 
09:51:01 2009
@@ -20,6 +20,7 @@
<#if portalPage?has_content>
<table width="100%">
  <tr>
+    <#assign renderSeq = 0/>
    <#list portalPageColumns?if_exists as portalPageColumn>
<td style="vertical-align: top; <#if portalPageColumn.columnWidthPercentage?has_content> width:${portalPageColumn.columnWidthPercentage}%;</#if>">
      <#assign firstInColumn = true/>
@@ -31,7 +32,9 @@
            ${setRequestAttribute("portalPortletId", portlet.portalPortletId)}
            ${setRequestAttribute("portletSeqId", portlet.portletSeqId)}
            ${screens.render(portlet.screenLocation, portlet.screenName)}
+            ${screens.setRenderFormUniqueSeq(renderSeq)}
            </div>
+            <#assign renderSeq = renderSeq+1/>
          </#if>
          <#assign firstInColumn = false/>
        </#if>

Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetWorker.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetWorker.java?rev=820232&r1=820231&r2=820232&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetWorker.java 
(original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetWorker.java Wed Sep 
30 09:51:01 2009
@@ -268,15 +268,19 @@
        ModelForm modelForm = modelFormField.getModelForm();
        Integer itemIndex = (Integer) context.get("itemIndex");
        String iterateId = "";
+        String formUniqueId = "";
        String formName = (String) context.get("formName");
        if (UtilValidate.isEmpty(formName)) {
            formName = modelForm.getName();
        }
        if (UtilValidate.isNotEmpty(context.get("iterateId"))) {
-        iterateId = (String) context.get("iterateId");
+            iterateId = (String) context.get("iterateId");
+        }
+        if (UtilValidate.isNotEmpty(context.get("formUniqueId"))) {
+            formUniqueId = (String) context.get("formUniqueId");
        }
        if (itemIndex != null) {
- return formName + modelForm.getItemIndexSeparator() + itemIndex.intValue() + iterateId + modelForm.getItemIndexSeparator() + modelFormField.getName(); + return formName + modelForm.getItemIndexSeparator() + itemIndex.intValue() + iterateId + formUniqueId + modelForm.getItemIndexSeparator() + modelFormField.getName();
        } else {
            return formName + modelForm.getItemIndexSeparator() + 
modelFormField.getName();
        }

Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java?rev=820232&r1=820231&r2=820232&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java 
(original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java Wed 
Sep 30 09:51:01 2009
@@ -1423,6 +1423,10 @@
                ModelFormAction.runSubActions(this.rowActions, localContext);

                localContext.put("itemIndex", Integer.valueOf(itemIndex - 
lowIndex));
+                if 
(UtilValidate.isNotEmpty(context.get("renderFormSeqNumber"))) {
+                    localContext.put("formUniqueId", 
"_"+context.get("renderFormSeqNumber"));
+                }
+
                this.resetBshInterpreter(localContext);

                if (Debug.verboseOn()) Debug.logVerbose("In form got another row, 
context is: " + localContext, module);

Modified: 
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ScreenRenderer.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ScreenRenderer.java?rev=820232&r1=820231&r2=820232&view=diff
==============================================================================
--- 
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ScreenRenderer.java 
(original)
+++ 
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ScreenRenderer.java 
Wed Sep 30 09:51:01 2009
@@ -73,6 +73,7 @@
    protected Appendable writer;
    protected MapStack<String> context;
    protected ScreenStringRenderer screenStringRenderer;
+    protected int renderFormSeqNumber = 0;

    public ScreenRenderer(Appendable writer, MapStack<String> context, 
ScreenStringRenderer screenStringRenderer) {
        this.writer = writer;
@@ -129,10 +130,15 @@
                writer.append(gwo.toString());
            }
        } else {
+            context.put("renderFormSeqNumber", 
String.valueOf(renderFormSeqNumber));
            modelScreen.renderScreenString(writer, context, 
screenStringRenderer);
        }
        return "";
    }
+
+    public void setRenderFormUniqueSeq (int renderFormSeqNumber) {
+        this.renderFormSeqNumber = renderFormSeqNumber;
+    }

    public ScreenStringRenderer getScreenStringRenderer() {
        return this.screenStringRenderer;




Reply via email to