sof...@adullact.net
unread,Feb 20, 2019, 12:51:20 PM2/20/19Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
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