public static final Long LOT_SUPPRESSION = 4000
- private static final String HQL_PROCHAIN_EVENT_POSTERIEUR_DATE = """
- select evenement
- from RelAgendaEvenement rel
- where rel.agenda.id = :agendaEnseignantId
- and rel.evenement.agendaMaitre.id = :agendaStructureId
- and rel.evenement.dateHeureDebut > :jour
- and rel.evenement.enseignement = :enseignement
- order by rel.evenement.dateHeureDebut
- """
-
- // pareil que HQL_PROCHAIN_EVENT_POSTERIEUR_DATE avec >= :jour
- private static final String HQL_PROCHAIN_EVENT = """
- select evenement
- from RelAgendaEvenement rel
- where rel.agenda.id = :agendaEnseignantId
- and rel.evenement.agendaMaitre.id = :agendaStructureId
- and rel.evenement.dateHeureDebut >= :jour
- and rel.evenement.enseignement = :enseignement
- order by rel.evenement.dateHeureDebut
- """
-
/**
* Crée un événement simple dans un agenda en mode Système
* A utiliser que par l'import des emplois du temps
* @throws EliotTempsException
*
*/
- Evenement creerEvenementSimpleByEliotAutorite(Agenda agendaMaitre,
- Autorite eliotAutorite,
- TypeEvenement type,
- String objet,
- Date dateHeureDebut,
- Date dateHeureFin,
- Enseignement enseignement = null,
- Map options = [:]
+ public Evenement creerEvenementSimpleByEliotAutorite(Agenda agendaMaitre,
+ Autorite eliotAutorite,
+ TypeEvenement type,
+ String objet,
+ Date dateHeureDebut,
+ Date dateHeureFin,
+ Enseignement enseignement = null,
+ Map options = [:]
) throws EliotTempsException {
if (eliotAutorite.type == Autorite.TYPE_ELIOT) {
if (log.infoEnabled) {log.info "Création d'un événement : $objet, pour $agendaMaitre, par l'autorité eliot: $eliotAutorite.idExterne"}
* la création de l'événement
*
*/
- Evenement creerEvenementSimple(Agenda agendaMaitre,
- String objet,
- Date dateHeureDebut,
- Date dateHeureFin,
- SecuriteSession securiteSession,
- Map options = [:]
+ public Evenement creerEvenementSimple(Agenda agendaMaitre,
+ String objet,
+ Date dateHeureDebut,
+ Date dateHeureFin,
+ SecuriteSession securiteSession,
+ Map options = [:]
) throws EliotTempsException {
//Vérification des droits
if (securiteSession) {
)
}
- /**
- * Crée un événement simple dans un agenda
- * Ne vérifie pas les droits de modification de l'agenda
- * @param agendaMaitre agenda dans lequel l'événement a été crée
- * @param objet : sujet de l'événement
- * @param dateHeureDebut : date et heure de début
- * @param dateHeureFin : date et heure de fin
- * @param autorite : autorité de l'événement
- * @param options : objet Map qui contient
- * - lieu: lieu de l'événement
- * - description: description de l'événement
- * - rappel (par défaut à non)
- * - confidentialite (par défaut à Par défaut)
- * - disponibilite (par défaut à disponible)
- * - uid: identifiant de l'événement
- * @return evenement: l'événement crée
- * @throws EliotTempsException: en cas d'erreur dans la créeation
- * de l'événement
- *
- */
- private Evenement interneCreerEvenementSimple(Agenda agendaMaitre,
- String objet,
- Date dateHeureDebut,
- Date dateHeureFin,
- Autorite autorite,
- TypeEvenement type,
- Map options = [:],
- Enseignement enseignement = null
- ) throws EliotTempsException {
-
- Map parametresEvenement = [:]
-
- if (options.rappel) {parametresEvenement += [rappel: options.rappel]}
-
- if (options.confidentialite) {
- parametresEvenement += [confidentialite: options.confidentialite]
- }
- if (options.disponibilite) {
- parametresEvenement += [disponibilite: options.disponibilite]
- }
- if (options.uid) {
- parametresEvenement += [uid: options.uid]
- }
- if (options.touteLaJournee) {
- parametresEvenement += [touteLaJournee: options.touteLaJournee]
- }
-
- if (enseignement) {
- parametresEvenement += [enseignement: enseignement]
- }
-
- parametresEvenement += [
- auteur: autorite,
- objet: objet,
- type: type,
- lieu: options.lieu,
- description: options.description,
- dateHeureDebut: dateHeureDebut,
- dateHeureFin: dateHeureFin,
- agendaMaitre: agendaMaitre,
- frequence: Evenement.EVENEMENT_PONCTUEL
- ]
-
- Evenement evenement = new Evenement(parametresEvenement)
- if (evenement.hasErrors()) {
- throw EvenementCreationException.exception(evenement)
- }
- else {
- if (evenement.save(flush: true)) {
- RelAgendaEvenement relAgendaEvenement = new RelAgendaEvenement(
- evenement: evenement,
- agenda: agendaMaitre
- )
- evenement.addToRelAgendasEvenements(relAgendaEvenement)
- evenement.save(flush: true)
- return evenement
- }
- else {
- throw EvenementCreationException.exception(evenement)
- }
- }
- }
-
- /**
- * Ajoute un événement simple dans un agenda
- * Vérife les droits, si la session a le droit de modifier l'agenda,
- * il a le droit d'ajouter n'importe quel événement
- * @param evenement : événement à ajouter
- * @param agenda : agenda dans lequel en ajoute l'événement
- * @param securiteSession : la session en court
- * @throws EliotTempsException : si l'événement est déjà attaché
- * à l'agenda
- * @throws AutorisationException: si l'utilisateur
- * n'a pas le droit de modifier l'agenda
- *
- */
- void ajouterEvenementToAgenda(Evenement evenement,
- Agenda agenda,
- SecuriteSession securiteSession
- ) throws EliotTempsException {
-
- //Vérification des droits
- if (securiteSession) {
- tempsSecuriteService.verifieAutorisationModification(agenda,
- securiteSession
- )
- }
-
- if (log.infoEnabled) {log.info "Ajout de l'événement: $evenement.objet à l'agenda: $agenda.nom"}
- if (isEvenementAttacheAgenda(evenement, agenda)) {
- throw EvenementAttacheException.exception(evenement, agenda)
- }
- else {
- RelAgendaEvenement relAgendaEvenement = new RelAgendaEvenement(
- evenement: evenement,
- agenda: agenda)
- relAgendaEvenement.save()
- evenement.addToRelAgendasEvenements(relAgendaEvenement)
- }
- }
-
/**
* Ajoute un événement simple dans un agenda en mode autorite système
* A utiliser seulement par l'autorite Temps
/**
* Retourne la liste des évènements à consolider avec les évènements de l'import UDT.
*/
- List<Evenement> findAllEvenementAConsoliderAvecUdt(List<Long> structureIds,
- Date debut,
- Date fin) {
+ public List<Evenement> findAllEvenementAConsoliderAvecUdt(List<Long> structureIds,
+ Date debut,
+ Date fin) {
if (structureIds.size() == 0) {
return []
securiteSession
)
}
- if (log.infoEnabled) {log.info "Modification de l'événement : $evenementAmodifier.objet"}
+
+ if (log.infoEnabled) {
+ log.info "Modification de l'événement : $evenementAmodifier.objet"
+ }
+
// dateTime de début
evenementAmodifier.dateHeureDebut = dateHeureDebut
// dateTime de la fin
*/
@SuppressWarnings('CatchException')
public Collection<Agenda> getListeConsultablesAgendasAttachesToEvenement(Long identifiant,
- SecuriteSession securiteSession) {
+ SecuriteSession securiteSession) {
List<Agenda> agendasConsultablesAttachesToEvent = []
List<Agenda> agendasAttachesToEvent = getListeAgendasAttachesToEvenement(
identifiant
* Retourne les évènements d'un agenda
*/
public List<Evenement> findEvenementsForListEnseignementAndJour(List<Enseignement> enseignements,
- Date jour) {
+ Date jour) {
Calendar debutJour = Calendar.getInstance()
debutJour.setTime(jour)
Calendar finJour = (Calendar) debutJour.clone()
return droitsCdt
}
+ /**
+ * Crée un événement simple dans un agenda
+ * Ne vérifie pas les droits de modification de l'agenda
+ * @param agendaMaitre agenda dans lequel l'événement a été crée
+ * @param objet : sujet de l'événement
+ * @param dateHeureDebut : date et heure de début
+ * @param dateHeureFin : date et heure de fin
+ * @param autorite : autorité de l'événement
+ * @param options : objet Map qui contient
+ * - lieu: lieu de l'événement
+ * - description: description de l'événement
+ * - rappel (par défaut à non)
+ * - confidentialite (par défaut à Par défaut)
+ * - disponibilite (par défaut à disponible)
+ * - uid: identifiant de l'événement
+ * @return evenement: l'événement crée
+ * @throws EliotTempsException: en cas d'erreur dans la créeation
+ * de l'événement
+ *
+ */
+ private Evenement interneCreerEvenementSimple(Agenda agendaMaitre,
+ String objet,
+ Date dateHeureDebut,
+ Date dateHeureFin,
+ Autorite autorite,
+ TypeEvenement type,
+ Map options = [:],
+ Enseignement enseignement = null
+ ) throws EliotTempsException {
+
+ Map parametresEvenement = [:]
+
+ if (options.rappel) {parametresEvenement += [rappel: options.rappel]}
+
+ if (options.confidentialite) {
+ parametresEvenement += [confidentialite: options.confidentialite]
+ }
+ if (options.disponibilite) {
+ parametresEvenement += [disponibilite: options.disponibilite]
+ }
+ if (options.uid) {
+ parametresEvenement += [uid: options.uid]
+ }
+ if (options.touteLaJournee) {
+ parametresEvenement += [touteLaJournee: options.touteLaJournee]
+ }
+
+ if (enseignement) {
+ parametresEvenement += [enseignement: enseignement]
+ }
+
+ parametresEvenement += [
+ auteur: autorite,
+ objet: objet,
+ type: type,
+ lieu: options.lieu,
+ description: options.description,
+ dateHeureDebut: dateHeureDebut,
+ dateHeureFin: dateHeureFin,
+ agendaMaitre: agendaMaitre,
+ frequence: Evenement.EVENEMENT_PONCTUEL
+ ]
+
+ Evenement evenement = new Evenement(parametresEvenement)
+ if (evenement.hasErrors()) {
+ throw EvenementCreationException.exception(evenement)
+ }
+ else {
+ if (evenement.save(flush: true)) {
+ RelAgendaEvenement relAgendaEvenement = new RelAgendaEvenement(
+ evenement: evenement,
+ agenda: agendaMaitre
+ )
+ evenement.addToRelAgendasEvenements(relAgendaEvenement)
+ evenement.save(flush: true)
+ return evenement
+ }
+ else {
+ throw EvenementCreationException.exception(evenement)
+ }
+ }
+ }
+
+ /**
+ * Ajoute un événement simple dans un agenda
+ * Vérife les droits, si la session a le droit de modifier l'agenda,
+ * il a le droit d'ajouter n'importe quel événement
+ * @param evenement : événement à ajouter
+ * @param agenda : agenda dans lequel en ajoute l'événement
+ * @param securiteSession : la session en court
+ * @throws EliotTempsException : si l'événement est déjà attaché
+ * à l'agenda
+ * @throws AutorisationException: si l'utilisateur
+ * n'a pas le droit de modifier l'agenda
+ *
+ */
+ private void ajouterEvenementToAgenda(Evenement evenement,
+ Agenda agenda,
+ SecuriteSession securiteSession
+ ) throws EliotTempsException {
+
+ //Vérification des droits
+ if (securiteSession) {
+ tempsSecuriteService.verifieAutorisationModification(agenda,
+ securiteSession
+ )
+ }
+
+ if (log.infoEnabled) {log.info "Ajout de l'événement: $evenement.objet à l'agenda: $agenda.nom"}
+ if (isEvenementAttacheAgenda(evenement, agenda)) {
+ throw EvenementAttacheException.exception(evenement, agenda)
+ }
+ else {
+ RelAgendaEvenement relAgendaEvenement = new RelAgendaEvenement(
+ evenement: evenement,
+ agenda: agenda)
+ relAgendaEvenement.save()
+ evenement.addToRelAgendasEvenements(relAgendaEvenement)
+ }
+ }
+
}