[x] Import de notes pour admin+enseignant (droits cumulés)

This commit is contained in:
xdrm-brackets 2016-01-07 23:42:17 +01:00
parent 702b20aa8f
commit bb6dc71723
3 changed files with 52 additions and 43 deletions

View File

@ -658,62 +658,71 @@ if( studentCase != null ){
/*******************/
/* IMPORT DE NOTES */
/*******************/
var importNotes = document.querySelector('#import_notes[data-ctrl]');
var importNotes = document.querySelectorAll('#import_notes[data-ctrl]');
if( importNotes != null ){
var fileInput = importNotes.children[0]
if( importNotes.length > 0 ){
fileInput.addEventListener('change', function(e){
// on récupère le contrôle en question
var controle = importNotes.dataset.ctrl;
console.log('controle: '+controle);
for( var i = 0 ; i < importNotes.length ; i++ ){
// on récupère l'input de fichier
var fileInput = importNotes[i].children[0];
// on récupère le fichier
var file = importNotes.children[0].files[0];
/* [1] IMPORTATION DU FICHIER
=======================================*/
var fd = new FormData();
fd.append('filename', 'import_notes');
fd.append('file', file, file.name);
fileInput.addEventListener('change', function(e){
var xhr = new XMLHttpRequest();
var boutonImport = e.target.parentNode;
xhr.open('POST', 'manager/import.php', true);
// on récupère le contrôle en question
var controle = boutonImport.dataset.ctrl;
console.log('controle: '+controle);
xhr.onreadystatechange = function(){
if( xhr.readyState == 4 && [0, 200].indexOf(xhr.status) > -1 )
console.log('[1] IMPORT=> '+xhr.responseText);
if( xhr.responseText == 'success' ){
// on récupère le fichier
var file = boutonImport.children[0].files[0];
/* [2] LECTURE DU FICHIER
=======================================*/
var request = { level_0: 'excel', level_1: 'import_notes' };
API.send(request, function(e){
console.log('[2] PARSE=>'+e.request);
if( e.request == 'success' ){
/* [1] IMPORTATION DU FICHIER
=======================================*/
var fd = new FormData();
fd.append('filename', 'import_notes');
fd.append('file', file, file.name);
/* [3] INTÉGRATION À LA BDD
=======================================*/
requestIntegration = { level_0: 'career', level_1: 'saisieNoteMultiple', controle: controle, notes: e.notes };
API.send( requestIntegration, function(f){
console.log('[3] INTEGRATION=>'+f.request);
if( f.request == 'success' ){
console.log('liste intégrée');
reload();
}else console.log('integration error');
});
var xhr = new XMLHttpRequest();
}else console.log('import error');
});
xhr.open('POST', 'manager/import.php', true);
}
xhr.onreadystatechange = function(){
if( xhr.readyState == 4 && [0, 200].indexOf(xhr.status) > -1 )
console.log('[1] IMPORT=> '+xhr.responseText);
if( xhr.responseText == 'success' ){
}
/* [2] LECTURE DU FICHIER
=======================================*/
var request = { level_0: 'excel', level_1: 'import_notes' };
API.send(request, function(e){
console.log('[2] PARSE=>'+e.request);
if( e.request == 'success' ){
xhr.send(fd);
/* [3] INTÉGRATION À LA BDD
=======================================*/
requestIntegration = { level_0: 'career', level_1: 'saisieNoteMultiple', controle: controle, notes: e.notes };
API.send( requestIntegration, function(f){
console.log('[3] INTEGRATION=>'+f.request);
if( f.request == 'success' ){
console.log('liste intégrée');
reload();
}else console.log('integration error');
});
}, false);
}else console.log('import error');
});
}
}
xhr.send(fd);
}, false);
}
}

Binary file not shown.

Binary file not shown.