san...@users.adullact.net
unread,Apr 8, 2026, 2:58:48 AMApr 8Sign 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: sangles
Date: 2026-04-08 08:58:45 +0200 (Wed, 08 Apr 2026)
New Revision: 22869
Modified:
branches/10917_EVO_message_ajout_pieces/obj/document_numerise.class.php
branches/10917_EVO_message_ajout_pieces/obj/dossier_message.class.php
Log:
feat: modification du contenu de dossier_message pour afficher les pieces et documents
Modified: branches/10917_EVO_message_ajout_pieces/obj/document_numerise.class.php
===================================================================
--- branches/10917_EVO_message_ajout_pieces/obj/document_numerise.class.php 2026-04-07 13:07:59 UTC (rev 22868)
+++ branches/10917_EVO_message_ajout_pieces/obj/document_numerise.class.php 2026-04-08 06:58:45 UTC (rev 22869)
@@ -3409,6 +3409,14 @@
if ($this->f->getParameter('option_notification_piece_numerisee') === 'true') {
// Instancie la classe dossier_message
$dossier_message = $this->get_inst_dossier_message(0);
+ // Construit le détail de la pièce (point avec le nom du fichier)
+ $contenu_detail = sprintf('* %s', $this->valF['nom_fichier']);
+ // Construit le contenu complet du message
+ $contenu = sprintf(
+ "%s\n%s",
+ __('Pièce(s) ajoutée(s) sur le dossier :'),
+ $contenu_detail
+ );
// Ajoute le message de notification
$dossier_message_val = array(
'dossier' => $val['dossier'],
@@ -3416,9 +3424,9 @@
'emetteur' => $this->f->get_connected_user_login_name(),
'login' => $_SESSION['login'],
'date_emission' => date('Y-m-d H:i:s'),
- 'contenu' => __('Une ou plusieurs pièces ont été ajoutées sur le dossier.')
+ 'contenu' => $contenu,
);
- $add = $dossier_message->add_notification_message($dossier_message_val, false, true);
+ $add = $dossier_message->add_notification_message($dossier_message_val, false, true, $contenu_detail);
// Si une erreur se produit pendant l'ajout
if ($add !== true) {
// Message d'erreur affiché à l'utilisateur
Modified: branches/10917_EVO_message_ajout_pieces/obj/dossier_message.class.php
===================================================================
--- branches/10917_EVO_message_ajout_pieces/obj/dossier_message.class.php 2026-04-07 13:07:59 UTC (rev 22868)
+++ branches/10917_EVO_message_ajout_pieces/obj/dossier_message.class.php 2026-04-08 06:58:45 UTC (rev 22869)
@@ -696,13 +696,18 @@
* Tant que le premier message ne passe pas en état lu, il n'y aura pas
* d'ajout de message de même type le même jour.
*
+ * Si le paramètre contenu_detail est renseigné et qu'un message existant
+ * est trouvé (via $exists), le contenu du message existant sera mis à jour
+ * en y ajoutant le détail fourni (accumulation des pièces ajoutées).
+ *
* @param array $val Liste des valeurs.
* @param boolean $nonLu permet de forcer un message comme étant non Lu.
* @param boolean $exists
+ * @param string|null $contenu_detail Détail à ajouter au contenu d'un message existant.
*
* @return boolean
*/
- public function add_notification_message(array $val, $nonLu = false, $exists = false) {
+ public function add_notification_message(array $val, $nonLu = false, $exists = false, $contenu_detail = null) {
// Liste des valeurs nécessaires à la création du message
$dossier = $val['dossier'];
@@ -750,7 +755,8 @@
// Requête SQL de recherche des messages
$sql = sprintf(
'SELECT
- count(dossier_message)
+ dossier_message,
+ contenu
FROM
%1$sdossier_message
WHERE
@@ -772,10 +778,11 @@
if ($transmitter_is_dossier_instructor == false
|| $destinataire === 'commune') {
// Vérifie que le message ne soit pas lu
- $sql .= 'AND lu IS FALSE';
+ $sql .= ' AND lu IS FALSE';
}
-
- $qres = $this->f->get_one_result_from_db_query(
+ $sql .= ' LIMIT 1';
+
+ $qres = $this->f->get_all_results_from_db_query(
$sql,
array(
"origin" => __METHOD__,
@@ -782,8 +789,22 @@
)
);
// Si au moins un message identique existe
- if ($qres["result"] !== '0') {
- // Stop le traitement
+ if (count($qres["result"]) > 0) {
+ if ($contenu_detail !== null) {
+ $existing_message = $qres["result"][0];
+ $updated_contenu = $existing_message["contenu"] . "\n" . $contenu_detail;
+ $valF = array();
+ $valF["contenu"] = $updated_contenu;
+ $this->f->execute_auto_db_query(
+ 'update',
+ DB_PREFIXE.$this->table,
+ $valF,
+ $this->clePrimaire."=".$existing_message["dossier_message"],
+ array(
+ 'origin' => __METHOD__,
+ )
+ );
+ }
return true;
}
}