import org.lilie.services.eliot.PeriodeLibelleMode
import org.lilie.services.eliot.notes.NotesFonctionnalite
import org.lilie.services.eliot.securite.perimetre.PerimetreEtablissement
+import org.lilie.services.eliot.securite.perimetre.PerimetreClasseEnseignantPrincipal
/**
* Appréciations saisie par l'enseignant pour les élèves d'un service
verifieNotNull(periode, 'params.periodeId')
verifieNotNull(eleve, 'params.eleveId')
- if (!notesDroitService.hasPerimetre(securiteSession, PerimetreEtablissement)){
- verifieAccesProfPrincipal(classe)
+ if (!(notesDroitService.hasPerimetre(securiteSession, PerimetreEtablissement) ||
+ notesDroitService.isObjetDansPerimetre(securiteSession, PerimetreClasseEnseignantPrincipal, classe))) {
+ Personne personne = Personne.findByAutorite(securiteSession.defaultAutorite)
+ throw new AutorisationException("""La personne connectée (id : ${personne.id})
+ n'est ni directeur ni professeur principal de la classe ${classe.code}""")
}
appreciationEleveEnseignementPeriodeService.internalSaveAppreciation(