# HG changeset patch # User Lennard de Rijk # Date 1241825841 -7200 # Node ID 7b281ac17abd290904f922b7eb0493b780eb68dd # Parent fd14daa4b45a9f9422f77f916a4332873ea427d1 Renamed duplicate slots because of recent changes. diff -r fd14daa4b45a -r 7b281ac17abd app/soc/content/js/duplicate-slots-090331.js --- a/app/soc/content/js/duplicate-slots-090331.js Sat May 09 01:36:22 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,191 +0,0 @@ -var duplicateSlots = new function() { - // this variable will contain all the org details, and filled - // incrementally - var orgs_details = {}; - // this variable will contain all student/proposal data details, - // filled incrementally - var assigned_proposals = new Array(); - - // public function to begin iterating load of JSONs and then call printing - // of duplicates - - this.showDuplicatesInit = function() { - - html_string = ''; - // Remember this object for Javascript scoping - var this_object = this; - var NUMBER_OF_ORGS = number_of_orgs; - var OFFSET_LENGTH = offset_length; - // Variables to handle progress bar updating - var ITERATIONS = (number_of_orgs % offset_length)==0 ? Math.floor(number_of_orgs/offset_length) : Math.floor(number_of_orgs/offset_length)+1; - - if (ITERATIONS==0) { - $("#div_duplicate_slots").html("No org slots to process"); - return; - } - - var successful_calls = 0; - - $("#id_button_duplicate_slots").fadeOut("slow", - function() { - $("#duplicates_progress_bar").progressBar(0); - $("#description_done").html(""); - // For every ajax success, bind this function to update user feedback - $(this).bind("ajaxSuccess", function() { - successful_calls++; - var percentage = Math.floor(100 * (successful_calls) / (ITERATIONS)); - $("#duplicates_progress_bar").progressBar(percentage); - $("#description_progressbar").html(" Processed orgs chunk " + (successful_calls) + "/" + ITERATIONS); - // If this is the last call, feedback the user and print the duplicates data - if (successful_calls==ITERATIONS) { - $("#applications_progress_bar").fadeOut("slow", - function() { - $("#duplicates_progress_bar").progressBar(0); - $("#id_button_duplicate_slots").fadeIn("slow"); - } - ); - $("#description_progressbar").html(""); - $("#description_done").html(" Done!"); - $("#duplicates_progress_bar").fadeOut("slow", - function() { - $("#id_button_duplicate_slots").val("Recalculate").fadeIn("slow", - function() { - // Call printing to HTML function with correct scope - printDuplicatesAndSendJSON.call(this_object); - } - ); - } - ); - } - }); - // Call the showDuplicates function for the first time with correct scope - $("#duplicates_progress_bar").fadeIn("slow", showDuplicates.apply(this_object,[url_to_query,OFFSET_LENGTH,NUMBER_OF_ORGS])); - } - ); - } - - function showDuplicates(url_to_query,OFFSET_LENGTH,NUMBER_OF_ORGS) { - var current_offset = 0; - orgs_details = {}; - assigned_proposals = new Array(); - - // Here Ajax call is handled - setTimeout(function() { - $.ajax({ - cache:false, - mode: "sync", - type: "GET", - timeout: 1000000, - dataType: "json", - url: "/program/assigned_proposals/"+url_to_query+"?limit="+OFFSET_LENGTH+"&offset="+current_offset, - success: function (data, textStatus) { - if (data) { - // Load JSON data - loadSingleJSONData(data); - } - }, - error: function(XMLHttpRequest, textStatus, errorThrown) { - // if there is an error return the button and leave a try again message - if (XMLHttpRequest!=undefined) { - $("#id_button_duplicate_slots").fadeIn("slow", function() { - $("#description_done").html(" Error encountered, try again"); - }); - } - } - }); - current_offset+=OFFSET_LENGTH; - if (current_offsetNo duplicate slots found"); - } - // at the end, send the JSON for caching purposes - $.ajax({ - url: location.href, - type: 'POST', - processData: true, - data: {result: JSON.stringify(to_json)}, - contentType: 'application/json', - dataType: 'json', - }); - } - - // public function to output actual HTML out of the data (cached or not) - this.showDuplicatesHtml = function(orgs_details,student,student_key,proposals) { - if (html_string == '') { - $("#div_duplicate_slots").html(''); - html_string=''; - $("#div_duplicate_slots").html(html_string); - } -} diff -r fd14daa4b45a -r 7b281ac17abd app/soc/content/js/duplicate-slots-090505.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/soc/content/js/duplicate-slots-090505.js Sat May 09 01:37:21 2009 +0200 @@ -0,0 +1,191 @@ +var duplicateSlots = new function() { + // this variable will contain all the org details, and filled + // incrementally + var orgs_details = {}; + // this variable will contain all student/proposal data details, + // filled incrementally + var assigned_proposals = new Array(); + + // public function to begin iterating load of JSONs and then call printing + // of duplicates + + this.showDuplicatesInit = function() { + + html_string = ''; + // Remember this object for Javascript scoping + var this_object = this; + var NUMBER_OF_ORGS = number_of_orgs; + var OFFSET_LENGTH = offset_length; + // Variables to handle progress bar updating + var ITERATIONS = (number_of_orgs % offset_length)==0 ? Math.floor(number_of_orgs/offset_length) : Math.floor(number_of_orgs/offset_length)+1; + + if (ITERATIONS==0) { + $("#div_duplicate_slots").html("No org slots to process"); + return; + } + + var successful_calls = 0; + + $("#id_button_duplicate_slots").fadeOut("slow", + function() { + $("#duplicates_progress_bar").progressBar(0); + $("#description_done").html(""); + // For every ajax success, bind this function to update user feedback + $(this).bind("ajaxSuccess", function() { + successful_calls++; + var percentage = Math.floor(100 * (successful_calls) / (ITERATIONS)); + $("#duplicates_progress_bar").progressBar(percentage); + $("#description_progressbar").html(" Processed orgs chunk " + (successful_calls) + "/" + ITERATIONS); + // If this is the last call, feedback the user and print the duplicates data + if (successful_calls==ITERATIONS) { + $("#applications_progress_bar").fadeOut("slow", + function() { + $("#duplicates_progress_bar").progressBar(0); + $("#id_button_duplicate_slots").fadeIn("slow"); + } + ); + $("#description_progressbar").html(""); + $("#description_done").html(" Done!"); + $("#duplicates_progress_bar").fadeOut("slow", + function() { + $("#id_button_duplicate_slots").val("Recalculate").fadeIn("slow", + function() { + // Call printing to HTML function with correct scope + printDuplicatesAndSendJSON.call(this_object); + } + ); + } + ); + } + }); + // Call the showDuplicates function for the first time with correct scope + $("#duplicates_progress_bar").fadeIn("slow", showDuplicates.apply(this_object,[url_to_query,OFFSET_LENGTH,NUMBER_OF_ORGS])); + } + ); + } + + function showDuplicates(url_to_query,OFFSET_LENGTH,NUMBER_OF_ORGS) { + var current_offset = 0; + orgs_details = {}; + assigned_proposals = new Array(); + + // Here Ajax call is handled + setTimeout(function() { + $.ajax({ + cache:false, + mode: "sync", + type: "GET", + timeout: 1000000, + dataType: "json", + url: "/program/assigned_proposals/"+url_to_query+"?limit="+OFFSET_LENGTH+"&offset="+current_offset, + success: function (data, textStatus) { + if (data) { + // Load JSON data + loadSingleJSONData(data); + } + }, + error: function(XMLHttpRequest, textStatus, errorThrown) { + // if there is an error return the button and leave a try again message + if (XMLHttpRequest!=undefined) { + $("#id_button_duplicate_slots").fadeIn("slow", function() { + $("#description_done").html(" Error encountered, try again"); + }); + } + } + }); + current_offset+=OFFSET_LENGTH; + if (current_offsetNo duplicate slots found"); + } + // at the end, send the JSON for caching purposes + $.ajax({ + url: location.href, + type: 'POST', + processData: true, + data: {result: JSON.stringify(to_json)}, + contentType: 'application/json', + dataType: 'json', + }); + } + + // public function to output actual HTML out of the data (cached or not) + this.showDuplicatesHtml = function(orgs_details,student,student_key,proposals) { + if (html_string == '') { + $("#div_duplicate_slots").html(''); + html_string=''; + $("#div_duplicate_slots").html(html_string); + } +} diff -r fd14daa4b45a -r 7b281ac17abd app/soc/templates/soc/base.html --- a/app/soc/templates/soc/base.html Sat May 09 01:36:22 2009 +0200 +++ b/app/soc/templates/soc/base.html Sat May 09 01:37:21 2009 +0200 @@ -97,7 +97,7 @@ {% endif %} {% if uses_duplicates %} - + {% endif %} {% endblock %}