[openads-Commits] r9004 - in branches/4.13.0-develop-VDM: . obj tests tests/resources/app

0 views
Skip to first unread message

jxe...@adullact.net

unread,
Nov 20, 2019, 4:18:27 AM11/20/19
to openmairi...@googlegroups.com
Author: jxerri
Date: 2019-11-20 10:18:25 +0100 (Wed, 20 Nov 2019)
New Revision: 9004

Modified:
branches/4.13.0-develop-VDM/HISTORY.txt
branches/4.13.0-develop-VDM/obj/dossier_instruction.class.php
branches/4.13.0-develop-VDM/tests/100_geolocalisation.robot
branches/4.13.0-develop-VDM/tests/resources/app/instruction.robot
Log:
Int?\195?\169gration de la branche 4.13-filtre-geoloc-auto

Modified: branches/4.13.0-develop-VDM/HISTORY.txt
===================================================================
--- branches/4.13.0-develop-VDM/HISTORY.txt 2019-11-20 09:03:54 UTC (rev 9003)
+++ branches/4.13.0-develop-VDM/HISTORY.txt 2019-11-20 09:18:25 UTC (rev 9004)
@@ -21,7 +21,11 @@
la date de dépôt puis sur le numéro du dossier.
Ticket #????.

+* Évolution - Ajout de filtres pour la géolocalisation automatique afin de
+ paraméter les dossiers candidats.
+ Ticket #????.

+
4.12.0 (31/10/2019)
-------------------


