[openads-Commits] r8585 - in branches/4.10.0-develop: . obj tests

0 views
Skip to first unread message

sof...@adullact.net

unread,
Feb 20, 2019, 12:51:20 PM2/20/19
to openmairi...@googlegroups.com
Author: softime
Date: 2019-02-20 18:51:16 +0100 (Wed, 20 Feb 2019)
New Revision: 8585

Modified:
branches/4.10.0-develop/
branches/4.10.0-develop/HISTORY.txt
branches/4.10.0-develop/obj/
branches/4.10.0-develop/obj/consultation.class.php
branches/4.10.0-develop/obj/dossier.class.php
branches/4.10.0-develop/tests/
branches/4.10.0-develop/tests/410_interface_avec_le_referentiel_erp.robot
Log:
* Merge de la branche de d?\195?\169veloppement 4.10.0-develop_interface_erp dans la branche d'int?\195?\169gration 4.10.0-develop


Index: branches/4.10.0-develop
===================================================================
--- branches/4.10.0-develop 2019-02-20 17:45:25 UTC (rev 8584)
+++ branches/4.10.0-develop 2019-02-20 17:51:16 UTC (rev 8585)

Property changes on: branches/4.10.0-develop
___________________________________________________________________
Modified: svn:mergeinfo
## -12,6 +12,7 ##
/branches/4.10.0-develop_ctx_ordre_tri:8519-8534
/branches/4.10.0-develop_dossier_limite:8514-8568
/branches/4.10.0-develop_evo_modif_type_di:8561-8573
+/branches/4.10.0-develop_interface_erp:8516-8584
/branches/4.10.0-develop_numero_rue_DI:8527-8542
/branches/4.10.0-develop_tri_messages:8509-8528
/branches/4.2.0:6740-6928
Modified: branches/4.10.0-develop/HISTORY.txt
===================================================================
--- branches/4.10.0-develop/HISTORY.txt 2019-02-20 17:45:25 UTC (rev 8584)
+++ branches/4.10.0-develop/HISTORY.txt 2019-02-20 17:51:16 UTC (rev 8585)
@@ -24,6 +24,11 @@
éditions générées par les instructions, du mode "Rédaction par complements" au
mode "Rédaction libre".
Ticket #9128.
+* Évolution - Lorsque l'option d'interface avec un référentiel ERP est activée,
+ la case à cocher ERP deviendra non modifiable pour les formulaires des
+ dossiers d'instruction non référencés dans les différents paramètres des
+ déclencheurs de l'interfaçage
+ Ticket #9121.
* Correction - Correction du tri des colonnes du listing des dossiers limites.
Ticket #9123.


Index: branches/4.10.0-develop/obj
===================================================================
--- branches/4.10.0-develop/obj 2019-02-20 17:45:25 UTC (rev 8584)
+++ branches/4.10.0-develop/obj 2019-02-20 17:51:16 UTC (rev 8585)

Property changes on: branches/4.10.0-develop/obj
___________________________________________________________________
Modified: svn:mergeinfo
## -11,6 +11,7 ##
/branches/4.10.0-develop_CSV_consultations/obj:8523-8551
/branches/4.10.0-develop_dossier_limite/obj:8514-8568
/branches/4.10.0-develop_evo_modif_type_di/obj:8561-8573
+/branches/4.10.0-develop_interface_erp/obj:8516-8584
/branches/4.2.0/obj:6740-6928
/branches/4.2.0_bug_avi_consultation_consultations/obj:6745
/branches/4.2.0_bug_avis_consultation_consultations/obj:6746-6772
Modified: branches/4.10.0-develop/obj/consultation.class.php
===================================================================
--- branches/4.10.0-develop/obj/consultation.class.php 2019-02-20 17:45:25 UTC (rev 8584)
+++ branches/4.10.0-develop/obj/consultation.class.php 2019-02-20 17:51:16 UTC (rev 8585)
@@ -2006,13 +2006,62 @@
"obj" => "dossier_instruction",
"idx" => $this->getParameter('idxformulaire'),
));
- $sql_service_by_di = str_replace('<collectivite_di>', $di->getVal("om_collectivite"), $sql_service_by_di);
+ $sql_service = str_replace('<collectivite_di>', $di->getVal("om_collectivite"), $sql_service_by_di);

