import grails.converters.JSON
import org.codehaus.groovy.grails.web.converters.exceptions.ConverterException
+import org.lilie.services.eliot.backoffice.Filtre
import org.lilie.services.eliot.temps.DateUtil
class RestBackofficeConfigController {
response.characterEncoding = "utf-8"
- Map filtre = [:]
- Map pagination = [:]
- if (params?.uai) {filtre.uai = params.uai}
- if (params?.isEtabEliot != null) {filtre.isEtabEliot = Boolean.valueOf(params.isEtabEliot)}
- if (params?.isEliotOpen != null) {filtre.isEliotOpen = Boolean.valueOf(params.isEliotOpen)}
- if (params?.isCdtOpen != null) {filtre.isCdtOpen = Boolean.valueOf(params.isCdtOpen)}
- if (params?.baseEleve) {filtre.baseEleve = params.baseEleve}
- if (params?.lvs != null) {filtre.lvs = Boolean.valueOf(params.lvs)}
- if (params?.udt != null) {filtre.udt = Boolean.valueOf(params.udt)}
- if (params?.max) {pagination.max = Integer.parseInt(params.max)}
- if (params?.offset) {pagination.offset = Integer.parseInt(params.offset)}
-
- List configs = []
- configs = backofficeService.listeConfigBackoffice(filtre,pagination)
- Integer nombreBackofficeConfigs = backofficeService.compteBackofficeConfigFiltre(filtre)
+ Filtre filtre = getEtablissementFiltre()
+ Map pagination = getPagination()
+
+ List configs = backofficeService.listeConfigBackoffice(filtre, pagination)
Map backofficeConfigReponse = [
backofficeConfigs: configs,
- nombreBackofficeConfigs: nombreBackofficeConfigs
+ nombreBackofficeConfigs: configs ? configs.first().nombreTotal : 0
]
render(backofficeConfigReponse.encodeAsJSON())
}
+ private Map getPagination() {
+ Map pagination = [:]
+ if (params.max) {
+ pagination.max = Integer.parseInt(params.max)
+ }
+ if (params.offset) {
+ pagination.offset = Integer.parseInt(params.offset)
+ }
+ pagination
+ }
+
+ private Filtre getEtablissementFiltre() {
+ Filtre filtre = new Filtre()
+ if (params.uai) {
+ filtre.uai = params.uai
+ }
+ if (params.isEtabEliot != null) {
+ filtre.isEtabEliot = Boolean.valueOf(params.isEtabEliot)
+ }
+ if (params.isEliotOpen != null) {
+ filtre.isEliotOpen = Boolean.valueOf(params.isEliotOpen)
+ }
+ if (params.isCdtOpen != null) {
+ filtre.isCdtOpen = Boolean.valueOf(params.isCdtOpen)
+ }
+ if (params.baseEleve) {
+ filtre.baseEleve = params.baseEleve
+ }
+ if (params.lvs != null) {
+ filtre.lvs = Boolean.valueOf(params.lvs)
+ }
+ if (params.udt != null) {
+ filtre.udt = Boolean.valueOf(params.udt)
+ }
+
+ if (params.dernierImportUdtDtDeb) {
+ filtre.dernierImportUdtDtDeb = parseDate(params.dernierImportUdtDtDeb)
+ }
+ if (params.dernierImportUdtDtFin) {
+ filtre.dernierImportUdtDtFin = parseDate(params.dernierImportUdtDtFin)
+ }
+ if (params.dernierImportAnnuaireDtDeb) {
+ filtre.dernierImportAnnuaireDtDeb = parseDate(params.dernierImportAnnuaireDtDeb)
+ }
+ if (params.dernierImportAnnuaireDtFin) {
+ filtre.dernierImportAnnuaireDtFin = parseDate(params.dernierImportAnnuaireDtFin)
+ }
+
+ return filtre
+ }
+
private boolean isSaveBodyValide(def json) {
return json && json instanceof JSONArray && !json.isEmpty()
}
Map filtre = [:]
if (params.uai) {filtre.uai = params.uai}
if (params.debutImport) {
- filtre.debutImport = DateUtil.parse(params.debutImport, 'dd/MM/yyyy')
+ filtre.debutImport = parseDate(params.debutImport)
}
List importsUdt = backofficeService.listeImportsUdt(filtre)
render(importsUdt.encodeAsJSON())
}
+ private static Date parseDate(String date) {
+ DateUtil.parse(date, 'dd/MM/yyyy')
+ }
+
}