From b1029529aa72862f8c835523db440d87d5a7bde9 Mon Sep 17 00:00:00 2001 From: Sheena Date: Mon, 17 Mar 2014 21:05:17 +0530 Subject: [PATCH 1/3] Tried to fix issue 179 Signed-off-by: Sheena --- files/usr/share/commotion/patches/cbi.js.patch | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 files/usr/share/commotion/patches/cbi.js.patch diff --git a/files/usr/share/commotion/patches/cbi.js.patch b/files/usr/share/commotion/patches/cbi.js.patch new file mode 100644 index 0000000..31ce4a6 --- /dev/null +++ b/files/usr/share/commotion/patches/cbi.js.patch @@ -0,0 +1,17 @@ +--- cbi.js 2014-03-17 20:48:16.330196722 +0530 ++++ cbi-179.js 2014-03-17 20:48:06.050196901 +0530 +@@ -993,6 +993,14 @@ + if (!(((value.length == 0) && optional) || vstack[0].apply(value, vstack[1]))) + { + // invalid ++ var errorId = field.id; //ID of invalid field ++ var allElements = document.getElementsByTagName('label'); //get all the labels, ++ for (var i = 0; i < allElements.length; i++){ //for all the labels ++ if (allElements[i].getAttribute('for') == errorId){ //get the label whose input is invalid ++ alert(allElements[i].innerHTML + " field is invalid."); //and create alert with its Value ++ break; ++ } ++ } + field.className += ' cbi-input-invalid'; + return false; + } From 0cf0f1c6a9ca16fe38e93968c8934ecc6d8de2ce Mon Sep 17 00:00:00 2001 From: Sheena Date: Tue, 18 Mar 2014 00:03:02 +0530 Subject: [PATCH 2/3] Changed the patch for issue 179 (generating errors on every click) Signed-off-by: Sheena --- .../usr/share/commotion/patches/cbi.js.patch | 34 +++++++++++++++---- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/files/usr/share/commotion/patches/cbi.js.patch b/files/usr/share/commotion/patches/cbi.js.patch index 31ce4a6..7264a68 100644 --- a/files/usr/share/commotion/patches/cbi.js.patch +++ b/files/usr/share/commotion/patches/cbi.js.patch @@ -1,16 +1,38 @@ --- cbi.js 2014-03-17 20:48:16.330196722 +0530 -+++ cbi-179.js 2014-03-17 20:48:06.050196901 +0530 -@@ -993,6 +993,14 @@ ++++ cbi-179.js 2014-03-17 23:49:05.034010209 +0530 +@@ -14,6 +14,7 @@ + var cbi_d = []; + var cbi_t = []; + var cbi_c = []; ++var invalidField = []; + + var cbi_validators = { + +@@ -878,8 +879,11 @@ + { + var validator = form.cbi_validators[i]; + if( !validator() && errmsg ) +- { +- alert(errmsg); ++ { ++ var invalidString = ""; // string that contains the names of invalid fields ++ for (var j=0; j < invalidField.length; j++) ++ invalidString = invalidString + ", " + invalidField[j]; //appending the output string ++ alert(invalidString + " fields are invalid."); //and create alert with its Value + return false; + } + } +@@ -993,6 +997,14 @@ if (!(((value.length == 0) && optional) || vstack[0].apply(value, vstack[1]))) { // invalid ++ invalidField.length=0; //flushing the list of invalid fields to avoid duplicates + var errorId = field.id; //ID of invalid field + var allElements = document.getElementsByTagName('label'); //get all the labels, + for (var i = 0; i < allElements.length; i++){ //for all the labels -+ if (allElements[i].getAttribute('for') == errorId){ //get the label whose input is invalid -+ alert(allElements[i].innerHTML + " field is invalid."); //and create alert with its Value -+ break; -+ } ++ if (allElements[i].getAttribute('for') == errorId){ //get the label whose input is invalid ++ invalidField.push(allElements[i].innerHTML); //pushing to the array invalidField ++ } + } field.className += ' cbi-input-invalid'; return false; From 0d20e943a6fbaab70a24e6b16fb6def5da984069 Mon Sep 17 00:00:00 2001 From: Sheena Date: Tue, 18 Mar 2014 02:41:17 +0530 Subject: [PATCH 3/3] Fixed the issue 179 Signed-off-by: Sheena --- .../usr/share/commotion/patches/cbi.js.patch | 34 +++++++++++++------ 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/files/usr/share/commotion/patches/cbi.js.patch b/files/usr/share/commotion/patches/cbi.js.patch index 7264a68..362bb36 100644 --- a/files/usr/share/commotion/patches/cbi.js.patch +++ b/files/usr/share/commotion/patches/cbi.js.patch @@ -1,37 +1,51 @@ --- cbi.js 2014-03-17 20:48:16.330196722 +0530 -+++ cbi-179.js 2014-03-17 23:49:05.034010209 +0530 ++++ cbi-179.js 2014-03-18 02:37:05.911493465 +0530 @@ -14,6 +14,7 @@ var cbi_d = []; var cbi_t = []; var cbi_c = []; -+var invalidField = []; ++var invalid_field = []; var cbi_validators = { -@@ -878,8 +879,11 @@ +@@ -878,8 +879,25 @@ { var validator = form.cbi_validators[i]; if( !validator() && errmsg ) - { - alert(errmsg); + { -+ var invalidString = ""; // string that contains the names of invalid fields -+ for (var j=0; j < invalidField.length; j++) -+ invalidString = invalidString + ", " + invalidField[j]; //appending the output string -+ alert(invalidString + " fields are invalid."); //and create alert with its Value ++ var invalid_string = ""; // string that contains the names of invalid fields ++ var is_multiple_invalid_field = false; // to track if there are multiple invalid fields ++ for (var j=0; j < invalid_field.length; j++){ ++ if (invalid_string == ""){ ++ invalid_string = invalid_field[j]; ++ } ++ else{ ++ invalid_string = invalid_string + ", " + invalid_field[j]; //appending the output string ++ is_multiple_invalid_field = true; ++ } ++ } ++ if(is_multiple_invalid_field){ ++ alert(invalid_string + " fields are invalid.") ++ } ++ else{ ++ alert(invalid_string + " field is invalid."); //and create alert with its Value ++ } ++ return false; } } -@@ -993,6 +997,14 @@ +@@ -993,6 +1011,14 @@ if (!(((value.length == 0) && optional) || vstack[0].apply(value, vstack[1]))) { // invalid -+ invalidField.length=0; //flushing the list of invalid fields to avoid duplicates ++ invalid_field.length=0; //flushing the list of invalid fields to avoid duplicates + var errorId = field.id; //ID of invalid field + var allElements = document.getElementsByTagName('label'); //get all the labels, + for (var i = 0; i < allElements.length; i++){ //for all the labels + if (allElements[i].getAttribute('for') == errorId){ //get the label whose input is invalid -+ invalidField.push(allElements[i].innerHTML); //pushing to the array invalidField ++ invalid_field.push(allElements[i].innerHTML); //pushing to the array invalid_field + } + } field.className += ' cbi-input-invalid';