- $this->init_select($form, $db, $maj, $debug, "service",
- $sql_service_by_di, $sql_service_by_id, true);
- } else {
- $this->init_select($form, $db, $maj, $debug, "service", $sql_service, $sql_service_by_id, true);
+ // Si l'option référentiel ERP est activée, et que le type du
+ // dossier d'instruction en contexte n'est pas autorisé à être
+ // interfacé avec le référentiel ERP, alors les services à consulter
+ // représentant les services ERP ne doivent pas être proposés dans
+ // la liste à choix
+ if ($this->f->is_option_referentiel_erp_enabled($di->getVal("om_collectivite")) === true
+ && $this->f->getDATCode($di->getVal('dossier')) == $this->f-> getParameter ('erp__dossier__nature__pc')
+ &&($this->f->getParameter('erp__dossier__type_di__pc')) !== null) {
+ //
+ $query_where_service_pc = "";
+ $erp_di_pc = $this->f->getParameter('erp__dossier__type_di__pc');
+ $erp_di_pc = explode(";", $erp_di_pc);
+ $type_di = $di->getVal('dossier_instruction_type') ;
+
+ if (in_array($type_di, $erp_di_pc) === false) {
+ // Dans le cas d'une consultation pour avis
+ // Si les identifiant des services à consulter sont définis
+ // dans le paramètre erp__services__avis__pc
+ if ($this->f->getParameter('erp__services__avis__pc') !== null) {
+ $erp_service_pc = $this->f->getParameter('erp__services__avis__pc');
+ $erp_service_pc = explode(";", $erp_service_pc);
+
+ if (is_array($erp_service_pc) === true
+ && empty($erp_service_pc) !== true) {
+ //
+ $query_where_service_pc .= sprintf(
+ ' AND service.service NOT IN (%s) ',
+ implode(", ", $erp_service_pc)
+ );
+ }
+ }
+
+ // Dans le cas d'une consultation pour conformité
+ // Si les identifiant des services à consulter sont définis
+ // dans le paramètre erp__services__avis__pc
+ if ($this->f->getParameter('erp__services__conformite__pc') !== null) {
+ $erp_service_pc = $this->f->getParameter('erp__services__conformite__pc');
+ $erp_service_pc = explode(";", $erp_service_pc);
+
+ if (is_array($erp_service_pc) === true
+ && empty($erp_service_pc) !== true) {
+ //
+ $query_where_service_pc .= sprintf(
+ ' AND service.service NOT IN (%s) ',
+ implode(", ", $erp_service_pc)
+ );
+ }
+ }
+ }
+
+ $sql_service = str_replace('ORDER BY', $query_where_service_pc."ORDER BY", $sql_service);
+ }
}
+ $this->init_select($form, $db, $maj, $debug, "service", $sql_service, $sql_service_by_id, true);

//Seulement dans le cas d'un retour d'avis
if($this->retourformulaire == "demande_avis_encours" or $this->getParameter("maj") == 100 or $this->getParameter("maj") == 90) {

Modified: branches/4.10.0-develop/obj/dossier.class.php
===================================================================
--- branches/4.10.0-develop/obj/dossier.class.php 2019-02-20 17:45:25 UTC (rev 8584)
+++ branches/4.10.0-develop/obj/dossier.class.php 2019-02-20 17:51:16 UTC (rev 8585)
@@ -2177,6 +2177,30 @@
//
$all_fields['date_depot'] = 'date';
}
+ // Gestion de la case à cocher ERP en cas d'interfaçage avec le
+ // référentiel ERP
+ if ($this->f->is_option_referentiel_erp_enabled($this->getVal('om_collectivite')) === true) {
+ // Par défaut la case à cocher ERP est non modifiable
+ $all_fields['erp'] = 'checkboxhiddenstatic';
+ // Si le type du dossier d'instruction en cours est présent
+ // dans les paramètres autorisant l'interfaçage avec le référentiel ERP
+ if (isset($parameters['erp__dossier__nature__at']) === true
+ && $this->f->getDATCode($this->getVal($this->clePrimaire)) == $parameters['erp__dossier__nature__at']) {
+ //
+ $all_fields['erp'] = 'checkbox';
+ }
+ if (isset($parameters['erp__dossier__nature__pc']) === true
+ && $this->f->getDATCode($this->getVal($this->clePrimaire)) == $parameters['erp__dossier__nature__pc']
+ && isset($parameters['erp__dossier__type_di__pc']) === true) {
+ //
+ $erp_di_pc = explode(";", $parameters['erp__dossier__type_di__pc']);
+ if (is_array($erp_di_pc) === true
+ && in_array($this->getVal("dossier_instruction_type"), $erp_di_pc) === true) {
+ //
+ $all_fields['erp'] = 'checkbox';
+ }
+ }
+ }
}
}
// MODIFIER, SUPPRIMER, CONSULTER

