ejpri...@users.adullact.net
unread,Jun 24, 2024, 8:12:51 AM (5 days ago) Jun 24Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
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: 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