Author: jleroux
Date: Sat Mar 14 10:29:14 2015
New Revision: 1666648

URL: http://svn.apache.org/r1666648
Log:
A patch from Taher Alkhateeb for "date-find in form widget does not persist 
value" https://issues.apache.org/jira/browse/OFBIZ-5074

Any search form that calls "performFind" and has a "date-find" tag will not 
persist but it will give correct search results. 

For example, If I go to Order -> Requests and search using any of the date 
fields, the result will be correct but the field will be blank upon returning 
results. This behavior affects only dates.

I suspect the main offender here is a bug in performFind service or one of the 
services it calls (prepareFind or executeFind). I believe that the 
"queryStringMap" does not contain the date-find fields in its returned value. I 
did not look heavily into the code but I think "fld" types are not persisted 
in-between requests.

jleroux: this is a R12.04 specific patch

Modified:
    
ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java
    
ofbiz/branches/release12.04/framework/widget/templates/htmlFormMacroLibrary.ftl

Modified: 
ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java
URL: 
http://svn.apache.org/viewvc/ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java?rev=1666648&r1=1666647&r2=1666648&view=diff
==============================================================================
--- 
ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java
 (original)
+++ 
ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java
 Sat Mar 14 10:29:14 2015
@@ -1995,6 +1995,15 @@ public class MacroFormRenderer implement
         if (value2 == null) {
             value2 = "";
         }
+        if(context.containsKey("parameters")){
+            Map<String, Object>parameters = (Map<String, 
Object>)context.get("parameters");
+            if(parameters.containsKey(name + "_fld0_value")){
+                value = (String)parameters.get(name + "_fld0_value");   
+            }
+            if(parameters.containsKey(name + "_fld1_value")){
+                value2 = (String)parameters.get(name + "_fld1_value");  
+            }  
+        }
         String titleStyle = "";
         if (UtilValidate.isNotEmpty(modelFormField.getTitleStyle())) {
             titleStyle = modelFormField.getTitleStyle();
@@ -2012,6 +2021,8 @@ public class MacroFormRenderer implement
         sr.append(localizedInputTitle);
         sr.append("\" value=\"");
         sr.append(value);
+        sr.append("\" value2=\"");
+        sr.append(value2);
         sr.append("\" size=\"");
         sr.append(Integer.toString(size));
         sr.append("\" maxlength=\"");

Modified: 
ofbiz/branches/release12.04/framework/widget/templates/htmlFormMacroLibrary.ftl
URL: 
http://svn.apache.org/viewvc/ofbiz/branches/release12.04/framework/widget/templates/htmlFormMacroLibrary.ftl?rev=1666648&r1=1666647&r2=1666648&view=diff
==============================================================================
--- 
ofbiz/branches/release12.04/framework/widget/templates/htmlFormMacroLibrary.ftl 
(original)
+++ 
ofbiz/branches/release12.04/framework/widget/templates/htmlFormMacroLibrary.ftl 
Sat Mar 14 10:29:14 2015
@@ -465,7 +465,7 @@ ${item.description}</span>
 </#if><#if titleStyle?has_content></span></#if>
 </#macro>
 
-<#macro renderDateFindField className alert name localizedInputTitle value 
size maxlength dateType formName defaultDateTimeString imgSrc 
localizedIconTitle titleStyle defaultOptionFrom defaultOptionThru opEquals 
opSameDay opGreaterThanFromDayStart opGreaterThan opGreaterThan opLessThan 
opUpToDay opUpThruDay opIsEmpty>
+<#macro renderDateFindField className alert name localizedInputTitle value 
value2 size maxlength dateType formName defaultDateTimeString imgSrc 
localizedIconTitle titleStyle defaultOptionFrom defaultOptionThru opEquals 
opSameDay opGreaterThanFromDayStart opGreaterThan opGreaterThan opLessThan 
opUpToDay opUpThruDay opIsEmpty>
 <span class="view-calendar">
 <input id="${name?html}_fld0_value" type="text" <@renderClass className alert 
/><#if name?has_content> name="${name?html}_fld0_value"</#if><#if 
localizedInputTitle?has_content> title="${localizedInputTitle}"</#if><#if 
value?has_content> value="${value}"</#if><#if size?has_content> 
size="${size}"</#if><#if maxlength?has_content> 
maxlength="${maxlength}"</#if>/><#rt/>
 <#if dateType != "time">


Reply via email to