Index: branches/4.10.0-develop/tests
===================================================================
--- branches/4.10.0-develop/tests 2019-02-20 17:45:25 UTC (rev 8584)
+++ branches/4.10.0-develop/tests 2019-02-20 17:51:16 UTC (rev 8585)

Property changes on: branches/4.10.0-develop/tests
___________________________________________________________________
Modified: svn:mergeinfo
## -11,6 +11,7 ##
/branches/4.10.0-develop_CSV_consultations/tests:8523-8551
/branches/4.10.0-develop_dossier_limite/tests:8514-8568
/branches/4.10.0-develop_evo_modif_type_di/tests:8561-8573
+/branches/4.10.0-develop_interface_erp/tests:8516-8584
/branches/4.2.0/tests:6740-6928
/branches/4.2.0-evo-amelioration-pictogramme-ctx/tests:6819
/branches/4.2.0_bug_avi_consultation_consultations/tests:6745
Modified: branches/4.10.0-develop/tests/410_interface_avec_le_referentiel_erp.robot
===================================================================
--- branches/4.10.0-develop/tests/410_interface_avec_le_referentiel_erp.robot 2019-02-20 17:45:25 UTC (rev 8584)
+++ branches/4.10.0-develop/tests/410_interface_avec_le_referentiel_erp.robot 2019-02-20 17:51:16 UTC (rev 8585)
@@ -107,7 +107,7 @@
# Service 1
&{service_1} = Create Dictionary
... abrege=SPGR
- ... libelle=Service Prévention et Gestion des Risques ERP
+ ... libelle=Service Prévention et Gestion des Risques ERP TEST410
... edition=Consultation - Demande d'avis
... om_collectivite=MARSEILLE
Ajouter le service depuis le listing ${service_1}
@@ -117,7 +117,7 @@
# Service 2
&{service_2} = Create Dictionary
... abrege=DPH
- ... libelle=Direction des Handicapés
+ ... libelle=Direction des Handicapés TEST410
... edition=Consultation - Demande d'avis
... om_collectivite=MARSEILLE
Ajouter le service depuis le listing ${service_2}
@@ -127,7 +127,7 @@
# Service 3
&{service_3} = Create Dictionary
... abrege=DDC
- ... libelle=Direction de la Circulation
+ ... libelle=Direction de la Circulation TEST410
... edition=Consultation - Pour conformité
... type_consultation=Pour conformité
... om_collectivite=MARSEILLE
@@ -155,6 +155,7 @@
# [105][111]
Ajouter le paramètre depuis le menu erp__evenements__decision__pc 81;31;50 agglo

+ Ajouter le paramètre depuis le menu erp__dossier__type_di__pc 1;6 agglo
#
Ajouter le paramètre depuis le menu option_referentiel_erp true agglo

