Sei sulla pagina 1di 2

Report Issue#3582

Il fulcro del blocco risiede nel boolean


private Boolean accessoPrenotazione (per dafault = false);
della classe
/commonEJB/ejbModule/it/sapienza/common/webservice/model/AnagraficaBase.java
il parametro viene gestito dal metodo
public EsitoContesto getContesto(Long matricola, GWSConfig confWs) throws Exception {….}
(righe 399-407)
// controllo se il soggetto può accedere alla prenotazione
Esito esitoAccessoPrenotazione = anagraficaService.checkAccessoPrenotazione(matricola);
….
if (esitoAccessoPrenotazione.getFlagEsito() == 0)
esitoContesto.getAnagrafica().setAccessoPrenotazione(true);
else if (esitoAccessoPrenotazione.getFlagEsito() == -1){
esitoContesto.getAnagrafica().setAccessoPrenotazione(false);
esitoContesto.getAnagrafica().setAccessoPrenotazioneNote(esitoAccessoPrenotazione.getNota());
}

Quando lo studente dopo aver scelto e pagato il corso singolo, prova a prenotare l’esame, il sistema
“atterra” sulla pagina
.\Angular\phoenixWebClient\app\views\corsiLaurea\ricerca509.html
In particolare nella
riga 251: ng-if="esamiAutorizzati && esamiAutorizzati.length>0"
e
riga 328 : <div class="row" ng-if="anagrafica.accessoPrenotazione">
e
riga 336 : ng-if="anagrafica.accessoPrenotazione && showResearchBox">

ed anche nella pagina


.\Angular\phoenixWebClient\app\views\corsiLaurea\prenotazioni.html
in
riga 90:<div ng-if="!anagrafica.accessoPrenotazione">
e
riga 93:<div class="row panel-esami " ng-if="anagrafica.accessoPrenotazione">
e
riga 106:<div class="row panel-esami " ng-if="anagrafica.accessoPrenotazione">

avviene il controllo dell’accesso alla prenotazione, il quale essendo in “false” inibisce la prenotazione.

Attualmente come soluzione rapida sono stati inibiti i controlli elencati in precedenza e di fatti lo studente
con carriera chiusa, in relazione alle modifiche apportate, può prenotare gli esami senza eseguire il
logout/login.

Qualora tali modifiche non siano implementabili, si possono ipotizzare le seguenti soluzioni:

Soluzione 1:
Modificare il metodo
public EsitoContesto getContesto(Long matricola, GWSConfig confWs) throws Exception {
….
// controllo se il soggetto può accedere alla prenotazione
Esito esitoAccessoPrenotazione = anagraficaService.checkAccessoPrenotazione(matricola);
if (esitoAccessoPrenotazione.getFlagEsito() == 0)
esitoContesto.getAnagrafica().setAccessoPrenotazione(true);
else if (esitoAccessoPrenotazione.getFlagEsito() == -1){
esitoContesto.getAnagrafica().setAccessoPrenotazione(false);
esitoContesto.getAnagrafica().setAccessoPrenotazioneNote(esitoAccessoPrenotazione.getNota());
}
della classe
/AnagraficaEJB/ejbModule/it/sapienza/anagrafica/ejb/AnagraficaEJB.java

Soluzione 2:
iI metodo
public Esito checkCorsoSingolo(Long matricola) throws SQLException {
della classe
/AnagraficaEJB/ejbModule/it/sapienza/anagrafica/ejb/dao/AnagraficaServiceDao.java
Richiama la procedura
SESTCHECK_PCK.CheckCorsoSingolo
Ed il metodo
public Esito checkAccessoPrenotazione(Long matricola) throws SQLException{}
richiama la procedura
"SESTWEBPROC_PCK.CheckAccediPrenotazione"

Si possono ipotizzare opportune modifiche all’interno di tali procedure.

Soluzione 3:
Nella procedura di conferma del corso singolo, dopo la richiesta eseguita dallo studente e la convalida da
segreteria, l’ultimo step è il pulsante “conferma”; si può ipotizzare di aggiungere una funzione javascript
che passa un parametro o un trigger ad un metodo del tipo

public void updateAccessoPrenotazione(String codiSogg){


try{
String sql =
UPDATE SEST_...
SET accessoPrenotazione = true
WHERE CODI_SOGG = parametro

…..
}
}

Da implementare nella classe


/AnagraficaEJB/ejbModule/it/sapienza/anagrafica/ejb/dao/AnagraficaServiceDao.java

Potrebbero piacerti anche