sec(licence): restriction de l'option et de la visibilité réduction éducateur aux seuls administrateurs

This commit is contained in:
2026-08-07 23:56:03 +02:00
parent b0fe8002c5
commit 76e54de182
3 changed files with 31 additions and 13 deletions
@@ -77,8 +77,13 @@ public class LicenceController {
licence.setTypeDemande(typeDemande);
licence.setTypeLicence(typeLicence);
licence.setCommentaire(commentaire);
licence.setReductionEducateur(Boolean.TRUE.equals(reductionEducateur));
licence.setPourcentageReductionEducateur(pourcentageReductionEducateur != null ? pourcentageReductionEducateur : 100);
if (isUserAdmin()) {
licence.setReductionEducateur(Boolean.TRUE.equals(reductionEducateur));
licence.setPourcentageReductionEducateur(pourcentageReductionEducateur != null ? pourcentageReductionEducateur : 100);
} else {
licence.setReductionEducateur(false);
licence.setPourcentageReductionEducateur(100);
}
if (equipeId != null) {
Equipe equipe = equipeRepository.findById(equipeId)
@@ -120,8 +125,10 @@ public class LicenceController {
licence.setTypeDemande(typeDemande);
licence.setTypeLicence(typeLicence);
licence.setCommentaire(commentaire);
licence.setReductionEducateur(Boolean.TRUE.equals(reductionEducateur));
licence.setPourcentageReductionEducateur(pourcentageReductionEducateur != null ? pourcentageReductionEducateur : 100);
if (isUserAdmin()) {
licence.setReductionEducateur(Boolean.TRUE.equals(reductionEducateur));
licence.setPourcentageReductionEducateur(pourcentageReductionEducateur != null ? pourcentageReductionEducateur : 100);
}
if (equipeId != null) {
Equipe equipe = equipeRepository.findById(equipeId)
@@ -270,4 +277,10 @@ public class LicenceController {
return cb.and(predicates.toArray(new jakarta.persistence.criteria.Predicate[0]));
};
}
private boolean isUserAdmin() {
org.springframework.security.core.Authentication auth = org.springframework.security.core.context.SecurityContextHolder.getContext().getAuthentication();
return auth != null && auth.getAuthorities().stream()
.anyMatch(a -> a.getAuthority().equals("ROLE_ADMIN") || a.getAuthority().equals("ADMIN"));
}
}