[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 */ /* IMPORT DE NOTES */
/*******************/ /*******************/
var importNotes = document.querySelector('#import_notes[data-ctrl]'); var importNotes = document.querySelectorAll('#import_notes[data-ctrl]');
if( importNotes != null ){ if( importNotes.length > 0 ){
var fileInput = importNotes.children[0]
fileInput.addEventListener('change', function(e){ for( var i = 0 ; i < importNotes.length ; i++ ){
// on récupère le contrôle en question // on récupère l'input de fichier
var controle = importNotes.dataset.ctrl; var fileInput = importNotes[i].children[0];
console.log('controle: '+controle);
// on récupère le fichier
var file = importNotes.children[0].files[0]; fileInput.addEventListener('change', function(e){
/* [1] IMPORTATION DU FICHIER var boutonImport = e.target.parentNode;
=======================================*/
var fd = new FormData();
fd.append('filename', 'import_notes');
fd.append('file', file, file.name);
var xhr = new XMLHttpRequest(); // on récupère le contrôle en question
var controle = boutonImport.dataset.ctrl;
console.log('controle: '+controle);
xhr.open('POST', 'manager/import.php', true); // on récupère le fichier
var file = boutonImport.children[0].files[0];
xhr.onreadystatechange = function(){ /* [1] IMPORTATION DU FICHIER
if( xhr.readyState == 4 && [0, 200].indexOf(xhr.status) > -1 ) =======================================*/
console.log('[1] IMPORT=> '+xhr.responseText); var fd = new FormData();
if( xhr.responseText == 'success' ){ fd.append('filename', 'import_notes');
fd.append('file', file, file.name);
/* [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' ){
/* [3] INTÉGRATION À LA BDD var xhr = new XMLHttpRequest();
=======================================*/
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');
});
}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' ){
} /* [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');
});
xhr.send(fd); }else console.log('import error');
});
}, false); }
}
xhr.send(fd);
}, false);
}
} }

Binary file not shown.

Binary file not shown.