[rhmessaging-commits] rhmessaging commits: r3140 - in mgmt/trunk: wooly/python/wooly and 1 other directory.

rhmessaging-commits at lists.jboss.org rhmessaging-commits at lists.jboss.org
Thu Mar 5 16:22:19 EST 2009


Author: eallen
Date: 2009-03-05 16:22:19 -0500 (Thu, 05 Mar 2009)
New Revision: 3140

Modified:
   mgmt/trunk/cumin/python/cumin/binding.py
   mgmt/trunk/wooly/python/wooly/forms.strings
Log:
Fix for when there are more than one set of Submit/Cancel buttons on the page.

Modified: mgmt/trunk/cumin/python/cumin/binding.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/binding.py	2009-03-05 20:46:28 UTC (rev 3139)
+++ mgmt/trunk/cumin/python/cumin/binding.py	2009-03-05 21:22:19 UTC (rev 3140)
@@ -332,30 +332,50 @@
         for exchange in form_binding_info:
             type = form_binding_info[exchange]["type"]
             if (type == "topic") or (type == "direct"):
-                if not "key" in form_binding_info[exchange]:
+                try:
+                    val = form_binding_info[exchange]["key"]
+                    if not val:
+                        raise KeyError
+                except KeyError:
                     name = form_binding_info[exchange]["name"]
                     errs = berrs.setdefault(name, list())
                     errs.append("A binding key is required")
             elif type == "headers":
-                if not "key" in form_binding_info[exchange]:
+                try:
+                    val = form_binding_info[exchange]["key"]
+                    if not val:
+                        raise KeyError
+                except KeyError:
                     name = form_binding_info[exchange]["name"]
                     errs = berrs.setdefault(name, dict())
                     errs["key"] = ["A binding key is required"]
                 for key_num in ("1", "2", "3"):
                     mkey = "mkey."+key_num
                     mkeynv = mkey+".nv"
-                    if mkeynv in binding_info[exchange]:
-                        if not mkey in binding_info[exchange]:
+                    if mkeynv in binding_info[exchange] and binding_info[exchange][mkeynv]:
+                        try:
+                            val = binding_info[exchange][mkey]
+                            if not val:
+                                raise KeyError
+                        except KeyError:
                             name = binding_info[exchange]["name"]
                             if not name in berrs:
                                 berrs.setdefault(name, dict())
                             berrs[name][mkey] = ["Missing key"]
             elif type == "xml":
-                if not "key" in form_binding_info[exchange]:
+                try:
+                    val = form_binding_info[exchange]["key"]
+                    if not val:
+                        raise KeyError
+                except KeyError:
                     name = form_binding_info[exchange]["name"]
                     errs = berrs.setdefault(name, dict())
                     errs["key"] = ["A binding key is required"]
-                if not "xquery" in binding_info[exchange]:
+                try:
+                    val = binding_info[exchange]["xquery"]
+                    if not val:
+                        raise KeyError
+                except KeyError:
                     name = binding_info[exchange]["name"]
                     if not name in berrs:
                         berrs.setdefault(name, dict())
@@ -379,7 +399,7 @@
 
                 form_binding_info[this_exchange] = dict()
                 form_binding_info[this_exchange]["name"] = binding_info[this_exchange]["name"]
-                if "key" in binding_info[this_exchange]:
+                if "key" in binding_info[this_exchange] and binding_info[this_exchange]["key"]:
                     form_binding_info[this_exchange]["key"] = binding_info[this_exchange]["key"]
                 form_binding_info[this_exchange]["type"] = type
 

Modified: mgmt/trunk/wooly/python/wooly/forms.strings
===================================================================
--- mgmt/trunk/wooly/python/wooly/forms.strings	2009-03-05 20:46:28 UTC (rev 3139)
+++ mgmt/trunk/wooly/python/wooly/forms.strings	2009-03-05 21:22:19 UTC (rev 3140)
@@ -12,17 +12,22 @@
 
 [FormButton.javascript]
 // needed because IE will send the content instead of the value for form buttons
-function click_button(id, value) {
-    var oHidden = document.getElementById(id);
-    if (oHidden) {
+function click_button(name, value) {
+    var oHidden = document.forms[0].elements[name];
+    // in case there is more than one submit or cancel button
+    if (oHidden.length > 1) {
+        for (var i=0; i<oHidden.length; i++) {
+            oHidden[i].value = value;
+        }
+    } else {
         oHidden.value = value;
     }
     return true;
 }
 
 [FormButton.html]
-<button class="{class}" type="{type}" tabindex="{tab_index}" {disabled_attr} onclick="return {onclick}('{id}', '{value}')">{content}</button>
-<input type="hidden" id="{id}" name="{name}" value="" />
+<button class="{class}" type="{type}" tabindex="{tab_index}" {disabled_attr} onclick="return {onclick}('{name}', '{value}')">{content}</button>
+<input type="hidden" name="{name}" value="" />
 
 [ScalarInput.html]
 <input type="text" name="{name}" value="{value}" tabindex="{tab_index}" {disabled_attr} size="{size}"/>




More information about the rhmessaging-commits mailing list