Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
I
iena-course-format
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
iena
iena-course-format
Commits
d829ae2d
Commit
d829ae2d
authored
4 months ago
by
DELARUELLE Myriam
Browse files
Options
Downloads
Patches
Plain Diff
working stage
parent
d64a78ee
No related branches found
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
amd/build/suivi.js
+118
-99
118 additions, 99 deletions
amd/build/suivi.js
suivi_unit.php
+10
-6
10 additions, 6 deletions
suivi_unit.php
templates/suivi.mustache
+1
-1
1 addition, 1 deletion
templates/suivi.mustache
with
129 additions
and
106 deletions
amd/build/suivi.js
+
118
−
99
View file @
d829ae2d
...
@@ -25,6 +25,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
...
@@ -25,6 +25,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
function
(
$
,
ajax
,
templates
,
str
)
{
function
(
$
,
ajax
,
templates
,
str
)
{
var
all_selected
=
false
;
var
all_selected
=
false
;
var
data
=
[];
var
data
=
[];
var
cours_massif
=
false
;
return
{
return
{
...
@@ -32,13 +33,13 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
...
@@ -32,13 +33,13 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
$
(
"
#group-select
"
).
on
(
'
change
'
,
function
(
e
){
$
(
"
#group-select
"
).
on
(
'
change
'
,
function
(
e
){
changeGroup
();
changeGroup
();
e
.
stopPropagation
();
});
});
},
},
registerSubmit
:
function
(
infos
){
registerSubmit
:
function
(){
data
=
infos
;
console
.
log
(
infos
);
$
(
"
#id_submit_iena
"
).
on
(
'
click
'
,
function
(
e
){
$
(
"
#id_submit_iena
"
).
on
(
'
click
'
,
function
(
e
){
triggerAction
(
e
);
triggerAction
(
e
);
});
});
...
@@ -65,7 +66,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
...
@@ -65,7 +66,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
$
(
'
.selectallactivities
'
).
click
(
function
()
{
$
(
'
.selectallactivities
'
).
click
(
function
()
{
if
(
$
(
"
.selectallactivities
"
).
is
(
'
:checked
'
))
{
if
(
$
(
"
.selectallactivities
"
).
is
(
'
:checked
'
))
{
checkAllActivitiesFilter
();
checkAllActivitiesFilter
();
display
Activities
();
showHide
Activities
();
}
else
{
}
else
{
$
(
'
.option
'
).
prop
(
'
checked
'
,
false
);
$
(
'
.option
'
).
prop
(
'
checked
'
,
false
);
var
message
=
str
.
get_string
(
'
selectedActivities
'
,
'
format_iena
'
);
var
message
=
str
.
get_string
(
'
selectedActivities
'
,
'
format_iena
'
);
...
@@ -73,7 +74,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
...
@@ -73,7 +74,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
$
(
"
.dropdown-text
"
).
html
(
'
0
'
+
localizedEditString
);
$
(
"
.dropdown-text
"
).
html
(
'
0
'
+
localizedEditString
);
});
});
$
(
"
.select-text
"
).
html
(
'
Select
'
);
$
(
"
.select-text
"
).
html
(
'
Select
'
);
display
Activities
();
showHide
Activities
();
}
}
});
});
//initActivityFilter();
//initActivityFilter();
...
@@ -90,7 +91,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
...
@@ -90,7 +91,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
checkAllGroupsFilter
();
checkAllGroupsFilter
();
}
else
{
}
else
{
$
(
'
.group-option
'
).
prop
(
'
checked
'
,
false
);
$
(
'
.group-option
'
).
prop
(
'
checked
'
,
false
);
displayTotal
GroupsFilter
();
update
GroupsFilter
Label
();
}
}
changeGroup
();
changeGroup
();
...
@@ -110,8 +111,9 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
...
@@ -110,8 +111,9 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
}
}
function
fetchProgress
(){
function
fetchProgress
(){
console
.
log
(
"
non plutôt on fetch le progress
"
)
completeUrl
=
getCompleteUrl
();
completeUrl
=
getCompleteUrl
();
console
.
log
(
completeUrl
);
$
.
ajax
({
url
:
completeUrl
,
$
.
ajax
({
url
:
completeUrl
,
data
:
{
action
:
'
fetchprogress
'
},
data
:
{
action
:
'
fetchprogress
'
},
type
:
'
post
'
,
type
:
'
post
'
,
...
@@ -124,13 +126,12 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
...
@@ -124,13 +126,12 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
}
}
initActivityFilter
(
false
);
initActivityFilter
(
false
);
displayTotalActivitiesFilter
(
false
);
displayTotalActivitiesFilter
(
false
);
displayTotal
GroupsFilter
(
false
);
update
GroupsFilter
Label
(
false
);
display
Activities
(
false
);
showHide
Activities
(
false
);
initGroupFilter
(
false
);
initGroupFilter
(
false
);
registerGroupFilter
();
registerGroupFilter
();
changeSection
(
false
);
changeSection
(
false
);
reloadTable
(
data
);
reloadTable
(
data
);
//displayTotalGroupsFilter(false);
return
data
;
return
data
;
}
}
});
});
...
@@ -145,6 +146,8 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
...
@@ -145,6 +146,8 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
})
})
}
}
function
getCompleteUrl
(){
function
getCompleteUrl
(){
url
=
window
.
location
.
search
;
url
=
window
.
location
.
search
;
urlParams
=
new
URLSearchParams
(
url
);
urlParams
=
new
URLSearchParams
(
url
);
...
@@ -165,14 +168,15 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
...
@@ -165,14 +168,15 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
return
completeUrl
;
return
completeUrl
;
}
}
//À changer pour intégrer une fonction plus générique
function
changeGroup
(){
function
changeGroup
(){
console
.
log
(
"
on va changer le groupe ?
"
);
var
completeUrl
=
getCompleteUrl
();
var
completeUrl
=
getCompleteUrl
();
var
groupscheckboxes
=
$
(
'
input[name="groupoptions[]"]:checked
'
);
var
groupscheckboxes
=
$
(
'
input[name="groupoptions[]"]:checked
'
);
var
groupsid
=
[];
var
groupsid
=
[];
for
(
var
i
=
0
;
i
<
groupscheckboxes
.
length
;
i
++
)
{
for
(
var
i
=
0
;
i
<
groupscheckboxes
.
length
;
i
++
)
{
groupsid
.
push
(
groupscheckboxes
[
i
].
value
);
groupsid
.
push
(
groupscheckboxes
[
i
].
value
);
}
}
console
.
log
(
groupsid
);
loadMessage
(
"
loading
"
);
loadMessage
(
"
loading
"
);
if
(
groupsid
.
length
==
0
){
if
(
groupsid
.
length
==
0
){
groupsid
.
push
(
-
2
);
groupsid
.
push
(
-
2
);
...
@@ -183,13 +187,15 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
...
@@ -183,13 +187,15 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
success
:
function
(
request
)
{
success
:
function
(
request
)
{
data
=
calcPercentage
(
JSON
.
parse
(
request
));
data
=
calcPercentage
(
JSON
.
parse
(
request
));
//initGroupFilter();
//initGroupFilter();
//
changeSection
();
changeSection
();
if
(
data
.
students
.
length
<
1000
){
if
(
data
.
students
.
length
<
1000
){
localStorage
.
setItem
(
"
groups
"
,
request
);
localStorage
.
setItem
(
"
groups
"
,
request
);
}
}
displayTotal
GroupsFilter
(
false
);
update
GroupsFilter
Label
(
false
);
}
}
});
});
}
}
...
@@ -261,6 +267,8 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
...
@@ -261,6 +267,8 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
//on va devoir calculer le pourcentage, check la completion et reload la table à chaque fois
//on va devoir calculer le pourcentage, check la completion et reload la table à chaque fois
function
changeSection
(
changefilter
=
true
){
function
changeSection
(
changefilter
=
true
){
loadMessage
(
"
loading
"
);
loadMessage
(
"
loading
"
);
sectionid
=
$
(
"
#section-select
"
).
val
();
sectionid
=
$
(
"
#section-select
"
).
val
();
...
@@ -310,10 +318,11 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
...
@@ -310,10 +318,11 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
//Affiche/cache dynamiquement les activités sélectionnées
//Affiche/cache dynamiquement les activités sélectionnées
function
display
Activities
(
changefilter
=
true
){
function
showHide
Activities
(
changefilter
=
true
){
var
arrayActivitiesID
=
[];
var
arrayActivitiesID
=
[];
var
activitiesToStore
=
[];
var
activitiesToStore
=
[];
var
activities
=
$
(
'
input[name="options[]"]
'
);
var
activities
=
$
(
'
input[name="options[]"]
'
);
console
.
log
(
data
.
modules
);
for
(
var
i
=
0
;
i
<
activities
.
length
;
i
++
){
for
(
var
i
=
0
;
i
<
activities
.
length
;
i
++
){
prog
=
data
.
modules
.
find
(
element
=>
element
.
id
===
activities
[
i
].
value
);
prog
=
data
.
modules
.
find
(
element
=>
element
.
id
===
activities
[
i
].
value
);
...
@@ -357,7 +366,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
...
@@ -357,7 +366,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
});
});
}
}
//Reload table with new parameters.
//Reload table with new parameters
JUST FOR DISPLAYING THE TABLE
.
function
reloadTable
(
params
){
function
reloadTable
(
params
){
console
.
log
(
"
on est dans le reloadTable
"
)
console
.
log
(
"
on est dans le reloadTable
"
)
url
=
getCompleteUrl
();
url
=
getCompleteUrl
();
...
@@ -375,7 +384,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
...
@@ -375,7 +384,7 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
}
}
//Récupère les étudiants sélectionnées par les checkbox
//Récupère les étudiants sélectionnées par les checkbox
function
getSelectedStudents
(){
function
getSelectedStudents
(){
var
selectedChecks
=
$
(
"
#table-body input:checked
"
);
var
selectedChecks
=
$
(
"
#table-body input:checked
"
);
...
@@ -567,6 +576,79 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
...
@@ -567,6 +576,79 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
}
}
//Update activities filter label
function
updateActivitiesFilterLabel
(){
var
total
=
$
(
'
input[name="options[]"]:checked
'
).
length
;
if
(
total
==
$
(
'
input[name="options[]"]
'
).
length
){
var
message
=
str
.
get_string
(
'
allActivities
'
,
'
format_iena
'
);
$
.
when
(
message
).
done
(
function
(
localizedEditString
)
{
$
(
"
.dropdown-text
"
).
html
(
localizedEditString
);
});
}
else
{
var
message
=
str
.
get_string
(
'
selectedActivities
'
,
'
format_iena
'
);
$
.
when
(
message
).
done
(
function
(
localizedEditString
)
{
$
(
"
.dropdown-text
"
).
html
(
total
+
'
'
+
localizedEditString
);
});
}
}
//Coche toutes les activités quand on change de section
function
checkAllActivitiesFilter
(){
$
(
'
.selectallactivities
'
).
prop
(
'
checked
'
,
true
);
$
(
'
.option
'
).
prop
(
'
checked
'
,
true
);
updateActivitiesFilterLabel
();
$
(
"
.select-text
"
).
html
(
'
Deselect
'
);
}
//Coche tous les groupes quand le select all est coché
function
checkAllGroupsFilter
(){
$
(
'
.selectallgroups
'
).
prop
(
'
checked
'
,
true
);
$
(
'
.group-option
'
).
prop
(
'
checked
'
,
true
);
//changeGroup();
$
(
"
.select-text
"
).
html
(
'
Deselect
'
);
}
//Update activities filter label
function
updateGroupsFilterLabel
(){
var
total
=
$
(
'
input[name="groupoptions[]"]:checked
'
).
length
;
if
(
total
==
$
(
'
input[name="groupoptions[]"]
'
).
length
){
var
message
=
str
.
get_string
(
'
allGroups
'
,
'
format_iena
'
);
$
.
when
(
message
).
done
(
function
(
localizedEditString
)
{
$
(
"
.dropdown-text-group
"
).
html
(
localizedEditString
);
});
}
else
{
var
message
=
str
.
get_string
(
'
selectedGroups
'
,
'
format_iena
'
);
$
.
when
(
message
).
done
(
function
(
localizedEditString
)
{
$
(
"
.dropdown-text-group
"
).
html
(
total
+
'
'
+
localizedEditString
);
});
}
}
/*Etapes
Premier chargement :
- On initialise les filtres (on les register)
- On a chargé les données en même temps (avec ces filtres par défaut)
- On affiche/cache les modules selon la section
- On calcule le pourcentage selon les modules VISIBLES
- On affiche/cache les étudiants selon le % d'achèvement
*/
//On va recharger dynamiquement les options donc on doit recréer les événements à chaque fois qu'on change de section
//On va recharger dynamiquement les options donc on doit recréer les événements à chaque fois qu'on change de section
function
registerActivityFilter
(){
function
registerActivityFilter
(){
$
(
"
input[type='checkbox'].justone-activity
"
).
on
(
'
click
'
,
function
(
e
){
$
(
"
input[type='checkbox'].justone-activity
"
).
on
(
'
click
'
,
function
(
e
){
...
@@ -581,30 +663,29 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
...
@@ -581,30 +663,29 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
$
(
'
.selectallactivities
'
).
prop
(
'
checked
'
,
false
);
$
(
'
.selectallactivities
'
).
prop
(
'
checked
'
,
false
);
$
(
"
.select-text
"
).
html
(
'
Select
'
);
$
(
"
.select-text
"
).
html
(
'
Select
'
);
}
}
displayTotal
ActivitiesFilter
();
update
ActivitiesFilter
Label
();
display
Activities
();
showHide
Activities
();
});
});
}
}
//Update activities filter label
function
registerGroupFilter
(){
function
displayTotalActivitiesFilter
(){
$
(
"
input[type='checkbox'].justone-group
"
).
on
(
'
click
'
,
function
(
e
){
var
total
=
$
(
'
input[name="options[]"]:checked
'
).
length
;
e
.
stopPropagation
();
if
(
total
==
$
(
'
input[name="options[]"]
'
).
length
){
var
a
=
$
(
"
input[type='checkbox'].justone-group
"
);
var
message
=
str
.
get_string
(
'
allActivities
'
,
'
format_iena
'
);
if
(
a
.
length
==
a
.
filter
(
"
:checked
"
).
length
){
$
.
when
(
message
).
done
(
function
(
localizedEditString
)
{
$
(
'
.selectallgroups
'
).
prop
(
'
checked
'
,
true
);
$
(
"
.dropdown-text
"
).
html
(
localizedEditString
);
}
});
else
{
}
$
(
'
.selectallgroups
'
).
prop
(
'
checked
'
,
false
);
else
{
}
var
message
=
str
.
get_string
(
'
selectedActivities
'
,
'
format_iena
'
);
//Pourquoi ?
$
.
when
(
message
).
done
(
function
(
localizedEditString
)
{
//displayTotalActivitiesFilter();
$
(
"
.dropdown-text
"
).
html
(
total
+
'
'
+
localizedEditString
);
});
});
}
}
}
//Stocke le filtre des activités en localStorage pour ne pas avoir 50 id dans l'url
//Stocke le filtre des activités en localStorage pour ne pas avoir 50 id dans l'url
//On fait bien attention à rétablir cocher le selectall si toutes les activités sont bien cochées
//On fait bien attention à rétablir cocher le selectall si toutes les activités sont bien cochées
function
initActivityFilter
(){
function
initActivityFilter
(){
...
@@ -628,37 +709,10 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
...
@@ -628,37 +709,10 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
}
}
}
}
}
}
}
}
}
}
//Coche toutes les activités quand on change de section
function
initGroupFilter
(){
function
checkAllActivitiesFilter
(){
$
(
'
.selectallactivities
'
).
prop
(
'
checked
'
,
true
);
$
(
'
.option
'
).
prop
(
'
checked
'
,
true
);
displayTotalActivitiesFilter
();
$
(
"
.select-text
"
).
html
(
'
Deselect
'
);
}
function
registerGroupFilter
(){
$
(
"
input[type='checkbox'].justone-group
"
).
on
(
'
click
'
,
function
(
e
){
e
.
stopPropagation
();
var
a
=
$
(
"
input[type='checkbox'].justone-group
"
);
if
(
a
.
length
==
a
.
filter
(
"
:checked
"
).
length
){
$
(
'
.selectallgroups
'
).
prop
(
'
checked
'
,
true
);
}
else
{
$
(
'
.selectallgroups
'
).
prop
(
'
checked
'
,
false
);
}
displayTotalActivitiesFilter
();
});
}
function
initGroupFilter
(){
if
(
localStorage
.
groups
){
if
(
localStorage
.
groups
){
var
checkedGroups
=
JSON
.
parse
(
localStorage
.
groups
);
var
checkedGroups
=
JSON
.
parse
(
localStorage
.
groups
);
var
groups
=
$
(
"
input[type='checkbox'].justone-group
"
);
var
groups
=
$
(
"
input[type='checkbox'].justone-group
"
);
...
@@ -687,48 +741,13 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
...
@@ -687,48 +741,13 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'],
}
}
}
}
displayTotalActivitiesFilter
();
//Pourquoi ?
}
// displayTotalActivitiesFilter();
//Coche tous les groupes quand le select all est coché
function
checkAllGroupsFilter
(){
$
(
'
.selectallgroups
'
).
prop
(
'
checked
'
,
true
);
$
(
'
.group-option
'
).
prop
(
'
checked
'
,
true
);
//changeGroup();
$
(
"
.select-text
"
).
html
(
'
Deselect
'
);
}
//Update activities filter label
function
displayTotalGroupsFilter
(){
var
total
=
$
(
'
input[name="groupoptions[]"]:checked
'
).
length
;
if
(
total
==
$
(
'
input[name="groupoptions[]"]
'
).
length
){
var
message
=
str
.
get_string
(
'
allGroups
'
,
'
format_iena
'
);
$
.
when
(
message
).
done
(
function
(
localizedEditString
)
{
$
(
"
.dropdown-text-group
"
).
html
(
localizedEditString
);
});
}
else
{
var
message
=
str
.
get_string
(
'
selectedGroups
'
,
'
format_iena
'
);
$
.
when
(
message
).
done
(
function
(
localizedEditString
)
{
$
(
"
.dropdown-text-group
"
).
html
(
total
+
'
'
+
localizedEditString
);
});
}
}
}
/*Etapes
Premier chargement :
- On initialise les filtres (on les register)
- On a chargé les données en même temps (avec ces filtres par défaut)
- On affiche/cache les modules selon la section
- On calcule le pourcentage selon les modules VISIBLES
- On affiche/cache les étudiants selon le % d'achèvement
*/
});
});
This diff is collapsed.
Click to expand it.
suivi_unit.php
+
10
−
6
View file @
d829ae2d
...
@@ -166,6 +166,7 @@ function get_activities($completion, $activesectionid) {
...
@@ -166,6 +166,7 @@ function get_activities($completion, $activesectionid) {
}
}
function
get_sections
(
$activesectionid
)
{
function
get_sections
(
$activesectionid
)
{
error_log
(
"on passe par ici alors qu'on devrait pas"
);
global
$COURSE
;
global
$COURSE
;
// Liste des sections du cours.
// Liste des sections du cours.
$modinfo
=
get_fast_modinfo
(
$COURSE
->
id
);
$modinfo
=
get_fast_modinfo
(
$COURSE
->
id
);
...
@@ -185,7 +186,7 @@ function get_sections($activesectionid) {
...
@@ -185,7 +186,7 @@ function get_sections($activesectionid) {
return
$sections
;
return
$sections
;
}
}
function
set_filters
(
$data
,
$filters
,
$symbols
,
$sections
,
$groups
,
$currentusergroups
,
$othergroups
,
$activesectionid
)
{
function
set_filters
(
$data
,
$filters
,
$symbols
,
$sections
,
$currentusergroups
,
$othergroups
,
$activesectionid
)
{
if
(
isset
(
$_GET
[
'filter'
]))
{
if
(
isset
(
$_GET
[
'filter'
]))
{
$filtercomplete
=
$_GET
[
'filter'
];
$filtercomplete
=
$_GET
[
'filter'
];
$symbols
[
mb_substr
(
$filtercomplete
,
0
,
1
,
'UTF-8'
)]
->
selected
=
"selected"
;
$symbols
[
mb_substr
(
$filtercomplete
,
0
,
1
,
'UTF-8'
)]
->
selected
=
"selected"
;
...
@@ -391,9 +392,10 @@ if (isset($_GET['sectionid'])) {
...
@@ -391,9 +392,10 @@ if (isset($_GET['sectionid'])) {
}
}
// On récupère les ids des membres parce que dans l'excel on veut savoir qui appartient à quel groupe.
// On récupère les ids des membres parce que dans l'excel on veut savoir qui appartient à quel groupe.
$groups
=
groups_get_all_groups
(
$COURSE
->
id
,
0
,
0
,
'g.*'
,
true
);
$renderer
=
$PAGE
->
get_renderer
(
'format_iena'
);
$renderer
=
$PAGE
->
get_renderer
(
'format_iena'
);
//Si on cherche les détails d'une activité
//Si on cherche les détails d'une activité
if
(
isset
(
$_POST
[
'action'
])
&&
$_POST
[
'action'
]
==
"details"
)
{
if
(
isset
(
$_POST
[
'action'
])
&&
$_POST
[
'action'
]
==
"details"
)
{
require_once
(
$CFG
->
libdir
.
'/gradelib.php'
);
require_once
(
$CFG
->
libdir
.
'/gradelib.php'
);
...
@@ -453,6 +455,8 @@ if (isset($_POST['action']) && $_POST['action'] == "details") {
...
@@ -453,6 +455,8 @@ if (isset($_POST['action']) && $_POST['action'] == "details") {
}
}
// If a post is sent trought the page --> Si on change les filtres (de groupes), le template est appelé en JS
// If a post is sent trought the page --> Si on change les filtres (de groupes), le template est appelé en JS
else
if
(
isset
(
$_POST
[
'action'
])
&&
!
empty
(
$_POST
[
'action'
]))
{
else
if
(
isset
(
$_POST
[
'action'
])
&&
!
empty
(
$_POST
[
'action'
]))
{
error_log
(
"je change le filtre des groupes"
);
$groups
=
groups_get_all_groups
(
$COURSE
->
id
,
0
,
0
,
'g.*'
,
true
);
$data
=
[];
$data
=
[];
$modules
=
get_activities
(
$completion
,
$activesectionid
);
$modules
=
get_activities
(
$completion
,
$activesectionid
);
$data
[
"students"
]
=
get_progress_students
(
$modules
,
$arrayprogress
,
$groups
,
$activegroupsids
,
$activesectionid
,
$courseid
,
$cache
,
$completion
);
$data
[
"students"
]
=
get_progress_students
(
$modules
,
$arrayprogress
,
$groups
,
$activegroupsids
,
$activesectionid
,
$courseid
,
$cache
,
$completion
);
...
@@ -464,9 +468,9 @@ else if (isset($_POST['action']) && !empty($_POST['action'])) {
...
@@ -464,9 +468,9 @@ else if (isset($_POST['action']) && !empty($_POST['action'])) {
else
{
else
{
init_page
(
$course
,
$PAGE
);
init_page
(
$course
,
$PAGE
);
echo
$OUTPUT
->
header
();
echo
$OUTPUT
->
header
();
error_log
(
"je load juste la page"
);
//$progress=$cache->get($activegroupids);
//$progress=$cache->get($activegroupids);
$groups
=
groups_get_all_groups
(
$COURSE
->
id
,
0
,
0
,
'g.*'
,
true
);
$data
=
[];
$data
=
[];
//Si la complétion du cours n'est pas activée on redirige l'enseignant vers l'interface pour l'activer
//Si la complétion du cours n'est pas activée on redirige l'enseignant vers l'interface pour l'activer
if
(
!
$COURSE
->
enablecompletion
){
if
(
!
$COURSE
->
enablecompletion
){
...
@@ -489,8 +493,8 @@ else {
...
@@ -489,8 +493,8 @@ else {
//$groups = $groupsall->groups;
//$groups = $groupsall->groups;
$sections
=
get_sections
(
$activesectionid
);
$sections
=
get_sections
(
$activesectionid
);
//$data["countstudents"]=$countstudents;
//$data["countstudents"]=$countstudents;
$data
=
set_filters
(
$data
,
$filters
,
$symbols
,
$sections
,
array_values
(
$groups
),
$groupsall
->
current_user_groups
,
$groupsall
->
othergroups
,
$activesectionid
);
$data
=
set_filters
(
$data
,
$filters
,
$symbols
,
$sections
,
$groupsall
->
current_user_groups
,
$groupsall
->
othergroups
,
$activesectionid
);
$data
=
set_data
(
$data
,
$modules
,
$groups
,
$activegroupsids
,
$activesectionid
,
$listoptions
);
//
$data = set_data($data, $modules, $groups, $activegroupsids, $activesectionid, $listoptions);
if
(
isset
(
$_GET
[
"msg_success"
]))
{
if
(
isset
(
$_GET
[
"msg_success"
]))
{
$msg
=
$_GET
[
"msg_success"
];
$msg
=
$_GET
[
"msg_success"
];
...
...
This diff is collapsed.
Click to expand it.
templates/suivi.mustache
+
1
−
1
View file @
d829ae2d
...
@@ -155,7 +155,7 @@
...
@@ -155,7 +155,7 @@
{{#
js
}}
{{#
js
}}
require(['format_iena/suivi', 'core/templates'], function(module) {
require(['format_iena/suivi', 'core/templates'], function(module) {
module.registerFilters();
module.registerFilters();
module.registerSubmit(
{{{
data
}}}
);
module.registerSubmit();
module.registerSelectAllActivitiesFilter();
module.registerSelectAllActivitiesFilter();
module.registerSelectAllGroupsFilter();
module.registerSelectAllGroupsFilter();
module.initTable();
module.initTable();
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment