app/soc/content/js/bulk-review-090304.js
changeset 2800 cd9eed2b787e
parent 1646 42b8e294792e
--- a/app/soc/content/js/bulk-review-090304.js	Tue Aug 25 15:55:26 2009 +0100
+++ b/app/soc/content/js/bulk-review-090304.js	Tue Aug 25 15:58:30 2009 +0100
@@ -1,99 +1,119 @@
-$(document).ready(function() {
-	$("#applications_progress_bar").progressBar({showText: false});
+jQuery(document).ready(function () {
+  jQuery("#applications_progress_bar").progressBar({showText: false});
 });
 
-function bulkReviewInit(bulk_review_link,button) {
-	// get the JSON object with details of every application for bulk acceptance
-	$.getJSON(bulk_review_link+"?_="+(new Date().getTime()),
-		function(data){
-			// If there are applications to review...
-			if (data.nr_applications != 0) {
-				//...then fade out the button, show the progress bar and call the function for review
-				$("[id^=button_bulk_]").fadeOut("slow",
-					function() {
-						$("#applications_progress_bar").progressBar(0);
-						$("#description_done").html("");
-						$("#applications_progress_bar").fadeIn("slow", bulkReview(data));
-					}
-				);
-			}else {
-				var no_organization_text="No organizations to ";
-				if ($(button).attr("id").indexOf("reject")!=-1) {
-					no_organization_text+="reject";
-				}
-				else {
-					no_organization_text+="accept";
-				}
-				$("#description_done").html("<strong>"+no_organization_text+"</strong>");
-			}
-		}
-	);
-}
+function bulkReview(data) {
+  // some global constants
+  var GLOBAL_LINK = data.link;
+  var TOTAL_APPLICATIONS = data.nr_applications;
 
-function bulkReview(data) {
-	// some global constants
-	var GLOBAL_LINK = data.link;
-	var TOTAL_APPLICATIONS = data.nr_applications;
-
-	// some global variables set needed for internal iteration
-	var application_index = 0;
-	// number of iteration is not taken from data.nr_applications
-	// to ensure avoidance of array out of bounds errors
-	var total_index = data.applications.length;
+  // some global variables set needed for internal iteration
+  var application_index = 0;
+  // number of iteration is not taken from data.nr_applications
+  // to ensure avoidance of array out of bounds errors
+  var total_index = data.applications.length;
 
 
-	// call immediately the function for review
-	// real iteration is inside
-	setTimeout(function(){
-		var error_happened = false;
+  // call immediately the function for review
+  // real iteration is inside
+  setTimeout(
+    function () {
+      var error_happened = false;
+      var application = data.applications[application_index];
+      var current_application = application_index + 1;
+      // regular expression to find a valid scope path
+      // inside matching parenthesis
+      var re = /\((\w*)\)/;
+      var scope_path = GLOBAL_LINK.match(re)[1];
+      // the URL is obtained by using the scope path found
+      // in the matching parenthesis
+      var url_to_call = GLOBAL_LINK.replace(re, application[scope_path]);
+      // now we can call the URL found
+      jQuery.ajax({
+        async: false,
+        cache: false,
+        url: url_to_call,
+        timeout: 10000,
+        success: function (data) {
+          if (data) {
+            // update progress bar percentage and description
+            var percentage =
+              Math.floor(100 * (current_application) / (TOTAL_APPLICATIONS));
+            jQuery("#description_progressbar").html([
+              " Processed application ", application.name,
+              " (", current_application, "/", TOTAL_APPLICATIONS, ")"
+            ].join(""));
+            jQuery("#applications_progress_bar").progressBar(percentage);
+          }
+        },
+        error: function (XMLHttpRequest, textStatus, errorThrown) {
+          // if there is an error return the button and
+          // leave a try again message
+          error_happened = true;
+          jQuery("[id^=button_bulk_]").fadeIn(
+            "slow",
+            function () {
+              jQuery("#description_done").html([
+                "<strong class='error'>",
+                "  Error encountered, try again",
+                "</strong>"
+              ].join(""));
+            }
+          );
+        }
+      });
+      // if there were no errors, continue the iteration
+      if (!error_happened) {
+        // prepare for new iteration and then recall this function
+        application_index++;
+        if (application_index < total_index) {
+          setTimeout(arguments.callee, 0);
+        }
+        else {
+          // all ok, tell the user we are done
+          jQuery("#applications_progress_bar").fadeOut(
+            "slow",
+            function () {
+              jQuery("#applications_progress_bar").progressBar(0);
+              jQuery("[id^=button_bulk_]").fadeIn("slow");
+            }
+          );
+          jQuery("#description_progressbar").html("");
+          jQuery("#description_done").html("<strong>Done!</strong>");
+        }
+      }
+    },
+    0
+  );
+}
 
-		var application = data.applications[application_index];
-		var current_application = application_index + 1;
-		// regular expression to find a valid scope path inside matching parenthesis
-		var re = /\((\w*)\)/;
-		var scope_path = GLOBAL_LINK.match(re)[1];
-		// the URL is obtained by using the scope path found in the matching parenthesis
-		var url_to_call = GLOBAL_LINK.replace(re, eval("application." + scope_path));
-		// now we can call the URL found
-		$.ajax({
-			async: false,
-			cache: false,
-			url: url_to_call,
-			timeout: 10000,
-			success: function(data) {
-				if (data) {
-					// update progress bar percentage and description
-					var percentage = Math.floor(100 * (current_application) / (TOTAL_APPLICATIONS));
-					$("#description_progressbar").html(" Processed application " + application.name + " (" + (current_application) + "/" + TOTAL_APPLICATIONS + ")");
-					$("#applications_progress_bar").progressBar(percentage);
-				}
-			},
-			error: function(XMLHttpRequest, textStatus, errorThrown) {
-				// if there is an error return the button and leave a try again message
-				error_happened = true;
-				$("[id^=button_bulk_]").fadeIn("slow", function() {
-					$("#description_done").html("<strong class='error'> Error encountered, try again</strong>");
-				});
-			}
-		});
-		// if there were no errors, continue the iteration
-		if (!error_happened) {
-			// prepare for new iteration and then recall this function
-			application_index++;
-			if (application_index < total_index) {
-				setTimeout(arguments.callee, 0);
-			}
-			else {
-				// all ok, tell the user we are done
-				$("#applications_progress_bar").fadeOut("slow",
-					function() {
-						$("#applications_progress_bar").progressBar(0);
-						$("[id^=button_bulk_]").fadeIn("slow");
-					}
-				);
-				$("#description_progressbar").html("");
-				$("#description_done").html("<strong>Done!</strong>");
-			}
-		}
-	},0);
+function bulkReviewInit(bulk_review_link, button) {
+  // get the JSON object with details of every application for bulk acceptance
+  jQuery.getJSON(
+    bulk_review_link + "?_=" + (new Date().getTime()),
+    function (data) {
+      // If there are applications to review...
+      if (data.nr_applications !== 0) {
+        //...then fade out the button, show the progress bar and call the function for review
+        jQuery("[id^=button_bulk_]").fadeOut(
+          "slow",
+          function () {
+            jQuery("#applications_progress_bar").progressBar(0);
+            jQuery("#description_done").html("");
+            jQuery("#applications_progress_bar").fadeIn("slow", bulkReview(data));
+          }
+        );
+      }
+      else {
+        var no_organization_text = "No organizations to ";
+        if (jQuery(button).attr("id").indexOf("reject") !== -1) {
+          no_organization_text += "reject";
+        }
+        else {
+          no_organization_text += "accept";
+        }
+        jQuery("#description_done").html("<strong>" + no_organization_text + "</strong>");
+      }
+    }
+  );
 }