import org.lilie.services.eliot.notes.scolarite.NotesStructureEnseignementService
import org.lilie.services.eliot.notes.AbstractNotesController
import org.lilie.services.eliot.droits.Action
-import org.lilie.services.eliot.notes.NotesDroitService
import org.lilie.services.eliot.scolarite.PeriodeService
import org.lilie.services.eliot.scolarite.TypePeriode
-import org.lilie.services.eliot.notes.NotesFonction
import org.lilie.services.eliot.scolarite.NaturePeriode
import org.lilie.services.eliot.notes.scolarite.NotesSousServiceService
-
+import org.lilie.services.eliot.notes.NotesFonctionnalite
/**
* La classe contient toutes les actions communes qui concernent à
*/
class StructureEnseignementController extends AbstractNotesController {
- NotesDroitService notesDroitService
NotesStructureEnseignementService notesStructureEnseignementService
PeriodeService periodeService
NotesSousServiceService notesSousServiceService
*/
def listeClasses = {
Map result = tryCatch {
- notesDroitService.verifieAutorisationByEtablissement(
- securiteSession,
- etablissementCourant(),
- Action.CONSULTATION,
- (List) (NotesFonction.ENSEIGNANT_ASSIMILE +
- NotesFonction.DIRECTION_ASSIMILE
- )
- )
+ verifieDroitAnyFonctionnaliteInList([
+ NotesFonctionnalite.NOTES_PARAM,
+ NotesFonctionnalite.NOTES_PUBLIPOST
+ ])
List<StructureEnseignement> classes = notesStructureEnseignementService.
findAllClasseForUtilisateur(
// crée les périodes si pas encore crées. Il nous faut typeIntervalle pour
// l'affichage
classes.each { StructureEnseignement classe ->
- if (classe?.structureEnseignementNotes.typeIntervalle == null) {
+ if (classe?.structureEnseignementNotes?.typeIntervalle == null) {
periodeService.creePeriodesNotationPourStructureEnseignement(classe)
}
}
render result as JSON
}
- /**
- * Retourne la liste des Maps contenant les id et les codes d'une classe
- * et de tous ses groupes
- * @return liste de classes/groupes au format JSON contient ['id','code']
- * @author bper
- */
- def listeClasseEtSesGroupes = {
- Map result = getResultIfNullParams(['idClasse'])
- if (!result) {
- result = tryCatch {
- notesDroitService.verifieAutorisationByEtablissement(
- securiteSession,
- etablissementCourant(),
- Action.CONSULTATION,
- NotesFonction.DIRECTION_ASSIMILE
- )
-
- Long idClasse = Long.valueOf(params.idClasse)
- List<StructureEnseignement> structureEnseignements =
- notesStructureEnseignementService.findAllGroupeByClasse(
- StructureEnseignement.get(idClasse),
- [sort: "code", order: "asc"]
- )
- structureEnseignements.add(0, StructureEnseignement.get(idClasse))
-
- structureEnseignements.sort {a, b -> cc.compare(a.code, b.code)}
-
- [listeStructureEnseignements:
- structureEnseignements.collect {[id: it.id, code: it.code]}]
- }
- }
-
- render result as JSON
- }
-
/**
* Liste des classes sur lesquelles ont peut applique le paramétrage
* @param classeId
*/
def listeClassesReportParametrage = {
Map result = tryCatch {
- notesDroitService.verifieAutorisationByEtablissement(
- securiteSession,
- etablissementCourant(),
- Action.CONSULTATION,
- NotesFonction.DIRECTION_ASSIMILE
- )
+ verifieDroitFonctionnalite(NotesFonctionnalite.NOTES_PARAM)
Long classeId = Long.valueOf(params.classeId)
StructureEnseignement classeSource = StructureEnseignement.get(classeId)
def listeClassesParTypePeriode = {
Map result = tryCatch {
- notesDroitService.verifieAutorisationByEtablissement(
- securiteSession,
- etablissementCourant(),
- Action.CONSULTATION,
- NotesFonction.DIRECTION_ASSIMILE
- )
+ verifieDroitFonctionnalite(NotesFonctionnalite.NOTES_PUBLIPOST)
String typePeriodeIdStr = params.periodeId // en réalité c'est typePeriodeId, pas periodeId
if (typePeriodeIdStr == null) {
def listeClassesParNaturePeriode = {
Map result = tryCatch {
- notesDroitService.verifieAutorisationByEtablissement(
- securiteSession,
- etablissementCourant(),
- Action.CONSULTATION,
- NotesFonction.DIRECTION_ASSIMILE
- )
+ verifieDroitFonctionnalite(NotesFonctionnalite.NOTES_PARAM)
String naturePeriodeStr = params.naturePeriode
if (naturePeriodeStr == null) {