Date dateFinFormattee = formateDateFin(dateFin)
- ElementLivre livreCahierDeTextes = new ElementLivre(cdt)
-
- livreCahierDeTextes.description = cdt.description
- livreCahierDeTextes.nom = cdt.nom
- livreCahierDeTextes.debut = dateDebut
- livreCahierDeTextes.fin = dateFinFormattee
- livreCahierDeTextes.inclureChapitreVide = avecChapitreVide
-
- ElementChapitreInvisible elementChapitreInvisible = new ElementChapitreInvisible()
-
- SecuriteSession securiteSessionEliot = DefaultSecuriteSessionFactory.
- getEliotTextesSecuriteSessionForCodePorteurENT(
- etablissement.codePorteurENT
- )
+ ElementLivre livreCahierDeTextes = createLivreCahierDeTextes(cdt, dateDebut, dateFinFormattee, avecChapitreVide)
List<Activite> activites = findAllActivite(
cdt,
peutVoirActiviteSansDate
)
+ ElementChapitreInvisible elementChapitreInvisible = new ElementChapitreInvisible()
+
activites.each {
Activite activite ->
- if (log.infoEnabled) {
- log.info "Activite : " + activite
- }
-
- ElementActivite elementActivite = new ElementActivite(activite)
-
- elementActivite.ressources
-
- elementActivite.docInfos = findNoticesBiblio(
- securiteSessionEliot,
+ livreCahierDeTextes = ajouteInformationsActivite(livreCahierDeTextes,
+ elementChapitreInvisible,
etablissement,
activite,
+ peutVoirActiviteNonPubliee,
autorite)
- Chapitre chap = activite.chapitre
-
- if (chap) {
-
- if (log.infoEnabled) {
- log.info "L'activité est dans un chapitre"
- }
-
- ElementCahierDeTextes elementChapitre = livreCahierDeTextes.findElement(chap)
-
- if (!elementChapitre) {
-
- // si l'élément chapitre n'existe pas, on doit construire un nouveau chapitre
- elementChapitre =
- construitBrancheDesChapitres(
- chap,
- livreCahierDeTextes
- )
- }
-
- if (peutVoirActiviteNonPubliee || elementActivite.getActivite().estPubliee) {
- elementChapitre.addEnfant(elementActivite)
- }
-
- } else {
-
- if (peutVoirActiviteNonPubliee || elementActivite.getActivite().estPubliee) {
- elementChapitreInvisible.addEnfant(elementActivite)
- }
-
- }
-
}
if (!elementChapitreInvisible.isEmpty()) {
order(livreCahierDeTextes)
- if (livreCahierDeTextes.isEmpty()) {
- livreCahierDeTextes.addEnfant(new ElementChapitreVide())
+ gestionCahierDeTextesVide(livreCahierDeTextes)
+
+ return livreCahierDeTextes
+
+ }
+
+ private ElementLivre createLivreCahierDeTextes(CahierDeTextes cdt, Date dateDebut, Date dateFinFormattee, boolean avecChapitreVide) {
+
+ ElementLivre livreCahierDeTextes = new ElementLivre(cdt)
+
+ livreCahierDeTextes.description = cdt.description
+ livreCahierDeTextes.nom = cdt.nom
+ livreCahierDeTextes.debut = dateDebut
+ livreCahierDeTextes.fin = dateFinFormattee
+ livreCahierDeTextes.inclureChapitreVide = avecChapitreVide
+ return livreCahierDeTextes
+ }
+
+ private ElementLivre ajouteInformationsActivite(ElementLivre livreCahierDeTextes,
+ ElementChapitreInvisible chapitreInvisible,
+ Etablissement etablissement,
+ Activite activite,
+ boolean peutVoirActiviteNonPubliee,
+ Autorite autorite) {
+ if (log.infoEnabled) {
+ log.info "Activite : " + activite
+ }
+
+ ElementActivite elementActivite = new ElementActivite(activite)
+
+ ajoutRessources(etablissement, autorite, elementActivite, activite)
+
+ Chapitre chap = activite.chapitre
+
+ if (chap) {
+
+ if (log.infoEnabled) {
+ log.info "L'activité est dans un chapitre"
+ }
+
+ ElementCahierDeTextes elementChapitre = livreCahierDeTextes.findElement(chap)
+
+ if (!elementChapitre) {
+
+ // si l'élément chapitre n'existe pas, on doit construire un nouveau chapitre
+ elementChapitre =
+ construitBrancheDesChapitres(
+ chap,
+ livreCahierDeTextes
+ )
+ }
+
+ if (peutVoirActiviteNonPubliee || elementActivite.getActivite().estPubliee) {
+ elementChapitre.addEnfant(elementActivite)
+ }
+
+ } else {
+
+ if (peutVoirActiviteNonPubliee || elementActivite.getActivite().estPubliee) {
+ chapitreInvisible.addEnfant(elementActivite)
+ }
+
}
return livreCahierDeTextes
+ }
+
+ private void ajoutRessources(Etablissement etablissement, Autorite autorite, ElementActivite elementActivite, Activite activite) {
+
+ SecuriteSession securiteSessionEliot = DefaultSecuriteSessionFactory.
+ getEliotTextesSecuriteSessionForCodePorteurENT(
+ etablissement.codePorteurENT
+ )
+
+ elementActivite.ressources
+ elementActivite.docInfos = findNoticesBiblio(
+ securiteSessionEliot,
+ etablissement,
+ activite,
+ autorite)
+ }
+
+ private void gestionCahierDeTextesVide(ElementLivre livreCahierDeTextes) {
+ if (livreCahierDeTextes.isEmpty()) {
+ livreCahierDeTextes.addEnfant(new ElementChapitreVide())
+ }
}
/**