From c5f975f8296d98be8bbacfc5d44ac6707718a295 Mon Sep 17 00:00:00 2001
From: Myriam Delaruelle <myriam.delaruelle@univ-lorraine.fr>
Date: Thu, 7 Nov 2024 11:24:18 +0100
Subject: [PATCH] for big courses, no groups are loaded on first load

---
 amd/build/suivi.js       | 12 ++++++++++--
 suivi_unit.php           | 14 ++++++++++----
 templates/suivi.mustache |  2 +-
 3 files changed, 21 insertions(+), 7 deletions(-)

diff --git a/amd/build/suivi.js b/amd/build/suivi.js
index 214243c..7dff6ca 100644
--- a/amd/build/suivi.js
+++ b/amd/build/suivi.js
@@ -78,7 +78,12 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
 		        //initActivityFilter();
 		    },
 		    registerSelectAllGroupsFilter:function(){
-		    	checkAllGroupsFilter();
+		    
+		    	if(data.countstudents<1000){
+		    		console.log("on rentre ici");
+		    		checkAllGroupsFilter();
+		    	}
+		    	
 		    	$('.selectallgroups').click(function() {
 		            if ($(".selectallgroups").is(':checked')) {
 		                checkAllGroupsFilter();
@@ -652,7 +657,10 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
             }
         }
         else{
-        	checkAllGroupsFilter();
+        	if(data.countstudents<1000){
+        		checkAllGroupsFilter();
+        	}
+        	
         }
         displayTotalActivitiesFilter();
         //displayActivities();
diff --git a/suivi_unit.php b/suivi_unit.php
index 63e1992..2ac9449 100644
--- a/suivi_unit.php
+++ b/suivi_unit.php
@@ -341,14 +341,20 @@ if (!has_capability('course/iena:suivi', $context = context_course::instance($co
 
 
 
+$countstudents=count_enrolled_users($context);
 if (isset($_POST['groupsid'])) {
     $activegroupsids = $_POST['groupsid'];
 } else {
-    $activegroupsids = array(0);
+    if($countstudents>1000){
+        $activegroupsids = array();
+    }
+    else{
+        $activegroupsids = array(0);
+    }
+    
 }
 
 
-$countstudents=count_enrolled_users($context);
 $cache = cache::make('format_iena', 'students');
 
 //Si le progrès de chacun des groupes existe déjà en cache on va les charger, sinon on les récupère dans la BDD et on les stocke
@@ -485,10 +491,10 @@ else if (isset($_POST['action']) && !empty($_POST['action'])) {
         }
         //$groups = $groupsall->groups;
         $sections = get_sections($activesectionid);
-
+        $data["countstudents"]=$countstudents;
         $data = set_filters($data, $filters, $symbols, $sections, array_values($groups), $groupsall->current_user_groups, $groupsall->othergroups, $activesectionid);
         $data = set_data($data, $modules, $arrayprogress, $groups, $activegroupsids, $activesectionid, $listoptions);
-        $data["countstudents"]=$countstudents;
+        
         if (isset($_GET["msg_success"])) {
             $msg = $_GET["msg_success"];
             $data["msg_success"] = $msg;
diff --git a/templates/suivi.mustache b/templates/suivi.mustache
index 0e84aa4..6923f49 100644
--- a/templates/suivi.mustache
+++ b/templates/suivi.mustache
@@ -82,7 +82,7 @@
 		<ul class="dropdown-menu dropdown-menu-form" id="iena-group-dropdown">
 			<li>
 				<label class="checkbox">
-				<input type="checkbox" class="selectallgroups" checked value='0' {{default_group}}>{{# str }} allGroupsLabel, format_iena {{/ str}}</label>
+				<input type="checkbox" class="selectallgroups" value='0' {{default_group}}>{{# str }} allGroupsLabel, format_iena {{/ str}}</label>
 			</li>
 			
 			<li class="divider"></li>
-- 
GitLab