forked from ScoDoc/ScoDoc
Assiduite : Etudiant non inscrit module Fix #792
This commit is contained in:
parent
6792efcc18
commit
6e447afdaa
@ -1389,6 +1389,11 @@ function generateAllEtudRow() {
|
|||||||
etuds[a].nom > etuds[b].nom ? 1 : etuds[b].nom > etuds[a].nom ? -1 : 0
|
etuds[a].nom > etuds[b].nom ? 1 : etuds[b].nom > etuds[a].nom ? -1 : 0
|
||||||
);
|
);
|
||||||
|
|
||||||
|
let mod = getModuleImplId();
|
||||||
|
etuds_ids = etuds_ids.filter((i) => {
|
||||||
|
return checkInscriptionModule(mod, i);
|
||||||
|
});
|
||||||
|
|
||||||
for (let i = 0; i < etuds_ids.length; i++) {
|
for (let i = 0; i < etuds_ids.length; i++) {
|
||||||
const etud = etuds[etuds_ids[i]];
|
const etud = etuds[etuds_ids[i]];
|
||||||
insertEtudRow(etud, i + 1);
|
insertEtudRow(etud, i + 1);
|
||||||
@ -1764,3 +1769,25 @@ function getUser(obj) {
|
|||||||
|
|
||||||
return obj.user_nom_complet || obj.user_id;
|
return obj.user_nom_complet || obj.user_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const inscriptionsModule = {};
|
||||||
|
|
||||||
|
function checkInscriptionModule(moduleimpl_id, etudid) {
|
||||||
|
if ([null, "", "autre"].indexOf(moduleimpl_id) !== -1) return true;
|
||||||
|
if (!inscriptionsModule.hasOwnProperty(moduleimpl_id)) {
|
||||||
|
const path = getUrl() + `/api/moduleimpl/${moduleimpl_id}/inscriptions`;
|
||||||
|
sync_get(
|
||||||
|
path,
|
||||||
|
(data, status) => {
|
||||||
|
inscriptionsModule[moduleimpl_id] = data;
|
||||||
|
},
|
||||||
|
(data, status) => {
|
||||||
|
//error
|
||||||
|
console.error(data, status);
|
||||||
|
errorAlert();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
const etudsInscrits = inscriptionsModule[moduleimpl_id].map((i) => i.etudid);
|
||||||
|
return etudsInscrits.indexOf(Number(etudid)) !== -1;
|
||||||
|
}
|
||||||
|
@ -18,7 +18,8 @@
|
|||||||
<fieldset class="selectors">
|
<fieldset class="selectors">
|
||||||
<div class="infos">
|
<div class="infos">
|
||||||
<div class="infos-button">Groupes : {{grp|safe}}</div>
|
<div class="infos-button">Groupes : {{grp|safe}}</div>
|
||||||
<div class="infos-button" style="margin-left: 24px;">Date : <span style="margin-left: 8px;" id="datestr"></span>
|
<div class="infos-button" style="margin-left: 24px;">Date : <span style="margin-left: 8px;"
|
||||||
|
id="datestr"></span>
|
||||||
<input type="date" name="tl_date" id="tl_date" value="{{ date }}" onchange="updateDate()">
|
<input type="date" name="tl_date" id="tl_date" value="{{ date }}" onchange="updateDate()">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -106,10 +107,15 @@
|
|||||||
|
|
||||||
const etudsDefDem = {{ defdem | safe }}
|
const etudsDefDem = {{ defdem | safe }}
|
||||||
|
|
||||||
|
const select = document.getElementById("moduleimpl_select");
|
||||||
|
|
||||||
|
select?.addEventListener('change', (e) => {
|
||||||
|
generateAllEtudRow();
|
||||||
|
});
|
||||||
|
|
||||||
if (window.forceModule) {
|
if (window.forceModule) {
|
||||||
const btn = document.getElementById("validate_selectors");
|
const btn = document.getElementById("validate_selectors");
|
||||||
|
|
||||||
const select = document.getElementById("moduleimpl_select");
|
|
||||||
|
|
||||||
if (!readOnly && select.value == "") {
|
if (!readOnly && select.value == "") {
|
||||||
document.getElementById('forcemodule').style.display = "block";
|
document.getElementById('forcemodule').style.display = "block";
|
||||||
|
@ -287,7 +287,6 @@
|
|||||||
currentDate = moment(currentDate).tz(TIMEZONE).format("YYYY-MM-DDTHH:mm");
|
currentDate = moment(currentDate).tz(TIMEZONE).format("YYYY-MM-DDTHH:mm");
|
||||||
}
|
}
|
||||||
|
|
||||||
const inscriptionsModule = {};
|
|
||||||
|
|
||||||
function createColumn(dateStart = "", dateEnd = "", moduleimpl_id = "") {
|
function createColumn(dateStart = "", dateEnd = "", moduleimpl_id = "") {
|
||||||
let table = document.getElementById("studentTable");
|
let table = document.getElementById("studentTable");
|
||||||
@ -1034,24 +1033,7 @@
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function checkInscriptionModule(moduleimpl_id, etudid) {
|
|
||||||
if (!inscriptionsModule.hasOwnProperty(moduleimpl_id)) {
|
|
||||||
const path = getUrl() + `/api/moduleimpl/${moduleimpl_id}/inscriptions`;
|
|
||||||
sync_get(
|
|
||||||
path,
|
|
||||||
(data, status) => {
|
|
||||||
inscriptionsModule[moduleimpl_id] = data;
|
|
||||||
},
|
|
||||||
(data, status) => {
|
|
||||||
//error
|
|
||||||
console.error(data, status);
|
|
||||||
errorAlert();
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
|
||||||
const etudsInscrits = inscriptionsModule[moduleimpl_id].map((i) => i.etudid);
|
|
||||||
return etudsInscrits.indexOf(Number(etudid)) !== -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
window.addEventListener('load', () => {
|
window.addEventListener('load', () => {
|
||||||
document.getElementById("addColumn").addEventListener("click", () => {
|
document.getElementById("addColumn").addEventListener("click", () => {
|
||||||
|
Loading…
Reference in New Issue
Block a user