[openads-Commits] r18049 - in branches/6.6.0-develop: . obj tests

0 views
Skip to first unread message

ejpri...@users.adullact.net

unread,
Jun 24, 2024, 8:12:51 AM (5 days ago) Jun 24
to openmairi...@googlegroups.com
Author: ejpritchard
Date: 2024-06-24 14:12:48 +0200 (Mon, 24 Jun 2024)
New Revision: 18049

Modified:
branches/6.6.0-develop/
branches/6.6.0-develop/HISTORY.txt
branches/6.6.0-develop/obj/
branches/6.6.0-develop/obj/instruction.class.php
branches/6.6.0-develop/obj/utils.class.php
branches/6.6.0-develop/tests/
Log:
merge : 10428 XVal vers 6.6.0-develop : Correctif pour le parametrage des annexes

Index: branches/6.6.0-develop
===================================================================
--- branches/6.6.0-develop 2024-06-24 10:07:48 UTC (rev 18048)
+++ branches/6.6.0-develop 2024-06-24 12:12:48 UTC (rev 18049)

Property changes on: branches/6.6.0-develop
___________________________________________________________________
Modified: svn:mergeinfo
## -723,6 +723,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-10428-xval:17963-18048
/branches/6.6.0-develop-10431-ScriptInstallationModules:17909-17953
/branches/6.6.0-develop-10433-ErreurPayloadSuppression:17930-17986
/branches/6.6.0-develop-bug-user-with-space:17809-17837
Modified: branches/6.6.0-develop/HISTORY.txt
===================================================================
--- branches/6.6.0-develop/HISTORY.txt 2024-06-24 10:07:48 UTC (rev 18048)
+++ branches/6.6.0-develop/HISTORY.txt 2024-06-24 12:12:48 UTC (rev 18049)
@@ -3,79 +3,82 @@

