Sei sulla pagina 1di 8

/**

* Created by gfiorini on 21/02/14.


*/
angular.module('phoenixApp')
.controller('ricercaAppelliSostenibiliController',
['$rootScope','$scope','$location','$window','UserService','ngProgress','EsenzioneS
oggetto',
'RicercaAppelliSostenibiliService','usSpinnerService','$filter','Ricerca270Se
rvice',
'PrenotaEsameService','SectionService','MainMenuService','$translatePartialLo
ader','$translate','DisabilitaSoggetto',
function ($rootScope,$scope,$location,
$window,UserService,ngProgress,EsenzioneSoggetto,
RicercaAppelliSostenibiliService,usSpinnerService,
$filter,Ricerca270Service,
PrenotaEsameService,SectionService,MainMenuService,
$translatePartialLoader,$translate,DisabilitaSoggetto) {

$scope.prenota=function(appello){

$scope.descrizioneEsameSelezionato=null;
$scope.urlOPIS=null;

usSpinnerService.spin('spinner-1');
try {
var codVerb = appello.codIdenVerb ? appello.codIdenVerb : "";
var codInsegnamento = appello.codAppe;
var codCorso = appello.codCorsoStud ? appello.codCorsoStud : "";

// var tipoEsame = $
("select[name=\""+appello.codIdenVerb+"_modalita\"]").val()
var tipoEsame =
appello.modalitaSvolgimentoSelezionata;//issue1854
if (isNaN(tipoEsame)) {
tipoEsame=0;
}

var prenotazione = PrenotaEsameService.post({


codiceVerbale: codVerb,
codiceInsegnamento: codInsegnamento,
codCorso: codCorso,
tipoEsame : tipoEsame
});

prenotazione.$promise.then(function (response) {
if (response == null) {
$rootScope.messageBox(
$filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.titoloMessaggioErroreRecuperoDati'),
"warn",
$filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.testoMessaggioErroreRecuperoDati')
);
return;
}
if (response.esito.flagEsito >= 0) {
$scope.descrizioneEsameSelezionato =
appello.descrizione;

if (response.urlOpis != null) {

$scope.urlOPIS = response.urlOpis;

$('#compilaOPISModal').modal('show');
usSpinnerService.stop('spinner-1');
$rootScope.messageBox(
$filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.titoloMessaggio'),
"info",
$filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.testoMessaggioOpis')
+ " <a target='_blank' href='" +
response.url + "' style='color: #fff;'>"
+ $filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.testoMessaggioOpisQuestoLink')
+ "</a>"
);

} else if (response.url != null) {


$scope.descrizioneEsameSelezionato =
appello.descrizione;
$scope.urlOPIS =
response.url+"&obbligoprenotazione=1"; //issue_316

$('#compilaOPISModal').modal('show');
usSpinnerService.stop('spinner-1');
$rootScope.messageBox(
$filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.titoloMessaggio'),
"info",
$filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.testoMessaggioOpis')
+ " <a target='_blank' href='" +
response.url + "' style='color: #fff;'>"
+ $filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.testoMessaggioOpisQuestoLink')
+ "</a>"
);

} else {
usSpinnerService.stop('spinner-1');
$rootScope.messageBox(
$filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.titoloMessaggio'),
"success",
$filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.testoMessaggioPrenotatoOk',
{descrizioneAppello: appello.descrizione})
);
$location.path('/corsiLaurea/prenotazioni');
}

}
else {
$rootScope.messageBox(
$filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.titoloMessaggio'),
"warn",
response.esito.nota ? response.esito.nota
: $filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.testoMessaggioPrenotatoErrore')
);
usSpinnerService.stop('spinner-1');
}
usSpinnerService.stop('spinner-1');

}, function (err) {
usSpinnerService.stop('spinner-1');
});
}
catch (e){
$rootScope.messageBox(
$filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.titoloMessaggio'),
"warn",
$filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.testoMessaggioPrenotatoErrore')
);
usSpinnerService.stop('spinner-1');
}
};

$scope.mostraPrenotabili=function(){
try {
var now = new Date();

if ($scope.appelliPrenotabili == "on") {

// imposta gli appelli prenotabili


appelliPrenotabili = [];
for(var i=0;i<appelliAll.length;i++)

if($rootScope.isPrenotabile($scope.appelliTrovati[i]))

appelliPrenotabili.push($scope.appelliTrovati[i]);

$scope.appelliTrovati = appelliPrenotabili;
}
else {
$scope.appelliTrovati = appelliAll;
}
}
catch (e){
$rootScope.messageBox(
$filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.messaggioPrenotabiliTitolo'),
"warn",
e.message
);
}

};
$rootScope.ricercaSostenibili=function(){

try {
if($scope.appelliPrenotabili='on' && $scope.appelliTrovati) {
// $scope.mostraPrenotabili();
document.getElementById("mostraPrenotabili").click();
}
var appelli =
RicercaAppelliSostenibiliService.get({matricola:UserService.matricola});
appelli.$promise.then(function (result) {

if (result.esito.flagEsito < 0) {
usSpinnerService.stop('spinner-1');
$scope.esamiSostenibili=null;
$rootScope.messageBox(
$filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.messaggioRicercaIsegnamentiSostenibil
iTitolo'),
"warn",
result.esito.nota ? result.esito.nota :
$filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.messaggioRicercaIsegnamentiSostenibil
iTesto')
);
return null;
}
// CREAZIONE DELL'OGGETTO ESAMI SOSTENIBILI (ARRAY DI)
$scope.esamiSostenibili = result.ritorno.esami;
$scope.pdSApprovato=result.pdSApprovato;
if(!$scope.esamiSostenibili ||
$scope.esamiSostenibili.length==0){
$rootScope.messageBox(
$filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.messaggioRicercaAppelliTitolo'),
"info",
$filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.messaggioRicercaAppelliNonTrovati')
);
}
else {
$rootScope.messageBox(
$filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.messaggioRicercaAppelliTitolo'),
"info",
$filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.messaggioRicercaAppelliTrovati',
{numeroAppelli: $scope.esamiSostenibili.length})
);
}
usSpinnerService.stop('spinner-1');
return $scope.esamiSostenibili;
}, function (error) {
usSpinnerService.stop('spinner-1');
});
}
catch (e){
$scope.enti =null;
usSpinnerService.stop('spinner-1');
$rootScope.messageBox(
$filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.messaggioRicercaAppelliTitolo'),
"warn",
$filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.messaggioRicercaAppelliErroreParametr
i')
);
}

};

$scope.selezionaSostenibile=function(index,appello){
$scope.messaggioListaSostenibiliTrovati=null;
if($scope.appelliPrenotabili=='on' && $scope.appelliTrovati) {
$scope.appelliPrenotabili=='off';
document.getElementById("mostraPrenotabili").click();
}

$rootScope.btnVisible("default-next-0",false);

$scope.esameSostenibileScelto=appello;
$scope.esameSostenibileSelezionato=index;
var tipoRicerca=4;
if ($scope.esameSostenibileScelto.autorizzato) tipoRicerca=0;
// se esiste per l'esame selezionato il codiceCorsoInsegnamento
// invio quello altrimenti stringa vuota
var diploma = Ricerca270Service.get(
{
tipoRicerca: tipoRicerca,
criterio: appello.codiceModuloDidattico,
codiceCorso: appello.codiceCorsoInsegnamento ?
appello.codiceCorsoInsegnamento : "",
annoAccaAuto: appello.annoAcca ?
appello.annoAcca : ""
});
diploma.$promise.then(function (result) {
if(result.ritorno.appelli==null ||
result.ritorno.appelli.length<=0){
$scope.messaggioListaSostenibiliTrovati=result.esito.nota ?
result.esito.nota + " - "+ appello.descrizione: 'Errore ricerca appello per
studente 270 con persorso formativo';
$rootScope.messageBox(
$filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.messaggioAppelliSostenibiliTitolo'),
"warn",
$scope.messaggioListaSostenibiliTrovati
);
$scope.appelliTrovati=[];
$rootScope.btnVisible("default-next-0",false);
return;
}
$rootScope.btnVisible("default-next-0",true);
$rootScope.messageBox(
$filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.messaggioAppelliSostenibiliTitolo'),
"success",
$filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.messaggioAppelliSostenibiliTrovati')
+ ' ' + result.ritorno.appelli.length
);
$scope.appelliTrovati=result.ritorno.appelli;
appelliAll=result.ritorno.appelli;
// vai allo step successivo
document.getElementById("default-next-0").click();

// imposta gli appelli prenotabili


$scope.prenotabili=[];
for(var i=0;i<$scope.appelliTrovati.length;i++)

$scope.prenotabili.push($rootScope.isPrenotabile($scope.appelliTrovati[i]));

}, function(error){
$scope.appelliTrovati=[];
});

};

$scope.getDisabilità = function(){
var matricola = UserService.matricola;
var disabilPromise = DisabilitaSoggetto.GET({
matricola: UserService.matricola
}).$promise;
return disabilPromise.then(function(result) {
if (result.codiceErrore === "000") {
$scope.disabilita = result.risultatoLista.risultati;
$scope.disabilitaVisive();
} else {
$rootScope.messageBox(title, "warn",
result.descrizioneErrore ? result.descrizioneErrore : err);
}
}).catch(function(error) {
$rootScope.messageBox(title, "warn", err);
});
};

$scope.disabilitaVisive = function(){
$scope.disabilitaVisive = false;
var disabilitaVisiveArr = ["17","18","19","8","7"];
for (var i = 0; i < $scope.disabilita.length && !
$scope.disabilitaVisive; i++) {
$scope.disabilitaVisive =
disabilitaVisiveArr.includes($scope.disabilita[i].idTipoDisa);
}
};

$scope.visNote =function(appello){
$rootScope.messageBox(
$filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.messaggioNoteAppelloTitolo'),
"info",
appello.note ? appello.note : $filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.messaggioNoteAppelloNonTrovato')
);
};
$rootScope.$on('translateChange', function () {

updateStepy();

});

var updateStepy = function() {


var next = $filter('translate')('wizard.successivo');
var back = $filter('translate')('wizard.indietro');

setTextContent('#default-next-0', next);
setTextContent('#default-back-1', back);

setTextContent('#title-field-0', " " + $filter('translate')


('corsiLaurea.esami.ricercaAppelliSostenibili.selezioneEsame'));
setTextContent('#title-field-1', " " + $filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.prenotaAppello'));
};

var setTextContent = function(id, text) {


var e = $(id);
if (e && e.length > 0) {
e[0].textContent = text;
}
};

var init=function(){
if (!
$translatePartialLoader.isPartAvailable("corsiLaurea.esami.ricercaAppelliSostenibil
i")) {

$translatePartialLoader.addPart("corsilaurea.esami.ricercaAppelliSostenibili");
}
$translate.refresh();

MainMenuService.selectMenuByPath();
// MainMenuService.selectMenu('corsiLaurea');
// SectionService.setSection();
ngProgress.complete();

setTimeout(function(){
var successivo = $filter('translate')('wizard.successivo');
var indietro = $filter('translate')('wizard.indietro');
$('#default').stepy({
class: 'col-lg-12',
backLabel: indietro,
block: true,
nextLabel: successivo,
titleClick: false,
titleTarget: '.stepy-tab'
});
$rootScope.btnVisible("default-next-0",false);
// usSpinnerService.stop('spinner-1');
}, 50);

if($rootScope.getDescrizioneCorsoByIdCorso($rootScope.anagrafica.tipoCorso)!
="corsodilaurea")
$scope.tipoCorsoIsCorsoDiLaurea=false;
else
$scope.tipoCorsoIsCorsoDiLaurea=true;

$rootScope.btnVisible("default-next-0",false);

$scope.esameSostenibileSelezionato=null;
$scope.messaggioListaSostenibiliTrovati=null;
$scope.prenotabili=null;
$scope.appelliTrovati=null;
$scope.esamiSostenibili=null;
$scope.esameSostenibileScelto=null;
var appelliAll=[];

$scope.getDisabilità();
usSpinnerService.spin('spinner-1');

if($rootScope.anagrafica.accessoPrenotazione || !
$rootScope.anagrafica.accessoPrenotazione ) {
$rootScope.ricercaSostenibili();
usSpinnerService.spin('spinner-1');
}
else{
$rootScope.ricercaSostenibili();
$rootScope.messageBox(
$filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.messaggioRicercaAppelliSostenibiliTit
olo'),
"info",
$filter('translate')
('corsiLaurea.esami.ricercaAppelliSostenibili.messaggioRicercaAppelliSostenibiliAcc
essoNegato')
);
setTimeout(function(){
usSpinnerService.stop('spinner-1');
}, 50);
}
};

$scope.checkString = function(val){
if (!val || val.trim()==""){
return;
}else{
return val;
}
};

init();

}]);

Potrebbero piacerti anche