import org.lilie.services.eliot.applications.docs.importexport.rapport.ImportDocRapportHtmlBuilder
import org.lilie.services.eliot.applications.docs.importexport.erreur.DocsErreurInconnue
import org.lilie.services.eliot.annuaire.SecuriteSession
+import org.codehaus.groovy.grails.commons.GrailsApplication
/**
* @author bahj
static transactional = true
+ GrailsApplication grailsApplication
+
DocsImportDonneesManagerService docsImportDonneesManagerService
DocsImportService docsImportService
DocsImportRapport rapportImportDoc = null
String cheminAbsolueImport =
- DocsImportDonneesManagerService.URI_RACINE_IMPORT_DOCS +
+ grailsApplication.config.eliot.docs.racineDossiersImport +
DocsImportDonneesManagerService.PREFIX_NOM_FICHIER_IMPORT + dossier
// Pose un verrou
package org.lilie.services.eliot.applications.messagerie.redirection
import org.lilie.services.eliot.messagerie.Message
-import org.codehaus.groovy.grails.commons.ConfigurationHolder
import groovy.text.SimpleTemplateEngine
import org.springframework.context.ApplicationContextAware
import org.springframework.context.ApplicationContext
import java.text.SimpleDateFormat
+import org.codehaus.groovy.grails.commons.GrailsApplication
/**
* Implémentation de l'interface de service d'envoi d'emails utilisant le
static transactional = false
- private final static String MESSAGE_PREFIX =
- ConfigurationHolder.config.eliot.messagePrefix ?: "[Messagerie ENT] "
+ GrailsApplication grailsApplication
@SuppressWarnings('GrailsStatelessService')
ApplicationContext applicationContext
sendMail {
to redirectionInfo.emailRedirection
from redirectionInfo.porteurENTInfo.emailProjet
- subject MESSAGE_PREFIX + message.sujet
+ subject (grailsApplication.config.eliot.messagePrefix ?: "[Messagerie ENT] ") + message.sujet
html template.toString()
}
import org.lilie.services.eliot.textes.ActiviteRessourceType
import org.springframework.web.multipart.MultipartFile
-import org.codehaus.groovy.grails.commons.ConfigurationHolder
import org.lilie.services.eliot.FichierUtilsService
import org.springframework.web.multipart.MultipartHttpServletRequest
import org.lilie.services.eliot.temps.Evenement
import org.codehaus.groovy.grails.web.json.JSONObject
+import org.codehaus.groovy.grails.commons.GrailsApplication
/**
* @author jbui
*/
class ActiviteParams {
+
+ GrailsApplication grailsApplication
+
Long id
Long activiteASupprimerId
Autorite auteur
FichierService fichierService
ActiviteParams donnerTravailALaMaison
- public static final FICHIER_TAILLE_MAX_MO =
- ConfigurationHolder.config.eliot.textes.fichier.tailleMax.megaOctets
/**
* Initialise l'objet avec les données reçues du frontoffice
)
fichierUtilsService.verifieTailleFichier(
multipartFile,
- FICHIER_TAILLE_MAX_MO
+ grailsApplication.config.eliot.textes.fichier.tailleMax.megaOctets
)
this.fichiers << new RessourceFichierParams(
import org.lilie.services.eliot.securite.impl.DefaultSecuriteSessionFactory
import org.lilie.services.eliot.applications.textes.importexport.rapport.TextesImportRapport
+import org.codehaus.groovy.grails.commons.GrailsApplication
+
/**
* @author ywan
* @author bahj
static transactional = false
+ GrailsApplication grailsApplication
+
TextesImportDonneesManagerService textesImportDonneesManagerService
TextesImportService textesImportService
TextesImportRapport rapportImportCDT = null
String cheminAbsolueImport =
- TextesImportDonneesManagerService.URI_RACINE_IMPORT_TEXTES +
+ grailsApplication.config.eliot.textes.racineDossiersImport +
TextesImportDonneesManagerService.PREFIX_NOM_FICHIER_IMPORT + dossier
// Pose un verrou
package org.lilie.services.eliot.impression.constantes
-import org.codehaus.groovy.grails.commons.ConfigurationHolder
-
/**
* Classe contenant les constantes correspondant aux parametres externalisees
* dans les fichiers de config Groovy
* le nom des options d'impression
*/
static final String PARAM_OPTIONS = "options"
- /**
- * La taille max du logo en ko
- */
- static final Integer TAILLE_MAX_LOGO = ConfigurationHolder.config.eliot.impression.logo.tailleMaxEnKo
-
- /**
- * La taille max du cachet en ko
- */
- static final Integer TAILLE_MAX_CACHET = ConfigurationHolder.config.eliot.impression.cachet.tailleMaxEnKo
/**
* Le type mime des logos et cachets
package org.lilie.services.eliot.impression.stockage
import org.lilie.services.eliot.demon.DemandeTraitement
-import org.codehaus.groovy.grails.commons.ConfigurationHolder
import org.lilie.services.eliot.annuaire.SecuriteSession
import org.lilie.services.eliot.scolarite.anneescolaire.AnneeScolaireService
import org.lilie.services.eliot.scolarite.AnneeScolaire
import java.text.SimpleDateFormat
import org.lilie.services.eliot.scolarite.Etablissement
+import org.codehaus.groovy.grails.commons.GrailsApplication
/**
* Service de stockage et de récupération des fichiers générés par la fonctionnalité de
AnneeScolaireService anneeScolaireService
+ GrailsApplication grailsApplication
+
private final static String PREFIX_DEMANDE_PUBLIPOSTAGE = 'PUBLIPOSTAGE_'
private final static String PREFIX_ETABLISSEMENT = 'ETAB_'
private final static String TRAITEMENT = 'PUBLIPOSTAGE'
- private final static String CHEMIN_FICHIERS_PUBLIPOSTAGE =
- ConfigurationHolder.config.eliot.publipostage.stockageFichier.chemin
/**
* @param demandeTraitement la demande de traitement du publipostage
AnneeScolaire anneeScolaire = AnneeScolaire.get(demandeTraitement.anneeScolaireId)
SimpleDateFormat sdf = new SimpleDateFormat('yyyyMMdd', Locale.FRANCE)
- String result = CHEMIN_FICHIERS_PUBLIPOSTAGE
+ String result = grailsApplication.config.eliot.publipostage.stockageFichier.chemin
result += "/${TRAITEMENT}"
result += "/${PREFIX_ETABLISSEMENT}${etab.uai}"
result += "/${anneeScolaire.code}"
import org.lilie.services.eliot.scolarite.etablissement.PreferenceEtablissementService
import org.lilie.services.eliot.temps.importsts.StsImportUtil
import java.text.SimpleDateFormat
+import org.codehaus.groovy.grails.commons.GrailsApplication
/**
* @author jtra
*/
abstract class AbstractImportDonneesManager {
+ GrailsApplication grailsApplication
+
EtablissementService etablissementService
AnneeScolaireService anneeScolaireService
PreferenceEtablissementService preferenceEtablissementService
package org.lilie.services.eliot.temps.importsts
-import org.codehaus.groovy.grails.commons.ConfigurationHolder
import org.lilie.services.eliot.scolarite.Etablissement
import org.springframework.util.FileCopyUtils
import org.lilie.services.eliot.temps.importsts.rapport.StsImportRapportHtmlBuilder
static transactional = true
- // Chemin du dossier racine de l'import (qui contient un sous dossier par
- // établissement)
- private final static String URI_RACINE_IMPORT_STS =
- ConfigurationHolder.config.eliot.scolarite.import.sts.racineDossiers
-
// Nom des fichiers StsEmp qui seront enregistrés
private final static String NOM_FICHIER_STS_EMP = "sts_emp.xml"
}
String getUriRacineTraitement() {
- return URI_RACINE_IMPORT_STS
+ return grailsApplication.config.eliot.scolarite.import.sts.racineDossiers
}
@Override
import org.lilie.services.eliot.temps.importcommun.AbstractImportDonneesManager
import org.lilie.services.eliot.scolarite.Etablissement
-import org.codehaus.groovy.grails.commons.ConfigurationHolder
import org.lilie.services.eliot.temps.importcommun.ImportEtat
import org.apache.commons.io.FileUtils
import org.lilie.services.eliot.temps.importcommun.ImportType
*/
class UdtConnecteurDonneesManagerService extends AbstractImportDonneesManager {
- def grailsApplication
-
static final Integer UNZIP_TAILLE_MAX_DEFAUT = 0x6400000 // 100MB
- // Chemin du dossier racine de l'import (qui contient un sous dossier par
- // établissement)
- private final static String URI_RACINE_IMPORT_UDT =
- ConfigurationHolder.config.eliot.scolarite.import.udtConnecteur.racineDossiers
-
private final static String PRETRAITEMENT_UDT = 'IMPORT_UDT_PRETRAITEMENT'
// Nom du fichier signalant qu'un import est prêt à être effectué
}
String getUriRacineTraitement() {
- return URI_RACINE_IMPORT_UDT
+ return grailsApplication.config.eliot.scolarite.import.udtConnecteur.racineDossiers
}
@Override
import org.lilie.services.eliot.temps.importcommun.ImportEtat
import org.lilie.services.eliot.temps.importcommun.ImportType
import org.springframework.util.FileCopyUtils
+import org.codehaus.groovy.grails.commons.GrailsApplication
+import org.codehaus.groovy.grails.commons.ConfigurationHolder
/*
* Copyright © FYLAB and the Conseil Régional d'Île-de-France, 2009
StsImportDonneesManagerService stsImportDonneesManagerService
+ GrailsApplication grailsApplication
def setup() {
mockConfig("""
eliot.scolarite.import.sts.racineDossiers = 'racineDossiers'
""")
mockLogging(StsImportDonneesManagerService, true)
+
+ grailsApplication = Mock()
+ grailsApplication.config >> {ConfigurationHolder.config}
}
def "hasDonneesAImporter"() {
def "getUriRacineTraitement"() {
given:
- stsImportDonneesManagerService = new StsImportDonneesManagerService()
+ stsImportDonneesManagerService = new StsImportDonneesManagerService(
+ grailsApplication: grailsApplication
+ )
when:
def result = stsImportDonneesManagerService.getUriRacineTraitement()
import org.lilie.services.eliot.temps.importcommun.ImportEtat
import org.apache.commons.io.FileUtils
+import org.codehaus.groovy.grails.commons.GrailsApplication
+import org.codehaus.groovy.grails.commons.ConfigurationHolder
/**
* @author bahj
*/
class UdtConnecteurDonneesManagerServiceSpec extends UnitSpec {
+ GrailsApplication grailsApplication
+
UdtConnecteurDonneesManagerService udtConnecteurDonneesManagerService
AnneeScolaireService anneeScolaireService
def setup() {
mockConfig("""
eliot.scolarite.import.udt.racineDossiers = '/tmp'
+ eliot.scolarite.import.udtConnecteur.racineDossiers = '/tmp/importUDT'
""")
-
mockLogging(UdtConnecteurDonneesManagerService, false)
anneeScolaireService = Mock()
+ grailsApplication = Mock()
+ grailsApplication.config >> {ConfigurationHolder.config}
+
udtConnecteurDonneesManagerService = new UdtConnecteurDonneesManagerService(
+ grailsApplication: grailsApplication,
anneeScolaireService: anneeScolaireService
)
}
def "getUriRacineTraitement"() {
expect:
udtConnecteurDonneesManagerService.getUriRacineTraitement() ==
- udtConnecteurDonneesManagerService.URI_RACINE_IMPORT_UDT
+ grailsApplication.config.eliot.scolarite.import.udtConnecteur.racineDossiers
}
def "hasDonneesAImporter"() {
dossiers: nomsDossiers,
listeRapportsParDossier: listeRapportsParDossier,
importEnCours: importEnCours,
- urlRacine: DocsImportDonneesManagerService.URI_RACINE_IMPORT_DOCS
+ urlRacine: grailsApplication.config.eliot.docs.racineDossiersImport
]
}
import org.lilie.services.eliot.annuaire.SecuriteSession
import org.springframework.web.multipart.MultipartFile
import org.lilie.services.eliot.FichierUtilsService
-import org.codehaus.groovy.grails.commons.ConfigurationHolder
import org.lilie.services.eliot.docs.erreurs.JcrNomFichierDejaUtiliseException
import org.lilie.services.eliot.docs.erreurs.NomFichierVideException
import org.lilie.services.eliot.docs.erreurs.JcrNomFichierCaracteresInvalidesException
+import org.codehaus.groovy.grails.commons.GrailsApplication
+
/**
* Created by IntelliJ IDEA.
* User: olivier
*/
class GestionnaireFichierService {
- private static final FICHIER_TAILLE_MAX_MO =
- ConfigurationHolder.config.eliot.docs.fichier.tailleMax.megaOctets
+ GrailsApplication grailsApplication
FichierGestionService fichierGestionService
DocsDroitsService docsDroitsService
Boolean partage
) {
Document document
- fichierUtilsService.verifieTailleFichier(fichier, FICHIER_TAILLE_MAX_MO)
+ fichierUtilsService.verifieTailleFichier(fichier, grailsApplication.config.eliot.docs.fichier.tailleMax.megaOctets)
verifieNomFichier(securiteSession, nom, dossierParent)
if (partage) {
document = fichierGestionService.ajouterDocumentPartage(
return
}
- if (filePath.bytes.size() > ConfigImpression.TAILLE_MAX_LOGO * 1024) {
+ def tailleMaxLogo = grailsApplication.config.eliot.impression.logo.tailleMaxEnKo
+
+ if (filePath.bytes.size() > tailleMaxLogo * 1024) {
render messageRetour(false, [code: 'eliot.impression.logo.erreur.tailleTropGrande',
- args: [ConfigImpression.TAILLE_MAX_LOGO.toString()]])
+ args: [tailleMaxLogo.toString()]])
return
}
return
}
- if (filePath.bytes.size() > ConfigImpression.TAILLE_MAX_CACHET * 1024) {
+ def tailleMaxCachet = grailsApplication.config.eliot.impression.cachet.tailleMaxEnKo
+
+ if (filePath.bytes.size() > tailleMaxCachet * 1024) {
render messageRetour(false, [code: 'eliot.impression.cachet.erreur.tailleTropGrande',
- args: [ConfigImpression.TAILLE_MAX_CACHET.toString()]])
+ args: [tailleMaxCachet.toString()]])
return
}
dossiers: nomsDossiers,
listeRapportsParDossier: listeRapportsParDossier,
importEnCours: importEnCours,
- urlRacine: TextesImportDonneesManagerService.URI_RACINE_IMPORT_TEXTES
+ urlRacine: grailsApplication.config.eliot.textes.racineDossiersImport
]
}
import org.lilie.services.eliot.AbstractTextesController
import org.lilie.services.eliot.textes.page.Page
import grails.converters.JSON
-import org.codehaus.groovy.grails.commons.ConfigurationHolder
import org.lilie.services.eliot.textes.DossierRempli
import org.lilie.services.eliot.textes.TextesChapitreService
import org.lilie.services.eliot.scolarite.TypeActiviteService
ActiviteFormulaireService activiteFormulaireService
FormulaireCahierDeTextesDonneesService formulaireCahierDeTextesDonneesService
- public static final int FICHIER_TAILLE_MAX_MO =
- ConfigurationHolder.config.eliot.textes.fichier.tailleMax.megaOctets
private static final String RECHERCHE = 'recherche'
success: false,
message: message(
code: e.messageCode,
- args: [e.nomFichier, FICHIER_TAILLE_MAX_MO]
+ args: [e.nomFichier, grailsApplication.config.eliot.textes.fichier.tailleMax.megaOctets]
)
]
render(text: result as JSON, contentType: 'text/html')
import org.lilie.services.eliot.textes.activite.formulaire.marshaller.FormulaireModificationMarshallerService
import org.lilie.services.eliot.applications.textes.formulaire.FormulaireActivite
import org.lilie.services.eliot.applications.textes.formulaire.ActiviteFormulaireType
+import org.codehaus.groovy.grails.commons.GrailsApplication
/**
* On déporte ce traitement du controlleur vers un service pour limiter les injections de service au niveau controlleur
*/
class ActiviteFormulaireService {
+ GrailsApplication grailsApplication
+
FormulaireCreationMarshallerService formulaireCreationMarshallerService
FormulaireModificationMarshallerService formulaireModificationMarshallerService
FormulaireDuplicationMarshallerService formulaireDuplicationMarshallerService
public static final int NB_LIGNES_CATALOGUE_PAR_PAGE =
ConfigurationHolder.config.eliot.textes.liaison.catalogue.nombreLignesParPage
- public static final int FICHIER_TAILLE_MAX_MO =
- ConfigurationHolder.config.eliot.textes.fichier.tailleMax.megaOctets
private static final String AGENDA = "agenda"
// valeurs du modèle constantes ou par défaut
model.nbLignesParPage = NB_LIGNES_CATALOGUE_PAR_PAGE
- model.maxFileSize = FICHIER_TAILLE_MAX_MO
+ model.maxFileSize = grailsApplication.config.eliot.textes.fichier.tailleMax.megaOctets
model.fromAgenda = false
switch (formulaireActivite.activiteFormulaireType) {