You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by nm...@apache.org on 2015/05/28 23:42:41 UTC

svn commit: r1682345 - in /ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/form: MacroFormRenderer.java ModelFormField.java

Author: nmalin
Date: Thu May 28 21:42:40 2015
New Revision: 1682345

URL: http://svn.apache.org/r1682345
Log:
 Apply patch from OFBIZ-6415 renderTextFindField doesn't reselect operation dropdown or ignoreCase checkbox by christian carlow

Modified:
    ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java
    ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java

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=1682345&r1=1682344&r2=1682345&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 Thu May 28 21:42:40 2015
@@ -1746,7 +1746,7 @@ public class MacroFormRenderer implement
     public void renderTextFindField(Appendable writer, Map<String, Object> context, TextFindField textFindField) throws IOException {
         ModelFormField modelFormField = textFindField.getModelFormField();
 
-        String defaultOption = textFindField.getDefaultOption();
+        String defaultOption = textFindField.getDefaultOption(context);
         String className = "";
         String alert = "false";
         String opEquals = "";
@@ -1791,7 +1791,7 @@ public class MacroFormRenderer implement
         }
 
         String ignoreCase = UtilProperties.getMessage("conditional", "ignore_case", locale);
-        boolean ignCase = textFindField.getIgnoreCase();
+        boolean ignCase = textFindField.getIgnoreCase(context);
         boolean hideIgnoreCase = textFindField.getHideIgnoreCase();
         StringWriter sr = new StringWriter();
         sr.append("<@renderTextFindField ");

Modified: ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java?rev=1682345&r1=1682344&r2=1682345&view=diff
==============================================================================
--- ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java (original)
+++ ofbiz/branches/release12.04/framework/widget/src/org/ofbiz/widget/form/ModelFormField.java Thu May 28 21:42:40 2015
@@ -3456,6 +3456,19 @@ public class ModelFormField {
             return this.defaultOption;
         }
 
+        public String getDefaultOption(Map<String, Object> context) {
+            String defaultOption = getDefaultOption();
+
+            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)) {
+                    defaultOption = (String) parameters.get(fieldName.concat("_op"));
+                }
+            }
+            return defaultOption;
+        }
+
         public boolean getHideIgnoreCase() {
             return this.hideIgnoreCase;
         }
@@ -3464,6 +3477,19 @@ public class ModelFormField {
             return this.hideOptions;
         }
 
+        public boolean getIgnoreCase(Map<String, Object> context) {
+            Boolean ignoreCase = getIgnoreCase();
+
+            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)) {
+                    ignoreCase = "Y".equals((String) parameters.get(fieldName.concat("_ic")));
+                }
+            }
+            return ignoreCase;
+        }
+
         @Override
         public void renderFieldString(Appendable writer, Map<String, Object> context, FormStringRenderer formStringRenderer) throws IOException {
             formStringRenderer.renderTextFindField(writer, context, this);