Author: nmalin
Date: Fri May 29 13:34:49 2015 New Revision: 1682460 URL: http://svn.apache.org/r1682460 Log: Correct the persistance value and option lost on date-find field after the search, this correction come from OFBiz-5074 by Taher Alkhateeb (backported on 13.07 through OFBIZ-6430) and OFBIZ-6417 renderDateFindField doesn't reselect operation by Christian Carlow Modified: ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java ofbiz/branches/release13.07/framework/widget/templates/htmlFormMacroLibrary.ftl Modified: ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java URL: http://svn.apache.org/viewvc/ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java?rev=1682460&r1=1682459&r2=1682460&view=diff ============================================================================== --- ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java (original) +++ ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java Fri May 29 13:34:49 2015 @@ -1896,18 +1896,34 @@ public class MacroFormRenderer implement String formName = ""; String defaultDateTimeString = ""; StringBuilder imgSrc = new StringBuilder(); + // add calendar pop-up button and seed data IF this is not a "time" type date-find if (!"time".equals(dateFindField.getType())) { formName = modelFormField.getModelForm().getCurrentFormName(context); defaultDateTimeString = UtilHttp.encodeBlanks(modelFormField.getEntry(context, dateFindField.getDefaultDateTimeString(context))); this.appendContentUrl(imgSrc, "/images/cal.gif"); } - String defaultOptionFrom = dateFindField.getDefaultOptionFrom(); - String defaultOptionThru = dateFindField.getDefaultOptionThru(); + String defaultOptionFrom = dateFindField.getDefaultOptionFrom(context); + String defaultOptionThru = dateFindField.getDefaultOptionThru(context); String value2 = modelFormField.getEntry(context); if (value2 == null) { value2 = ""; } + + //check if values are present on parameters (from a previous search) + if (context.containsKey("parameters")) { + Map<String, Object> parameters = UtilGenerics.checkMap(context.get("parameters")); + if (name != null) { + String nameValue0 = name.concat("_fld0_value"); + if (parameters.containsKey(nameValue0)) { + value = (String)parameters.get(nameValue0); + } + String nameValue1 = name.concat("_fld1_value"); + if (parameters.containsKey(nameValue1)) { + value2 = (String)parameters.get(nameValue1); + } + } + } String titleStyle = ""; if (UtilValidate.isNotEmpty(modelFormField.getTitleStyle())) { titleStyle = modelFormField.getTitleStyle(); @@ -1924,6 +1940,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/release13.07/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java URL: http://svn.apache.org/viewvc/ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java?rev=1682460&r1=1682459&r2=1682460&view=diff ============================================================================== --- ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java (original) +++ ofbiz/branches/release13.07/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java Fri May 29 13:34:49 2015 @@ -3528,9 +3528,35 @@ public class ModelFormField { return this.defaultOptionFrom; } + public String getDefaultOptionFrom(Map<String, Object> context) { + String defaultOption = getDefaultOptionFrom(); + + Map<String, Object> parameters = UtilGenerics.checkMap(context.get("parameters"), String.class, Object.class); + if (UtilValidate.isNotEmpty(parameters)) { + String fieldName = this.getModelFormField().getName(); + if (parameters.containsKey(fieldName.concat("_fld0_value"))){ + defaultOption = (String)parameters.get(fieldName.concat("_fld0_op")); + } + } + return defaultOption; + } + public String getDefaultOptionThru() { return this.defaultOptionThru; } + + public String getDefaultOptionThru(Map<String, Object> context) { + String defaultOption = getDefaultOptionThru(); + + Map<String, Object> parameters = UtilGenerics.checkMap(context.get("parameters"), String.class, Object.class); + if (UtilValidate.isNotEmpty(parameters)) { + String fieldName = this.getModelFormField().getName(); + if( parameters.containsKey(fieldName.concat("_fld1_value"))) { + defaultOption = (String)parameters.get(fieldName.concat("_fld1_op")); + } + } + return defaultOption; + } } public static class RangeFindField extends TextField { Modified: ofbiz/branches/release13.07/framework/widget/templates/htmlFormMacroLibrary.ftl URL: http://svn.apache.org/viewvc/ofbiz/branches/release13.07/framework/widget/templates/htmlFormMacroLibrary.ftl?rev=1682460&r1=1682459&r2=1682460&view=diff ============================================================================== --- ofbiz/branches/release13.07/framework/widget/templates/htmlFormMacroLibrary.ftl (original) +++ ofbiz/branches/release13.07/framework/widget/templates/htmlFormMacroLibrary.ftl Fri May 29 13:34:49 2015 @@ -479,7 +479,7 @@ under the License. </#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"> |
Free forum by Nabble | Edit this page |