From 24ede56cb3770b5494838667449e0e7bbbaed84c Mon Sep 17 00:00:00 2001
From: Myriam Delaruelle
 <Myriam Delaruelle@bdn-un-mdelarue.ad.univ-lorraine.fr>
Date: Wed, 10 Mar 2021 11:02:07 +0100
Subject: [PATCH] Calcul pourcentage tableau suivi

---
 amd/build/suivi-table.js | 36 +++++++++++++++++++++++++++++++-----
 amd/build/suivi.js       |  9 +++++++--
 2 files changed, 38 insertions(+), 7 deletions(-)

diff --git a/amd/build/suivi-table.js b/amd/build/suivi-table.js
index 0ec10d8..f7fc7be 100644
--- a/amd/build/suivi-table.js
+++ b/amd/build/suivi-table.js
@@ -33,12 +33,15 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
 	    		});
 	    		
 	    		
+	    		
        		},
        		
        		registerSubmit:function(data){
        			$("#id_submit_iena").off().on('click', function(e){
 	    			triggerAction(e, data);
-	    		})
+	    		});
+	    		
+	    		calcPercentage(data);
        		}
        		
        	}
@@ -97,10 +100,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
 		return String(date).length > 1? date : '0'+date ;
 	}
 
-	/*Number.prototype.padLeft = function(base,chr){
-		var  len = (String(base || 10).length - String(this).length)+1;
-		return len > 0? new Array(len).join(chr || '0')+this : this;
-	}*/
+	
 
 
 	function table_download(data) {
@@ -208,4 +208,30 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
 		document.body.removeChild(link); 
 	}
 
+
+	//Pour chaque module non caché, on va regarder pour chaque étudiant 
+	function calcPercentage(data){
+
+		data.modules(find(isHidden));
+		for (var i = 0; i < data.students.length; i++) {
+			var done=0;
+			var nb_modules=0;
+			for(var j=0; j < data.students[i].progress;j++){
+
+				if(data.modules.find(module => module.id === data.students[i].progress[j].idmodule).visibility != "hidden"){
+					nb_modules++
+					if(data.students[i].progress[j].completionstate == 1 || data.students[i].progress[j].completionstate ==2){
+						done++;
+					}
+					
+				}
+			}
+			data.students[i].percentage=100 * done / nb_modules;
+		}
+	}
+
+	function isHidden(module, id) {
+		return module.id === id;
+	}
+
 });
diff --git a/amd/build/suivi.js b/amd/build/suivi.js
index 8d2d788..3348430 100644
--- a/amd/build/suivi.js
+++ b/amd/build/suivi.js
@@ -27,14 +27,15 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
        	return{
        		registerSelectAll:function(){
 
-	    		$("#section-select").on('change', function(e){
+	    		/*$("#section-select").on('change', function(e){
 	    			changeFilter(e, 'section');
-	    		});
+	    		});*/
 	    		$("#group-select").on('change', function(e){
 	    			changeFilter(e, 'group');
 	    		});
 	    		
        		},
+
        		
        		
        	}
@@ -67,6 +68,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
          data: {action: 'test'},
          type: 'post',
          success: function(request) { 
+         	console.log(JSON.parse(request));
          	templates.render('format_iena/suivi-table', JSON.parse(request))
          	.done(function(html, js){
          		 $("#partial-table").html(html);
@@ -86,6 +88,9 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
 		});
     }
 
+
+
+
    
   
 });
-- 
GitLab