Skip to content

Commit

Permalink
fix(T214): gestione rimozione utente_x_ruolo 20250120
Browse files Browse the repository at this point in the history
  • Loading branch information
federico-tocci-dxc authored and lcucuzzella committed Jan 20, 2025
1 parent db8bbf2 commit 313f74d
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ public interface EnteSedeProgettoFacilitatoreRepository extends JpaRepository<En
"WHERE 1 = 1\n" +
"AND (ID_PROGETTO,ID_ENTE,ID_SEDE) <> (:idProgetto, :idEnte, :idSede)\n" +
"AND RUOLO_UTENTE = :codiceRuolo\n" +
"AND id_facilitatore = :codiceFiscaleUtente\n",
"AND id_facilitatore = :codiceFiscaleUtente\n" +
"AND stato_utente <> 'TERMINATO'",
nativeQuery = true)
List<EnteSedeProgettoFacilitatoreEntity> findAltreAssociazioni(Long idProgetto, Long idEnte, Long idSede, String codiceFiscaleUtente, String codiceRuolo);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,23 @@ public void cancellaOTerminaAssociazioneFacilitatoreOVolontarioAEnteSedeProgetto
enteSedeProgettoFacilitatore.getRuoloUtente()
);
}

// Controllo se l'utente è FAC o VOL(a seconda del codiceRuolo che mi viene
// passato) su altri gestori progetto oltre a questo
boolean unicaAssociazione = this.enteSedeProgettoFacilitatoreRepository
.findAltreAssociazioni(enteSedeProgettoFacilitatore.getId().getIdProgetto(),
enteSedeProgettoFacilitatore.getId().getIdEnte(),
enteSedeProgettoFacilitatore.getId().getIdSede(),
enteSedeProgettoFacilitatore.getId().getIdFacilitatore(),
enteSedeProgettoFacilitatore.getRuoloUtente())
.isEmpty();

/*Se la condizione sopra è vera allora insieme all'associazione del referente al gestore progetto
* imposterò a cancellato anche l'associazione dell'utente al ruolo
*/
if(unicaAssociazione) {
this.ruoloService.cancellaRuoloUtente(enteSedeProgettoFacilitatore.getId().getIdFacilitatore(), enteSedeProgettoFacilitatore.getRuoloUtente());
}
}


Expand Down Expand Up @@ -322,16 +339,6 @@ public void cancellaAssociazioniFacilitatoriOVolontariAEnteSedeProgetto(
public void cancellaAssociazioneFacilitatore(Long idEnte, Long idSede, Long idProgetto, String codiceFiscaleUtente, String codiceRuolo) {
EnteSedeProgettoFacilitatoreKey id = new EnteSedeProgettoFacilitatoreKey(idEnte, idSede, idProgetto, codiceFiscaleUtente);
this.enteSedeProgettoFacilitatoreRepository.deleteById(id);

//Controllo se l'utente è FAC o VOL(a seconda del codiceRuolo che mi viene passato) su altri gestori progetto oltre a questo
boolean unicaAssociazione = this.enteSedeProgettoFacilitatoreRepository.findAltreAssociazioni(idProgetto,idEnte, idSede, codiceFiscaleUtente, codiceRuolo).isEmpty();

/*Se la condizione sopra è vera allora insieme all'associazione del referente al gestore progetto
* imposterò a cancellato anche l'associazione dell'utente al ruolo
*/
if(unicaAssociazione) {
this.ruoloService.cancellaRuoloUtente(codiceFiscaleUtente, codiceRuolo);
}
}

@LogMethod
Expand Down

0 comments on commit 313f74d

Please sign in to comment.