[openads-Commits] r17957 - in branches/module_notif_auto: . gen/obj obj tests

0 views
Skip to first unread message

cga...@users.adullact.net

unread,
Jun 18, 2024, 3:37:49 AM (8 days ago) Jun 18
to openmairi...@googlegroups.com
Author: cgarcin
Date: 2024-06-18 09:37:47 +0200 (Tue, 18 Jun 2024)
New Revision: 17957

Added:
branches/module_notif_auto/deploy/
branches/module_notif_auto/tests/145_03_notification_demandeur_portal_annexe.robot
Modified:
branches/module_notif_auto/
branches/module_notif_auto/HISTORY.txt
branches/module_notif_auto/gen/obj/parametrage_annexe.class.php
branches/module_notif_auto/obj/
branches/module_notif_auto/obj/instruction.class.php
branches/module_notif_auto/obj/instruction_notification_manuelle.class.php
branches/module_notif_auto/obj/module_manager.class.php
branches/module_notif_auto/tests/
Log:
chore(branch) : merge branch 6.6.0-develop


Index: branches/module_notif_auto
===================================================================
--- branches/module_notif_auto 2024-06-18 07:17:01 UTC (rev 17956)
+++ branches/module_notif_auto 2024-06-18 07:37:47 UTC (rev 17957)

Property changes on: branches/module_notif_auto
___________________________________________________________________
Modified: svn:mergeinfo
## -711,6 +711,7 ##
/branches/6.5.0-develop-error-contrainte-traitement-sig:17384-17432
/branches/6.5.0-develop_fix_avis_produit_onglet_pieces:17288-17414
/branches/6.6.0-10411:17736-17870
+/branches/6.6.0-develop:17926-17956
/branches/6.6.0-develop--improve-task:17580-17609
/branches/6.6.0-develop-10391-SupportPlatAuSousDossier:17581-17697
/branches/6.6.0-develop-10409-GestionTODO:17700-17768
## -719,6 +720,7 ##
/branches/6.6.0-develop-10424-AjoutHooksInstruction:17818-17859
/branches/6.6.0-develop-10427-AjoutGetObjectName:17878-17886
/branches/6.6.0-develop-10428-ModuleAnnexes:17883-17913
+/branches/6.6.0-develop-10431-ScriptInstallationModules:17909-17953
/branches/6.6.0-develop-bug-user-with-space:17809-17837
/branches/6.6.0-develop-documentation-document_type:17801-17845
/branches/6.6.0-develop-integration-type_documents:17635-17756
## -730,6 +732,7 ##
/branches/6.6.0-develop_fix_ajout_intensif_journal:17714-17783
/branches/6.6.0-develop_fix_recup_modele_remplac_instr_par_doc:17729-17792
/branches/6.6.0-develop_fix_stockage_fichier_apres_doc_signe:17707-17788
+/branches/6.6.0-develop_notif_manu_annexe_hors_date:17797-17937
/branches/6.6.0-develop_recup_doc_notif_annexe:17671-17739
/branches/6.6.0-develop_renommer_bouton_copie_adresse_demandeur:17727-17745
/branches/6.6.0-maj-npm-css:17530-17865
Modified: branches/module_notif_auto/HISTORY.txt
===================================================================
--- branches/module_notif_auto/HISTORY.txt 2024-06-18 07:17:01 UTC (rev 17956)
+++ branches/module_notif_auto/HISTORY.txt 2024-06-18 07:37:47 UTC (rev 17957)
@@ -4,7 +4,14 @@
6.6.0 (unreleased)
------------------

