import org.lilie.services.eliot.notes.AbstractNotesController
import org.lilie.services.eliot.notes.page.Page
-import org.lilie.services.eliot.droits.Action
import org.lilie.services.eliot.scolarite.StructureEnseignement
import org.lilie.services.eliot.notes.scolarite.NotesStructureEnseignementService
import grails.converters.JSON
import org.lilie.services.eliot.impression.donnees.eleve.SelectionAdresseResponsableEnum
import org.lilie.services.eliot.notes.exception.PeriodeNonPublieException
import org.lilie.services.eliot.urllabel.breadcrumbs.BreadCrumbsItemInfo
-import org.lilie.services.eliot.annuaire.SecuriteSession
import org.lilie.services.eliot.notes.NotesFonctionnalite
+import org.lilie.services.eliot.droits.PerimetreEleve
/**
* @author bper
if (isAccesDirect(params)) {
classe = StructureEnseignement.get(params.classeId)
- eleves = listeEleves(securiteSession, classe)
+ eleve = Personne.get(params.eleveId)
+
+ verifieDroitAccesObjetDomaine(classe)
+ verifieDroitAccesObjetDomaine(eleve)
+
+ eleves = listeEleves(classe)
periode = Periode.get(params.periodeId)
+
List<Periode> periodes = classe.periodes.toList().sort()
periodeInfos = periodes.collect {
new PeriodeInfo(idPeriode: it.id, libelle: getTypePeriodeLibelle(it.typePeriode))
}
- eleve = Personne.get(params.eleveId)
+
+
try {
releve = releveService.construisReleve(securiteSession, eleve, periode)
} catch (PeriodeNonPublieException e) {
if (classes?.size() == 1) {
classe = classes.first()
- eleves = listeEleves(securiteSession, classe)
+ eleves = listeEleves(classe)
// Liste de période de la classe sélectionnée
List<Periode> periodes = classe.periodes.toList().sort()
// périmètre élève
resultat.isEleveOuParent =
- notesDroitService.hasPerimetreEleve(securiteSession)
+ notesDroitService.hasPerimetre(securiteSession, PerimetreEleve)
}
resultat = ajouteAnnotations(resultat)
// La liste des classes auxquelles l'utilisateur a l'accès
List<StructureEnseignement> classes = notesStructureEnseignementService.
- findAllClasseForUtilisateur(
- securiteSession,
- etablissementCourant(),
- Action.CONSULTATION)
+ findAllClasseConsultableParUtilisateur(securiteSession)
classes.sort {a, b -> cc.compare(a.code, b.code)}
}
- private List<Personne> listeEleves(SecuriteSession securiteSession,
- StructureEnseignement classe) {
-
- List<Personne> eleves
+ private List<Personne> listeEleves(StructureEnseignement classe) {
// Récupère les élèves de la classe auxqulles l'utilisateur a l'accès
- eleves = notesPersonneService.findAllEleveByClasseForUtilisateur(
- securiteSession, classe)
-
- return eleves
+ return notesPersonneService.findAllEleveByClasseForUtilisateur(securiteSession, classe)
}
result = tryCatch {
verifieDroitFonctionnalite(NotesFonctionnalite.NOTES_CONSULT_RELEVE_BULLETIN)
- Periode periode = Periode.get(Long.valueOf(params.periodeId))
- Personne eleve = Personne.get(Long.valueOf(params.eleveId))
+ Periode periode = Periode.get(params.periodeId)
+ Personne eleve = Personne.get(params.eleveId)
+
+ verifieDroitAccesObjetDomaine(eleve)
+ verifieDroitAccesObjetDomaine(periode?.classe)
+
Releve releve = null
Boolean relevePublie = true
String message = null
def imprimerReleve = {
verifieDroitFonctionnalite(NotesFonctionnalite.NOTES_CONSULT_RELEVE_BULLETIN)
- Periode periode = Periode.get(Long.valueOf(params.periodeId))
+ Personne eleve = Personne.get(params.eleveId)
+ Periode periode = Periode.get(params.periodeId)
+
+ verifieDroitAccesObjetDomaine(eleve)
+ verifieDroitAccesObjetDomaine(periode?.classe)
+
String libelleTypePeriode = getTypePeriodeLibelle(periode.typePeriode)
- Personne eleve = Personne.get(Long.valueOf(params.eleveId))
List<Personne> lstEleve = [eleve]
TemplateDocument templateDocument = TemplateDocument.findByCode("RELEVE_NOTES_1")