Modified: branches/4.13.0-develop-VDM/obj/dossier_instruction.class.php
===================================================================
--- branches/4.13.0-develop-VDM/obj/dossier_instruction.class.php 2019-11-20 09:03:54 UTC (rev 9003)
+++ branches/4.13.0-develop-VDM/obj/dossier_instruction.class.php 2019-11-20 09:18:25 UTC (rev 9004)
@@ -1513,18 +1513,58 @@
// Récupère les informations de la collectivité de l'utilisateur
// connecté
$collectivite = $this->f->getCollectivite();
-
- // Requête de sélection des dossiers à traiter
- $sql = "SELECT dossier, om_collectivite
- FROM ".DB_PREFIXE."dossier
- WHERE dossier.geom IS NULL
- AND terrain_references_cadastrales IS NOT NULL
- AND terrain_references_cadastrales != ''
- AND parcelle_temporaire IS NOT TRUE";
+ // Récupération du paramétrage pour le filtre des dossiers d'instruction
+ // à géolocaliser automatiquement
+ $param_geolocalisation_auto = $this->f->getParameter("param_geolocalisation_auto");
+ // Initialisation du paramètre à la valeur par défaut
+ $param_filtre = "";
+ // Si le paramètre est renseigné
+ if (is_null($param_geolocalisation_auto) === false
+ && empty($param_geolocalisation_auto) === false) {
+ //
+ $param_geolocalisation_auto = explode(';', $param_geolocalisation_auto);
+ $param_filtre = sprintf('
+ AND dossier.date_depot >= \'%2$s\'
+ AND dossier_autorisation_type.code IN (%3$s)
+ AND (dossier.avis_decision != (
+ SELECT avis_decision
+ FROM %1$savis_decision
+ WHERE libelle = \'%4$s\')
+ OR dossier.avis_decision IS NULL)
+ ',
+ DB_PREFIXE,
+ $param_geolocalisation_auto[0],
+ $param_geolocalisation_auto[1],
+ $param_geolocalisation_auto[2]
+ );
+ }
// Si l'utilisateur est d'une collectivité mono alors on filtre les DI
+ $collectivite_filtre = "";
if ($this->f->isCollectiviteMono($collectivite['om_collectivite_idx']) === true) {
- $sql .= " AND dossier.om_collectivite =". $collectivite['om_collectivite_idx'] ;
+ $collectivite_filtre = sprintf(
+ " AND dossier.om_collectivite = '%s' ",
+ $collectivite['om_collectivite_idx']
+ );
}
+
+ // Requête de sélection des dossiers à traiter
+ $sql = sprintf('
+ SELECT dossier.dossier, dossier.om_collectivite
+ FROM %1$sdossier
+ INNER JOIN %1$sdossier_autorisation ON dossier.dossier_autorisation = dossier_autorisation.dossier_autorisation
+ INNER JOIN %1$sdossier_autorisation_type_detaille ON dossier_autorisation.dossier_autorisation_type_detaille = dossier_autorisation_type_detaille.dossier_autorisation_type_detaille
+ INNER JOIN %1$sdossier_autorisation_type ON dossier_autorisation_type_detaille.dossier_autorisation_type = dossier_autorisation_type.dossier_autorisation_type
+ WHERE dossier.geom IS NULL
+ AND dossier.terrain_references_cadastrales IS NOT NULL
+ AND dossier.terrain_references_cadastrales != \'\'
+ AND dossier.parcelle_temporaire IS NOT TRUE
+ %2$s
+ %3$s
+ ',
+ DB_PREFIXE,
+ $param_filtre,
+ $collectivite_filtre
+ );
$res = $this->f->db->query($sql);
$this->f->addToLog(
__METHOD__.": db->query(\"".$sql."\")",

Modified: branches/4.13.0-develop-VDM/tests/100_geolocalisation.robot
===================================================================
--- branches/4.13.0-develop-VDM/tests/100_geolocalisation.robot 2019-11-20 09:03:54 UTC (rev 9003)
+++ branches/4.13.0-develop-VDM/tests/100_geolocalisation.robot 2019-11-20 09:18:25 UTC (rev 9004)
@@ -36,7 +36,101 @@

Ajouter l'utilisateur depuis le menu Trépanier Antoine sup...@mail.fr admingenlibreville admingenlibreville ADMINISTRATEUR GENERAL Libreville

+ # Ajout du paramètre permettant de filtrer les dossiers d'instruction à
+ # traiter lors de la géolocalisation automatique
+ # Permier argument date de dépôt limite
+ # Deuxième argument liste des type de dossier d'autorisation à traiter
+ # Troisième argument l'avis de décision à ne pas traiter
+ Depuis la page d'accueil admin admin
+ &{param_values} = Create Dictionary
+ ... libelle=param_geolocalisation_auto
+ ... valeur=2015-01-01;'PC','CU';Defavorable
+ ... om_collectivite=agglo
+ Ajouter le paramètre depuis le menu (surcharge) ${param_values}
+
+ # Ajout d'un dossier d'instruction dont la date de dépôt est antérieur à la
+ # date limite du paramètre, il ne devrait pas être comptabiliser dans le
+ # résultat final
&{args_petitionnaire} = Create Dictionary
+ ... particulier_nom=Généreux
+ ... particulier_prenom=Josette
+ ... om_collectivite=Libreville
+ @{ref_cad} = Create List 999 ZZZ 0010
+ &{args_demande} = Create Dictionary
+ ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
+ ... demande_type=Dépôt Initial
+ ... om_collectivite=Libreville
+ ... date_demande=31/12/2014
+ ... terrain_references_cadastrales=${ref_cad}
+ ${di_libelle_FV6} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
+
+ # Ajout d'un dossier d'instruction dont le type n'est pas dans la liste
+ # autorisée du paramètre, il ne devrait pas être comptabiliser dans le
+ # résultat final
+ &{args_petitionnaire} = Create Dictionary
+ ... particulier_nom=Bélanger
+ ... particulier_prenom=Daniel
+ ... om_collectivite=Libreville
+ @{ref_cad} = Create List 999 ZZZ 0011
+ &{args_demande} = Create Dictionary
+ ... dossier_autorisation_type_detaille=Déclaration préalable
+ ... demande_type=Dépôt Initial
+ ... om_collectivite=Libreville
+ ... date_demande=01/01/2018
+ ... terrain_references_cadastrales=${ref_cad}
+ ${di_libelle_FV7} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
+
+ # Ajout d'un dossier d'instruction dont l'avis de décision est identique à
+ # celui du paramètre, il ne devrait pas être comptabiliser dans le résultat
+ # final
+ &{args_petitionnaire} = Create Dictionary
+ ... particulier_nom=Collin
+ ... particulier_prenom=Arthur
+ ... om_collectivite=Libreville
+ @{ref_cad} = Create List 999 ZZZ 0012
+ &{args_demande} = Create Dictionary
+ ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes
+ ... demande_type=Dépôt Initial
+ ... om_collectivite=Libreville
+ ... date_demande=01/01/2018
+ ... terrain_references_cadastrales=${ref_cad}
+ ${di_libelle_FV8} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
+ Ajouter une instruction au DI et la finaliser ${di_libelle_FV8} ARRÊTÉ DE REFUS 2
+ &{args_instruction} = Create Dictionary
+ ... date_retour_rar=${DATE_FORMAT_DD/MM/YYYY}
+ Modifier le suivi des dates ${di_libelle_FV8} ARRÊTÉ DE REFUS 2 ${args_instruction}
+
+ # Ajout d'un dossier d'instruction dont le type est dans la liste autorisée
+ # du paramètre, il devrait être comptabiliser dans le résultat final
+ &{args_petitionnaire} = Create Dictionary
+ ... particulier_nom=Picard
+ ... particulier_prenom=Huette
+ ... om_collectivite=Libreville
+ @{ref_cad} = Create List 999 ZZZ 0013
+ &{args_demande} = Create Dictionary
+ ... dossier_autorisation_type_detaille=Certificat d'urbanisme
+ ... demande_type=Dépôt Initial
+ ... om_collectivite=Libreville
+ ... date_demande=01/01/2018
+ ... terrain_references_cadastrales=${ref_cad}
+ ${di_libelle_FV9} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
+
+ # Contrôle le résultation du traitement de la géolocalisation automatique
+ # 1 seul des 4 dossiers d'instructions devrait être traité
+ Depuis la page d'accueil admingenlibreville admingenlibreville
+ Go To Submenu In Menu administration geocoder
+ Click On Submit Button
+ Element Should Contain css=div#formulaire Libreville
+ Element Should Contain css=div#formulaire 1 dossier(s) d'instruction a(ont) été géolocalisé(s)
+ Element Should Not Contain css=div#formulaire dossier(s) d'instruction n'a(ont) pas pu être géolocalisé(s)
+ Element Should Not Contain css=div.message.ui-state-valid p span.text Freeville
+ Depuis le contexte du dossier d'instruction ${di_libelle_FV9}
+ Form Value Should Contain geom POINT(10123 10456)
+ Depuis le contexte du dossier d'instruction ${di_libelle_FV8}
+ Form Value Should Contain geom ${EMPTY}
+
+
+ &{args_petitionnaire} = Create Dictionary
... particulier_nom=Simard
... particulier_prenom=Julienne
... om_collectivite=Libreville
@@ -156,12 +250,13 @@
... parcelle_temporaire=true
${di_libelle_FV5} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}

+ # Contrôle les résultat de la géolocalisation automatique
Depuis la page d'accueil admingenlibreville admingenlibreville
Go To Submenu In Menu administration geocoder
Click On Submit Button Until Message dossier(s) d'instruction a(ont) été géolocalisé(s)
Element Should Contain css=div#formulaire Libreville
- Element Should Contain css=div#formulaire 1 dossier(s) d'instruction a(ont) été géolocalisé(s)
- Element Should Contain css=div#formulaire 3 dossier(s) d'instruction n'a(ont) pas pu être géolocalisé(s)
+ Element Should Contain css=div#formulaire 2 dossier(s) d'instruction a(ont) été géolocalisé(s)
+ Element Should Contain css=div#formulaire 2 dossier(s) d'instruction n'a(ont) pas pu être géolocalisé(s)
Element Should Contain css=div#formulaire 1 dossier(s) d'instruction en erreur à la vérification des parcelles
Element Should Contain css=div#formulaire 1 dossier(s) d'instruction en erreur au calcul de l'emprise
Element Should Contain css=div#formulaire 1 dossier(s) d'instruction en erreur au calcul du centroïde

Modified: branches/4.13.0-develop-VDM/tests/resources/app/instruction.robot
===================================================================
--- branches/4.13.0-develop-VDM/tests/resources/app/instruction.robot 2019-11-20 09:03:54 UTC (rev 9003)
+++ branches/4.13.0-develop-VDM/tests/resources/app/instruction.robot 2019-11-20 09:18:25 UTC (rev 9004)
@@ -102,8 +102,8 @@
Depuis l'instruction du dossier d'instruction ${di} ${instruction} ${menu}
# On clique sur l'action 'Suivi des dates'
${sousform} = Set Variable If '${menu}' == 'infraction' instruction_contexte_ctx_inf
- ... ELSE IF '${menu}' == 'recours' instruction_contexte_ctx_re
- ... ELSE instruction
+ ... '${menu}' == 'recours' instruction_contexte_ctx_re
+ ... instruction
Click On SubForm Portlet Action ${sousform} modifier_suivi
Si "date_finalisation_courrier" existe dans "${instruction_values}" on execute "Input Text" dans "${sousform}"
Si "date_envoi_signature" existe dans "${instruction_values}" on execute "Input Text" dans "${sousform}"

Reply all
Reply to author
Forward
0 new messages