@@ -483,3 +484,147 @@
Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain Accusé de réception automatique
Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Page Should Contain ${service_3.libelle}
Close PDF
+
+
+Fonctionnement du paramètre erp__dossier__type_di__pc sur la case à cocher ERP et les serivces consultés
+
+ [Documentation] Test du fonctionnement de la case ERP avec les paramètres
+ ... activés, et sur les différents types de dossiers (AT, PC pour les
+ ... différents types et CU).
+
+ # Vérifie le comportement de la case à cocher ERP sur un PC initial lorsque
+ # l'option de l'interfaçage avec le référentiel ERP est désactivée
+ # La case à cocher ERP doit être modifiable mais il n'y a pas d'interfaçage
+ # avec le référentiel ERP
+ Depuis la page d'accueil admin admin
+ Modifier le paramètre option_referentiel_erp false agglo
+ #
+ Depuis la page d'accueil guichet guichet
+ &{args_petitionnaire} = Create Dictionary
+ ... particulier_civilite=Monsieur
+ ... particulier_nom=De-Saint-Blëk
+ ... particulier_prenom=Gonzague
+ &{args_demande} = Create Dictionary
+ ... dossier_autorisation_type_detaille=Permis de construire comprenant ou non des démolitions
+ ... demande_type=Dépôt Initial
+ ${di1} = Ajouter La Nouvelle Demande Depuis Le Tableau De Bord ${args_demande} ${args_petitionnaire}
+ #
+ Depuis la page d'accueil instrpolycomm2 instrpolycomm2
+ Depuis le formulaire de modification du dossier d'instruction ${di1}
+ Select Checkbox css=#erp
+ Unselect Checkbox css=#a_qualifier
+ Click On Submit Button
+ Valid Message Should Contain Vos modifications ont bien été enregistrées.
+ Element Should Not Contain css=div.message.ui-state-valid p span.text référentiel ERP
+
+ # Vérifie le comportement de la case à cocher ERP sur un AT initial lorsque
+ # l'option de l'interfaçage avec le référentiel ERP est activée
+ # La case à cocher ERP doit être modifiable afin de permettre l'interfaçage
+ # avec le référentiel ERP
+ Depuis la page d'accueil admin admin
+ Modifier le paramètre option_referentiel_erp true agglo
+ #
+ Depuis la page d'accueil guichet guichet
+ &{args_petitionnaire} = Create Dictionary
+ ... particulier_civilite=Monsieur
+ ... particulier_nom=Blörk
+ ... particulier_prenom=Gros
+ &{args_demande} = Create Dictionary
+ ... dossier_autorisation_type_detaille=Demande d'autorisation de construire, d'aménager ou de modifier un ERP
+ ... demande_type=Dépôt Initial
+ ${di2} = Ajouter La Nouvelle Demande Depuis Le Tableau De Bord ${args_demande} ${args_petitionnaire}
+ #
+ Depuis la page d'accueil instr instr
+ Depuis le formulaire de modification du dossier d'instruction ${di2}
+ Select Checkbox css=#erp
+ Unselect Checkbox css=#a_qualifier
+ Click On Submit Button
+ Valid Message Should Contain Notification (101) du référentiel ERP OK.
+
+ # Vérifie le comportement de la case à cocher ERP sur un PC initial lorsque
+ # l'option de l'interfaçage avec le référentiel ERP est activée et que le
+ # type du dossier d'instruction est dans le paramètre erp__dossier__type_di__pc
+ # La case à cocher ERP doit être modifiable afin de permettre l'interfaçage
+ # avec le référentiel ERP
+ Depuis la page d'accueil guichet guichet
+ &{args_petitionnaire} = Create Dictionary
+ ... particulier_civilite=Monsieur
+ ... particulier_nom=Blëk
+ ... particulier_prenom=Gentil
+ &{args_demande} = Create Dictionary
+ ... dossier_autorisation_type_detaille=Permis de construire comprenant ou non des démolitions
+ ... demande_type=Dépôt Initial
+ ${di3} = Ajouter La Nouvelle Demande Depuis Le Tableau De Bord ${args_demande} ${args_petitionnaire}
+ #
+ Depuis la page d'accueil instrpolycomm2 instrpolycomm2
+ Depuis le formulaire de modification du dossier d'instruction ${di3}
+ Select Checkbox css=#erp
+ Unselect Checkbox css=#a_qualifier
+ Click On Submit Button
+ Valid Message Should Contain Notification (102) du référentiel ERP OK.
+ Valid Message Should Contain Notification (103) du référentiel ERP OK.
+ # Vérifie que lors de l'ajout d'une consultation les services à consulter
+ # représentant les services ERP sont disponibles dans la liste à choix
+ Depuis l'onglet consultation du dossier ${di3}
+ Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=#action-soustab-consultation-corner-ajouter
+ ${liste_services_ERP} = Create List
+ ... Service Prévention et Gestion des Risques ERP TEST410
+ ... Direction des Handicapés TEST410
+ ... Direction de la Circulation TEST410
+ Wait Until Element Is Visible css=#sformulaire select#service
+ Select List Should Not Contain List css=#sformulaire select#service ${liste_services_ERP}
+
+ # Vérifie le comportement de la case à cocher ERP sur un PC DOC lorsque
+ # l'option de l'interfaçage avec le référentiel ERP est activée et que le
+ # type du dossier d'instruction n'est pas présent dans le paramètre
+ # erp__dossier__type_di__pc
+ # La case à cocher ERP ne doit pas être modifiable afin de ne pas permettre
+ # l'interfaçage avec le référentiel ERP
+ Depuis la page d'accueil guichet guichet
+ &{args_petitionnaire} = Create Dictionary
+ ... particulier_civilite=Monsieur
+ ... particulier_nom=Derrick
+ ... particulier_prenom=Stefan
+ &{args_demande} = Create Dictionary
+ ... dossier_autorisation_type_detaille=Permis de construire comprenant ou non des démolitions
+ ... demande_type=Dépôt Initial
+ ${di4} = Ajouter La Nouvelle Demande Depuis Le Tableau De Bord ${args_demande} ${args_petitionnaire}
+ #
+ Depuis la page d'accueil instrpolycomm2 instrpolycomm2
+ Depuis le formulaire de modification du dossier d'instruction ${di4}
+ Select Checkbox css=#erp
+ Unselect Checkbox css=#a_qualifier
+ Click On Submit Button
+ Valid Message Should Contain Notification (102) du référentiel ERP OK.
+ Valid Message Should Contain Notification (103) du référentiel ERP OK.
+ Ajouter une instruction au DI ${di4} accepter un dossier sans réserve
+ &{args_demande} = Create Dictionary
+ ... demande_type=Demande d'ouverture de chantier
+ ${di5} = Ajouter la demande sur existant depuis le menu ${di4} ${args_demande}
+ Depuis le formulaire de modification du dossier d'instruction ${di5}
+ Form Static Value Should Be css=#erp.field_value Non
+ # Vérifie que lors de l'ajout d'une consultation les services à consulter
+ # représentant les services ERP ne sont pas disponibles dans la liste à choix
+ Depuis l'onglet consultation du dossier ${di5}
+ Wait Until Keyword Succeeds ${TIMEOUT} ${RETRY_INTERVAL} Click Element css=#action-soustab-consultation-corner-ajouter
+ Wait Until Element Is Visible css=#sformulaire select#service
+ Select List Should Not Contain List css=#sformulaire select#service ${liste_services_ERP}
+
+ # Vérifie le comportement de la case à cocher ERP sur un CU initial lorsque
+ # l'option de l'interfaçage avec le référentiel ERP est activée
+ # Le type CU n'étant ni PC, ni AT, le dossier n'est pas interfaçable
+ # La case à cocher ERP ne doit pas être modifiable afin de ne pas permettre
+ # l'interfaçage avec le référentiel ERP
+ Depuis la page d'accueil guichet guichet
+ &{args_petitionnaire} = Create Dictionary
+ ... particulier_civilite=Monsieur
+ ... particulier_nom=Callahan
+ ... particulier_prenom=Harry
+ &{args_demande} = Create Dictionary
+ ... dossier_autorisation_type_detaille=Certificat d'urbanisme
+ ... demande_type=Dépôt Initial
+ ${di6} = Ajouter La Nouvelle Demande Depuis Le Tableau De Bord ${args_demande} ${args_petitionnaire}
+ #
+ Depuis la page d'accueil instrpoly instrpoly
+ Depuis le formulaire de modification du dossier d'instruction ${di6}
+ Form Static Value Should Be css=#erp.field_value Non

Reply all
Reply to author
Forward
0 new messages