-* Évolution - Mise en place des hooks liée aux instructions - [#10389] [MC0044635][MC0045937]
+* Évolution - Message d'avertissement du dépassement de la date limite d'instruction
+ lors de la notification manuelle des pétitionnaires via le portail citoyen.
+ Ticket #10362.
+* Evolution - Ajout de la tables et des fonction de gestion des annexes - [#10389] [MC0044635][MC0045937] Modules Flux Platau
+ Ticket #10428.
+* Evolution - Ajout de la gestion du flux Documents spécifiques - [#10389] [MC0044635][MC0045937] Modules Flux Platau
+ Ticket #10419.
+* Évolution - Mise en place des hooks liée aux instructions - [#10389] [MC0044635][MC0045937]
Modules Flux Platau.
Ticket #10424.
* Évolution - Remplacement de la valeur de la colonne type des “Pièces et Documents” - [#10389] [MC0044635][MC0045937]

Modified: branches/module_notif_auto/gen/obj/parametrage_annexe.class.php
===================================================================
--- branches/module_notif_auto/gen/obj/parametrage_annexe.class.php 2024-06-18 07:17:01 UTC (rev 17956)
+++ branches/module_notif_auto/gen/obj/parametrage_annexe.class.php 2024-06-18 07:37:47 UTC (rev 17957)
@@ -1,6 +1,6 @@
<?php
//$Id$
-//gen openMairie le 12/06/2024 17:59
+//gen openMairie le 17/06/2024 09:50

require_once "../obj/om_dbform.class.php";

@@ -174,7 +174,7 @@
function setTaille(&$form, $maj) {
$form->setTaille("parametrage_annexe", 11);
$form->setTaille("instruction", 11);
- $form->setTaille("document_object_type", 20);
+ $form->setTaille("document_object_type", 30);
$form->setTaille("document_object_type_id", 11);
$form->setTaille("condition", 20);
}
@@ -185,7 +185,7 @@
function setMax(&$form, $maj) {
$form->setMax("parametrage_annexe", 11);
$form->setMax("instruction", 11);
- $form->setMax("document_object_type", 20);
+ $form->setMax("document_object_type", 63);
$form->setMax("document_object_type_id", 11);
$form->setMax("condition", 20);
}

Index: branches/module_notif_auto/obj
===================================================================
--- branches/module_notif_auto/obj 2024-06-18 07:17:01 UTC (rev 17956)
+++ branches/module_notif_auto/obj 2024-06-18 07:37:47 UTC (rev 17957)

Property changes on: branches/module_notif_auto/obj
___________________________________________________________________
Modified: svn:mergeinfo
## -670,6 +670,7 ##
/branches/6.5.0-develop-error-contrainte-traitement-sig/obj:17384-17432
/branches/6.5.0-develop_fix_avis_produit_onglet_pieces/obj:17288-17414
/branches/6.6.0-10411/obj:17736-17870
+/branches/6.6.0-develop/obj:17926-17956
/branches/6.6.0-develop--improve-task/obj:17580-17609
/branches/6.6.0-develop-10391-SupportPlatAuSousDossier/obj:17581-17697
/branches/6.6.0-develop-10409-GestionTODO/obj:17700-17768
## -678,6 +679,7 ##
/branches/6.6.0-develop-10424-AjoutHooksInstruction/obj:17818-17859
/branches/6.6.0-develop-10427-AjoutGetObjectName/obj:17878-17886
/branches/6.6.0-develop-10428-ModuleAnnexes/obj:17883-17913
+/branches/6.6.0-develop-10431-ScriptInstallationModules/obj:17909-17953
/branches/6.6.0-develop-bug-user-with-space/obj:17809-17837
/branches/6.6.0-develop-documentation-document_type/obj:17801-17845
/branches/6.6.0-develop-integration-type_documents/obj:17635-17756
## -688,6 +690,7 ##
/branches/6.6.0-develop_fix_ajout_intensif_journal/obj:17714-17783
/branches/6.6.0-develop_fix_recup_modele_remplac_instr_par_doc/obj:17729-17792
/branches/6.6.0-develop_fix_stockage_fichier_apres_doc_signe/obj:17707-17788
+/branches/6.6.0-develop_notif_manu_annexe_hors_date/obj:17797-17937
/branches/6.6.0-develop_recup_doc_notif_annexe/obj:17671-17739
/branches/6.6.0-develop_renommer_bouton_copie_adresse_demandeur/obj:17727-17745
/branches/6.6.0-maj-npm-css/obj:17530-17865
Modified: branches/module_notif_auto/obj/instruction.class.php
===================================================================
--- branches/module_notif_auto/obj/instruction.class.php 2024-06-18 07:17:01 UTC (rev 17956)
+++ branches/module_notif_auto/obj/instruction.class.php 2024-06-18 07:37:47 UTC (rev 17957)
@@ -3012,7 +3012,7 @@
* Calcul une regle à partir des données de l'url et affiche son
* résultat au format json
*/
- public function is_date_limite_notification_dossier_depasse() {
+ public function is_date_limite_notification_dossier_depasse($contexte_notification_manuelle = False) {
// Récupération de la date limite
$dossier = $this->f->get_inst__om_dbform(array(
'obj' => 'dossier',
@@ -3027,6 +3027,7 @@
// Compare la date limite à j+1 et la date du jour
// La date du jour est récupérée via la fonction date pour pouvoir comparer
// des timestamps de début de journée
+ if ($contexte_notification_manuelle === True) return strtotime($date_limite) < strtotime(date("Y-m-d")) ? True : False;
echo strtotime($date_limite) < strtotime(date("Y-m-d")) ? 'True' : 'False';
}


Modified: branches/module_notif_auto/obj/instruction_notification_manuelle.class.php
===================================================================
--- branches/module_notif_auto/obj/instruction_notification_manuelle.class.php 2024-06-18 07:17:01 UTC (rev 17956)
+++ branches/module_notif_auto/obj/instruction_notification_manuelle.class.php 2024-06-18 07:37:47 UTC (rev 17957)
@@ -307,7 +307,12 @@
$message = __("Attention l'url d'accès au(x) document(s) notifié(s) n'est pas paramétrée.");
$this->f->displayMessage($message_class, $message);
}
+ if ($this->is_date_limite_notification_dossier_depasse(True)) {
+ $message_class = "warning";
+ $message = __("Vous êtes sur le point de notifier un document alors que la date limite d’instruction est dépassée.");
+ $this->f->displayMessage($message_class, $message);

+ }
// Préparation du champs de sélection de l'annexe
if ($selectAnnexe === true) {
// Le message n'est pas affiché si l'utilisateur a déjà sélectionner des documents

Modified: branches/module_notif_auto/obj/module_manager.class.php
===================================================================
--- branches/module_notif_auto/obj/module_manager.class.php 2024-06-18 07:17:01 UTC (rev 17956)
+++ branches/module_notif_auto/obj/module_manager.class.php 2024-06-18 07:37:47 UTC (rev 17957)
@@ -97,6 +97,86 @@
}

/**
+ * Fonction incluant le fichier du module qu'il soit dans son propre sous dossier ou dans le dossier module
+ *
+ * @param string $module_name : nom du module à inclure
+ * @param string $module_dir : nom du dossier du module à inclure
+ *
+ */
+ protected function require_once_module($module_name, $module_dir) {
+ $module_script = "$module_dir/$module_name.php";
+ $module_folder_script = "$module_dir/$module_name/$module_name.php";
+ if (file_exists($module_script)) {
+ require_once $module_script;
+ } else if (file_exists($module_folder_script)) {
+ require_once $module_folder_script;
+ } else {
+ throw new RuntimeException("File named $module_name.php unfound ! ");
+ }
+ }
+
+ /**
+ * Fonction qui instancie le module nommée
+ *
+ * @param string $module_name : nom du module à instancier
+ * @param lien_module $wf_module_link Instance de lien module
+ * @param mixed $object Un objet métier à associer au module
+ *
+ * @return object : Instance du module
+ */
+ public function get_module_instance($module_name, lien_module $wf_module_link = null, $object = null) {
+ $module_dir = $this->get_modules_dir();
+ $this->require_once_module($module_name, $module_dir);
+ $module_name_camel = str_replace(' ', '', ucfirst(preg_replace('/[^a-zA-Z0-9]/', ' ', $module_name)));
+ $module_namespace = "Module\\$module_name_camel";
+ $module_class_path = $module_namespace.'\\'.$module_name;
+ $module_instance = new $module_class_path($module_dir, $this->framework, $wf_module_link, $object );
+ return $module_instance;
+ }
+
+ /**
+ * Fonction permettant de recuperer un module nommée et de lancer ses fonctions d'installations
+ *
+ * @param string $module_name : nom du module à instancier
+ *
+ * @return boolean : True ou False
+ */
+ public function install_modules($module_names) {
+ foreach ($module_names as $module_name){
+ try {
+ $module_instance = $this->get_module_instance($module_name);
+ $module_instance->install();
+ } catch (RuntimeException $re) {
+ $this->log(__METHOD__, " RuntimeException: $module_name => $re");
+ file_put_contents(STDERR, " RuntimeException: $module_name => $re", FILE_APPEND );
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Fonction permettant de recuperer un module nommée et de lancer ses fonctions d'installations
+ *
+ * @param string $module_name : nom du module à instancier
+ *
+ * @return boolean : True ou False
+ */
+ public function uninstall_modules($module_names) {
+ foreach ($module_names as $module_name){
+ try {
+ $module_instance = $this->get_module_instance($module_name);
+ $module_instance->uninstall();
+ } catch (RuntimeException $re) {
+ $this->log(__METHOD__, " RuntimeException: $module_name => $re");
+ file_put_contents(STDERR, " RuntimeException: $module_name => $re", FILE_APPEND );
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
* Charge la configuration dynamique des modules (si pas déjà fait), spécifiquement:
* - défini '$this->all_available_hooks' à partir de '$hooks'
* - défini '$this->enabled_for' à partir de '$modules_enabled_for'

Index: branches/module_notif_auto/tests
===================================================================
--- branches/module_notif_auto/tests 2024-06-18 07:17:01 UTC (rev 17956)
+++ branches/module_notif_auto/tests 2024-06-18 07:37:47 UTC (rev 17957)

Property changes on: branches/module_notif_auto/tests
___________________________________________________________________
Modified: svn:mergeinfo
## -664,6 +664,7 ##
/branches/6.5.0-develop-error-contrainte-traitement-sig/tests:17384-17432
/branches/6.5.0-develop_fix_avis_produit_onglet_pieces/tests:17288-17414
/branches/6.6.0-10411/tests:17736-17870
+/branches/6.6.0-develop/tests:17926-17956
/branches/6.6.0-develop--improve-task/tests:17580-17609
/branches/6.6.0-develop-10391-SupportPlatAuSousDossier/tests:17581-17697
/branches/6.6.0-develop-10409-GestionTODO/tests:17700-17768
## -671,6 +672,7 ##
/branches/6.6.0-develop-10420-ModuleCalculDeclencheur/tests:17803-17804
/branches/6.6.0-develop-10424-AjoutHooksInstruction/tests:17818-17859
/branches/6.6.0-develop-10428-ModuleAnnexes/tests:17883-17913
+/branches/6.6.0-develop-10431-ScriptInstallationModules/tests:17909-17953
/branches/6.6.0-develop-bug-user-with-space/tests:17809-17837
/branches/6.6.0-develop-documentation-document_type/tests:17801-17845
/branches/6.6.0-develop-integration-type_documents/tests:17635-17756
## -682,6 +684,7 ##
/branches/6.6.0-develop_fix_ajout_intensif_journal/tests:17714-17783
/branches/6.6.0-develop_fix_recup_modele_remplac_instr_par_doc/tests:17729-17792
/branches/6.6.0-develop_fix_stockage_fichier_apres_doc_signe/tests:17707-17788
+/branches/6.6.0-develop_notif_manu_annexe_hors_date/tests:17797-17937
/branches/6.6.0-develop_recup_doc_notif_annexe/tests:17671-17739
/branches/6.6.0-develop_renommer_bouton_copie_adresse_demandeur/tests:17727-17745
/branches/6.6.0-maj-npm-css/tests:17530-17865
Copied: branches/module_notif_auto/tests/145_03_notification_demandeur_portal_annexe.robot (from rev 17956, branches/6.6.0-develop/tests/145_03_notification_demandeur_portal_annexe.robot)
===================================================================
--- branches/module_notif_auto/tests/145_03_notification_demandeur_portal_annexe.robot (rev 0)
+++ branches/module_notif_auto/tests/145_03_notification_demandeur_portal_annexe.robot 2024-06-18 07:37:47 UTC (rev 17957)
@@ -0,0 +1,138 @@
+*** Settings ***
+Documentation Notification des demandeurs via le portail citoyen avec annexe -
+... Tests dédiés aux validations du message de confirmation lorsqu'on
+... clique sur l'action de notification.
+
+# On inclut les mots-clefs
+Resource resources/resources.robot
+# On ouvre et on ferme le navigateur respectivement au début et à la fin
+# du Test Suite.
+Suite Setup For Suite Setup
+Suite Teardown For Suite Teardown
+
+*** Test Cases ***
+Constitution du jeu de données
+ [Documentation] L'objet de ce 'Test Case' est de constituer le jeu de données
+ Run Keyword If '${CONTEXT_NOTIFICATION_CREATED}' == 'False' Constitution du jeu de données - Notification
+ Set Global Variable ${CONTEXT_NOTIFICATION_CREATED} True
+
+ Construction du Parametrage - Notification
+
+Activation de la notification par le portail citoyen
+ [Documentation] Activation de la notification par le portail citoyen
+
+ # Modification du paramétrage de notification
+ &{param_args} = Create Dictionary
+ ... libelle=option_notification
+ ... valeur=mail
+ ... om_collectivite=LIBRECOM_NOTIFDEM
+ Gerer le paramètre par WS ${param_args}
+
+ Set Suite Variable ${message_confirmation} Si vous le souhaitez, vous pouvez ajouter jusqu'à 5 annexes.
+ Set Suite Variable ${message_confirmation_2} Sinon cliquez directement sur "Valider" pour notifier le pétitionnaire.
+ Set Suite Variable ${message_confirmation_hors_delai} Vous êtes sur le point de notifier un document alors que la date limite d’instruction est dépassée.
+
+Notification manuelle via portal avec annexe - Demande de confirmation - Date limite d'instruction non dépassée
+ [Documentation] Avec un profil instructeur, depuis le contexte d'un dossier en cours,
+ ... lors de la notification d'une instruction via le portail citoyen, vérifie le
+ ... contenu du message de demande de confirmation.
+
+ # Ajout d'un dossier et d'une instruction notifiable
+ &{args_petitionnaire} = Create Dictionary
+ ... particulier_nom=145_03_01
+ ... particulier_prenom=MSG_CONF_DATE_LIM_INSTR_OK
+ ... om_collectivite=LIBRECOM_NOTIFDEM
+ ... courriel=ma...@notif.fr
+ ... notification=t
+ &{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=LIBRECOM_NOTIFDEM
+ ... depot_electronique=true
+ ${di_msg_conf_1} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
+
+ # finalisation et ajout d'une date de retour signature sur une instruction
+ # pour pouvoir la choisir comme annexe
+ Depuis la page d'accueil admin admin
+ Depuis l'instruction du dossier d'instruction ${di_msg_conf_1} Notification du delai legal maison individuelle
+ Click On SubForm Portlet Action instruction modifier_suivi
+
+ ${date_retour_sign} = Convert Date ${DATE_FORMAT_YYYY-MM-DD} result_format=%d/%m/%Y
+ Input Datepicker date_retour_signature ${date_retour_sign}
+ Click On Submit Button In Subform
+
+ # Ajout de l'instruction de notification
+ Depuis la page d'accueil mpaulet mpaulet
+ ${inst_notif_man_annexe} = Ajouter une instruction au DI ${di_msg_conf_1} TEST_NOTIF_MAN_ANNEXE
+ Click On Link ${inst_notif_man_annexe}
+ # L'action ne doit être dans le portlet
+ Portlet Action Should Be In SubForm instruction overlay_notification_manuelle
+ # Clique sur l'action de notification et vérifie le contenu du message
+ Click On SubForm Portlet Action instruction overlay_notification_manuelle modale
+ # Click On SubForm Portlet Action instruction notification_manuelle_portal modale
+ Wait Until Page Contains Element css=#sousform-instruction_notification_manuelle
+ # Vérifie le contenu du message
+ Element Should Not Contain css=#sousform-instruction_notification_manuelle ${message_confirmation_hors_delai}
+ Element Should Contain css=#sousform-instruction_notification_manuelle ${message_confirmation}
+ Element Should Contain css=#sousform-instruction_notification_manuelle ${message_confirmation_2}
+ # Le message de demande de confirmation doit contenir ${message_confirmation_2}
+ La page ne doit pas contenir d'erreur
+
+ # Clique sur confirmer pour fermer la modale et ne pas risquer d'impacter les
+ # autre test. Vérifie également que le déclenchement du traitement n'entraine
+ # pas d'erreur.
+ Click Element css=.ui-dialog #sousform-instruction_notification_manuelle .formControls input.boutonFormulaire
+
+Notification manuelle via portal avec annexe - demande de confirmation - Date limite d'instruction dépassée
+ [Documentation] Avec un profil instructeur, depuis le contexte d'un dossier dont la date
+ ... limite d'instruction est dépassé, lors de la notification d'une instruction via
+ ... le portail citoyen, vérifie le contenu du message de demande de confirmation.
+
+ # Ajout d'un dossier et d'une instruction notifiable
+ # La date de dépôt du dossier fait que sa date limite d'instruction est déjà dépassée
+ &{args_petitionnaire} = Create Dictionary
+ ... particulier_nom=145_03_02
+ ... particulier_prenom=MSG_CONF_DATE_LIM_INSTR__PAS_OK
+ ... om_collectivite=LIBRECOM_NOTIFDEM
+ ... courriel=em...@notif.fr
+ ... notification=t
+ &{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=LIBRECOM_NOTIFDEM
+ ... depot_electronique=true
+ ... date_demande=01/01/2024
+ ${di_msg_conf_2} = Ajouter la demande par WS ${args_demande} ${args_petitionnaire}
+
+ # Ajout de l'instruction de notification
+
+ Depuis la page d'accueil mpaulet mpaulet
+ ${inst_notif_man_annexe} = Ajouter une instruction au DI ${di_msg_conf_2} TEST_NOTIF_MAN_ANNEXE
+ Click On Link ${inst_notif_man_annexe}
+ # L'action ne doit être dans le portlet
+ Portlet Action Should Be In SubForm instruction overlay_notification_manuelle
+ # Clique sur l'action de notification et vérifie le contenu du message
+ Click On SubForm Portlet Action instruction overlay_notification_manuelle modale
+ # Click On SubForm Portlet Action instruction notification_manuelle_portal modale
+ Wait Until Page Contains Element css=#sousform-instruction_notification_manuelle
+ # Vérifie le contenu du message
+ Element Should Contain css=#sousform-instruction_notification_manuelle ${message_confirmation_hors_delai}
+ Element Should Contain css=#sousform-instruction_notification_manuelle ${message_confirmation}
+ Element Should Contain css=#sousform-instruction_notification_manuelle ${message_confirmation_2}
+ La page ne doit pas contenir d'erreur
+
+ # Clique sur confirmer pour fermer la modale et ne pas risquer d'impacter les
+ # autre test. Vérifie également que le déclenchement du traitement n'entraine
+ # pas d'erreur.
+ Click Element css=.ui-dialog #sousform-instruction_notification_manuelle .formControls input.boutonFormulaire
+
+Reset Params - TNR Message lorsque la notification n'est pas possible
+
+ Destruction du Parametrage - Notification
+
+ # Suppression du paramètre de notification
+ &{param_args} = Create Dictionary
+ ... delete=true
+ ... libelle=option_notification
+ ... om_collectivite=LIBRECOM_NOTIFDEM
+ Gerer le paramètre par WS ${param_args}
\ No newline at end of file

Reply all
Reply to author
Forward
0 new messages