6.6.0 (unreleased)
------------------
+
+* Évolution - Ajout de la gestion du script d'installation des modules.
+ Ticket #10431.
+ Ticket lié #10389.
+* Evolution - Ajout de la tables et des fonction de gestion des annexes.
+ Ticket #10428.
+ Ticket lié #10389.
+* Évolution - Mise en place des hooks liée aux instructions.
+ Modules Flux Platau.
+ Ticket #10424.
+ Ticket lié #10389.
+* Évolution - Ajout d'une fonction de recombinaison la valeur de declencheur de la table object_link_instance en un nom de hook propre.
+ Ticket #10420.
+* Evolution - Ajout de la gestion du flux Documents spécifiques.
+ Ticket #10419.
+ Ticket lié #10389.
* Evolution - Système de stockage de données arbitraires.
Ticket #10406.
+* Évolution - Nommage des document généré par les instructions avec le type document.
+ Remplacement de la valeur de la colonne type des “Pièces et Documents”.
+ Modules Flux Platau.
+ Ticket #10398.
+ Ticket lié #10389.
+* Évolution - Intégration des type_documents.
+ Modules Flux Platau.
+ Ticket #10396.
+ Ticket lié #10389.
+* Évolution - Support des flux PlatAu sur les sous-dossiers.
+ Modules Flux Platau.
+ Ticket #10391.
+ Ticket lié #10389.
+* Évolution - Implémentation des nomenclatures Plat'AU.
+ Ticket #10390.
+ Ticket lié #10389.
+* Évolution - Évolutions du code de l'application pour la mise en place de module (document_specifique, annexes et notifications_automatiques),
+ le support des flux platau pour les sous-dossiers et le flux Documents spécifique.
+ Ticket #10389.
+* Évolution - Mise à jour des données techniques et CERFA (suite directe du ticket #10286).
+ Ticket #10387.
+* É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.
+
+
* Correction - Dans le listing, des instructions d'un dossier d'instruction, les modules sont ignorés.
Ticket #10434.
-* Correction - Suppression d'écriture de log non nécessaire
- Ticket #10413.
-* Correction - Contrôle de légalité : permettre la transmission du tacite - correction de la condition d'affichage de l'action.
- Ticket #10421.
* Correction - Remise en place de la colonne date limite dans le Widget dossier limite.
Ticket #10426.
-* Correction - Erreur sur les architectes des données techniques concernant les champs récents.
- Ticket #10415.
-* Évolution - Ajout de la gestion du script d'installation des modules [MC0043833].
- Ticket #10431.
-* É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]
- Modules Flux Platau.
- Ticket #10398.
* Correction - La création d'un utilisateur lié avec un espace en début de son login provoque une erreur
lorsqu'on souhaite se connecter à celui-ci.
Ticket #10425.
-* Evolution - Ajout d'une fonction de recombinaison la valeur de declencheur de la table object_link_instance en un nom de hook propre.
- Ticket #10420.
-* Correction - Erreur de récupération du modèle de la lettre type
- lors du remplacement d'un fichier d'instruction par un document signé.
- Ticket #10402.
+* Correction - Contrôle de légalité : permettre la transmission du tacite - correction de la condition d'affichage de l'action.
+ Ticket #10421.
+* Correction - Erreur sur les architectes des données techniques concernant les champs récents.
+ Ticket #10415.
+* Correction - Suppression d'écriture de log non nécessaire
+ Ticket #10413.
+* Correction : Affichage du message sur demande de notification des demandeurs
+ en fonction du type de demandeur.
+ Ticket #10411.
+* Correction - Gestion du "TODO : remplacer cette requête par l'instanciation de l'événement."
+ dans instruction.class.php
+ Ticket #10409.
+* Correction - Ajout d'une demande sur existant en cas de date non présente sur le dossier d'instruction visé.
+ Ticket #10408.
* Correction - Erreur lors du stockage de l'ancien fichier généré d'une instruction après remplacement par un document signé.
Ticket #10404.
* Correction - Limitation de l'ajout d'entrées dans le journal d'application.
Ticket #10403.
-* Correction - Ajout d'une demande sur existant en cas de date non présente sur le dossier d'instruction visé.
- Ticket #10408.
-* Correction - Gestion du "TODO : remplacer cette requête par l'instanciation de l'événement."
- dans instruction.class.php
- Ticket #10409.
-* Évolution - Nommage des document généré par les instructions avec le type document - [#10389] [MC0044635][MC0045937]
- Modules Flux Platau.
- Ticket #10398.
-* Évolution - Intégration des type_documents dans OpenADS - [#10389] [MC0044635][MC0045937]
- Modules Flux Platau.
- Ticket #10396.
+* Correction - Erreur de récupération du modèle de la lettre type
+ lors du remplacement d'un fichier d'instruction par un document signé.
+ Ticket #10402.
+* Correction - Rendre fonctionnelle la récupération des documents de travail lors de la notification avec annexe.
+ Ticket #10399.
* Correction - Renommage du bouton de copie de l'adresse du demandeur lors de l'ajout d'une demande.
Ticket #10393.
-* Correction - Rendre fonctionnelle la récupération des documents de travail lors de la notification avec annexe.
- Ticket #10399.
-* Évolution - Support des flux PlatAu sur les sous-dossiers - [#10389] [MC0044635][MC0045937]
- Modules Flux Platau.
- Ticket #10391.
-* Évolution - Implémentation des nomenclatures Plat'AU - [#10389] [MC0044635][MC0045937]
- Modules Flux Platau.
- Ticket #10390.
-* Correction - Enjeux => la priorité n'est pas respectée sur les affichage.
- Ticket #10375.
-* Correction - Présence erronée du code HTML dans la liste des enjeux en export CSV sur la recherche.
- Ticket #10374.
-* Correction - Optimisation de l'Optimisation de la récupération des pièces lors du traitement des
- tâches.
- Ticket #10365.
-* Correction : Affichage du message sur demande de notification des demandeurs
- en fonction du type de demandeur.
- Ticket #10411.
-* Évolution - Mise à jour des données techniques et CERFA (suite directe du
- ticket #10286).
- Ticket #10387.
* Correction - BUG : DB_ERROR lors de l'accès au listing du obj "dossier" via l'url.
Ticket #10385.
* Correction - Erreur de base de données lors du tri sur la colonne
@@ -84,6 +87,13 @@
* Correction - Corriger la taille du champ `consultation.dossier` pour que ça
corresponde à la taille du champ `dossier.dossier`.
Ticket #10383.
+* Correction - Enjeux => la priorité n'est pas respectée sur les affichage.
+ Ticket #10375.
+* Correction - Présence erronée du code HTML dans la liste des enjeux en export CSV sur la recherche.
+ Ticket #10374.
+* Correction - Optimisation de l'Optimisation de la récupération des pièces lors du traitement des
+ tâches.
+ Ticket #10365.

6.5.0 (25/04/2024)
------------------

Index: branches/6.6.0-develop/obj
===================================================================
--- branches/6.6.0-develop/obj 2024-06-24 10:07:48 UTC (rev 18048)
+++ branches/6.6.0-develop/obj 2024-06-24 12:12:48 UTC (rev 18049)

Property changes on: branches/6.6.0-develop/obj
___________________________________________________________________
Modified: svn:mergeinfo
## -682,6 +682,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-10428-xval/obj:17963-18048
/branches/6.6.0-develop-10431-ScriptInstallationModules/obj:17909-17953
/branches/6.6.0-develop-10433-ErreurPayloadSuppression/obj:17930-17986
/branches/6.6.0-develop-bug-user-with-space/obj:17809-17837
Modified: branches/6.6.0-develop/obj/instruction.class.php
===================================================================
--- branches/6.6.0-develop/obj/instruction.class.php 2024-06-24 10:07:48 UTC (rev 18048)
+++ branches/6.6.0-develop/obj/instruction.class.php 2024-06-24 12:12:48 UTC (rev 18049)
@@ -4606,8 +4606,44 @@
}
return true;
}
-
+
/**
+ * Récupère via une requête la liste des identifiants des éléments de la table
+ * parametrage_annexe liés à une instruction.
+ * Boucle sur cette liste pour instancier le parametrage_annexe correspondant
+ * et lui appliquer le traitement de suppression.
+ *
+ * @param integer identifiant d'une instruction
+ * @return boolean état du traitement. True : OK, False : Echec
+ */
+ function supprimer_parametrage_annexe($id_instruction) {
+ // Récupère la liste des parametrage_annexe associés à l'instruction
+ $qres = $this->f->get_all_results_from_db_query(sprintf(
+ 'SELECT parametrage_annexe
+ FROM %sparametrage_annexe
+ WHERE parametrage_annexe.instruction = %d',
+ DB_PREFIXE,
+ intval($id_instruction)),
+ array('origin' => __METHOD__));
+ // Instancie puis supprime chacun des éléments de la liste
+ foreach ($qres['result'] as $res) {
+ $parametrage_annexe = $this->f->get_inst__om_dbform(array(
+ 'obj' => 'parametrage_annexe',
+ 'idx' => $res['parametrage_annexe']
+ ));
+ foreach ($parametrage_annexe->champs as $champ) {
+ $val[$champ] = $parametrage_annexe->getVal($champ);
+ }
+ $suppression = $parametrage_annexe->supprimer($val);
+ // En cas d'échec arrête le traitement et renvoie false
+ if ($suppression === false) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
* Vérifie si le paramétrage de la notification des demandeurs est correct.
*
* @param integer identifiant de la collectivité
@@ -5381,6 +5417,16 @@
}
}

+ // Suppression du paramétrage de l'annexe lié à l'évènement
+ if ($this->supprimer_parametrage_annexe($this->getVal($this->clePrimaire)) === false) {
+ $this->addToLog(sprintf(
+ "%s %s",
+ __("Erreur lors de la suppression du paramétrage des annexes de l'instruction."),
+ __("Veuillez contacter votre administrateur.")
+ ), DEBUG_MODE);
+ return false;
+ }
+
// On met à jour le dossier
$valF['instruction'] = $id;
$valF['crud'] = 'delete';

Modified: branches/6.6.0-develop/obj/utils.class.php
===================================================================
--- branches/6.6.0-develop/obj/utils.class.php 2024-06-24 10:07:48 UTC (rev 18048)
+++ branches/6.6.0-develop/obj/utils.class.php 2024-06-24 12:12:48 UTC (rev 18049)
@@ -7197,7 +7197,7 @@
*/
function recuperer_parametrage_annexe($instruction_id){

- $qres = $f->get_all_results_from_db_query(
+ $qres = $this->get_all_results_from_db_query(
sprintf(
'SELECT
parametrage_annexe,
@@ -7206,9 +7206,9 @@
document_object_type_id,
condition
FROM
- %sparametrages_annexe
+ %sparametrage_annexe
WHERE
- parametrages_annexe.instruction = %d',
+ parametrage_annexe.instruction = %d',
DB_PREFIXE,
intval($instruction_id)
),
@@ -7249,40 +7249,36 @@
$array_return = array();

// Si le document est de type 'consultation'
- if (
- $objet == 'consultation'
- && in_array($condition, array ('service','tier_consulte'))
- && !$type_platau_uniquement
- ) {
+ if ($objet == 'consultation'
+ && in_array($condition, array ('service','tiers_consulte'))
+ && !$type_platau_uniquement) {
// On recherche sur l'ID dossier
// Et sur le service ou le tier_consulte selon la condition
- $search_consultation_origin = "AND consultation.$condition = $search_element_id";
+ $search_consultation_origin = "AND consultation.$condition =".intval($search_element_id);
// Et on récupère le dernier
$sql_search = sprintf(
'SELECT
consultation.consultation
FROM
- %1$consultation
+ %1$sconsultation
WHERE
- consultation.dossier = %2$s
+ consultation.dossier = \'%2$s\'
%3$s
ORDER BY consultation.date_retour DESC NULLS LAST
LIMIT 1',
DB_PREFIXE,
- $dossier_id,
+ $this->db->escapeSimple($dossier_id),
$search_consultation_origin
);
}

// Si le document n'est pas liée aux 'document_numerise'
- if (
- $objet == 'document_numerise'
+ if ($objet == 'document_numerise'
&& !empty($search_element_id)
- && !$type_platau_uniquement
- ) {
+ && !$type_platau_uniquement) {
// On recherche sur l'ID dossier et
// - Si le document est de type document_numerise.document_numerise_type = $search_element_id
- $search_document_numerise_type = "AND document_numerise.document_numerise_type = $search_element_id";
+ $search_document_numerise_type = "AND document_numerise.document_numerise_type = ".intval($search_element_id);
// Et on récupère le dernier
$sql_search = sprintf(
'SELECT
@@ -7290,21 +7286,19 @@
FROM
%1$sdocument_numerise
WHERE
- document_numerise.dossier = %2$s
+ document_numerise.dossier = \'%2$s\'
%3$s
ORDER BY document_numerise.date_creation DESC NULLS LAST
LIMIT 1',
DB_PREFIXE,
- $dossier_id,
+ $this->db->escapeSimple($dossier_id),
$search_document_numerise_type
);
}

// Si le document est liée a l' 'instruction' on vérifie
- if (
- $objet == 'instruction'
- && !empty($document_type)
- ) {
+ if ($objet == 'instruction'
+ && ! empty($search_element_id)) {
// On recherche sur l'ID dossier et
// - Selon la condition si définie
$search_conditions = '';
@@ -7311,13 +7305,15 @@
switch ($condition) {
case 'finaliser' :
$search_conditions = 'AND om_final_instruction IS TRUE';
+ $champ_tri = 'date_finalisation_courrier';
break;
case 'signer':
- $search_conditions = 'AND date_retour_signature IS NOT NULL';
+ $search_conditions = 'AND om_final_instruction IS TRUE AND date_retour_signature IS NOT NULL';
+ $champ_tri = 'date_retour_signature';
break;
}
// - Si le document est de instruction.document_instruction_type $search_element_id
- $search_document_type = "AND instruction.document_type_instruction = $search_element_id";
+ $search_document_type = "AND instruction.evenement = ".intval($search_element_id);

$join_document_type_platau_uniquement = '';
if ($type_platau_uniquement) {
@@ -7334,28 +7330,37 @@
instruction.instruction
FROM
%1$sinstruction
+ %2$s
WHERE
- instruction.dossier = %2$s
+ instruction.dossier = \'%3$s\'
AND om_fichier_instruction IS NOT NULL
- %3$s
%4$s
- ORDER BY date_evenement DESC NULLS LAST
+ %5$s
+ ORDER BY
+ %6$s DESC NULLS LAST
LIMIT 1',
DB_PREFIXE,
- $dossier_id,
+ $join_document_type_platau_uniquement,
+ $this->db->escapeSimple($dossier_id),
$search_conditions,
- $search_document_type
+ $search_document_type,
+ $champ_tri
);
}

- $qres = $f->get_all_results_from_db_query(
- $sql_search,
- array(
- 'origin' => 'app/utils.class.php'
- )
- );
- foreach ($qres['result'] as $row) {
- $array_return[] = array($row, $objet);
+ // Récupère le document si le sql de récupération a utilisé a été identifié.
+ if (! empty($sql_search)) {
+ $qres = $this->get_one_result_from_db_query(
+ $sql_search,
+ array(
+ 'origin' => __METHOD__
+ )
+ );
+ // Si on a un résultat alors on construit le tableau permettant d'identifier
+ // le document
+ if (! empty($qres['result'])) {
+ $array_return = array('objet' => $objet, 'id' => $qres['result']);
+ }
}
return $array_return;
}
@@ -7378,7 +7383,7 @@
$annexe_array = array();

// Gestion du type de document :
- $instruction = $this->f->get_inst__om_dbform(array(
+ $instruction = $this->get_inst__om_dbform(array(
"obj" => "instruction",
"idx" => $instruction_id,
));
@@ -7395,7 +7400,10 @@
$param['condition'],
$type_platau_uniquement
);
- $annexe_array[] = $annexe;
+ // Si une annexe a été récupérée , elle est ajoutée au tableau des annexes
+ if (! empty($annexe)) {
+ $annexe_array[] = $annexe;
+ }
}
}


Index: branches/6.6.0-develop/tests
===================================================================
--- branches/6.6.0-develop/tests 2024-06-24 10:07:48 UTC (rev 18048)
+++ branches/6.6.0-develop/tests 2024-06-24 12:12:48 UTC (rev 18049)

Property changes on: branches/6.6.0-develop/tests
___________________________________________________________________
Modified: svn:mergeinfo
## -675,6 +675,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-10428-xval/tests:17963-18048
/branches/6.6.0-develop-10431-ScriptInstallationModules/tests:17909-17953
/branches/6.6.0-develop-10433-ErreurPayloadSuppression/tests:17930-17986
/branches/6.6.0-develop-bug-user-with-space/tests:17809-17837
Reply all
Reply to author
Forward
0 new messages