From 0edbc5cef7e5d4934c1150c4edd8c5759a5fbbba Mon Sep 17 00:00:00 2001
From: lhameury <43-lhameury@users.noreply.gitlab.libriciel.fr>
Date: Thu, 28 Nov 2024 11:02:13 +0100
Subject: [PATCH] Fix folder not being deleted on "Archive" action

---
 .../repo/impl/ParapheurServiceImpl.java         |  4 +---
 .../repo/worker/impl/WorkerServiceImpl.java     | 17 +++++++++++++++--
 2 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/iparapheur-core/src/main/java/com/atolcd/parapheur/repo/impl/ParapheurServiceImpl.java b/iparapheur-core/src/main/java/com/atolcd/parapheur/repo/impl/ParapheurServiceImpl.java
index e1d602f..85279f0 100755
--- a/iparapheur-core/src/main/java/com/atolcd/parapheur/repo/impl/ParapheurServiceImpl.java
+++ b/iparapheur-core/src/main/java/com/atolcd/parapheur/repo/impl/ParapheurServiceImpl.java
@@ -4374,9 +4374,7 @@ public final class ParapheurServiceImpl implements ParapheurService, Initializin
 
 
                 // On supprime le dossier archivé
-                logger.debug("ARCHIVER - Suppression du dossier");
-
-                handleDeleteDossier(dossier, bureauParent, false, currentUser);
+//                logger.debug("ARCHIVER - Suppression du dossier");
 //                dossierService.deleteDossier(dossier, false);
             } catch (org.alfresco.service.cmr.model.FileExistsException ex1) {
                 throw new RuntimeException("Une archive nommée '" + nomArchive + "' existe déjà.", ex1);
diff --git a/iparapheur-core/src/main/java/org/adullact/iparapheur/repo/worker/impl/WorkerServiceImpl.java b/iparapheur-core/src/main/java/org/adullact/iparapheur/repo/worker/impl/WorkerServiceImpl.java
index 756f0f8..b117a55 100644
--- a/iparapheur-core/src/main/java/org/adullact/iparapheur/repo/worker/impl/WorkerServiceImpl.java
+++ b/iparapheur-core/src/main/java/org/adullact/iparapheur/repo/worker/impl/WorkerServiceImpl.java
@@ -559,8 +559,6 @@ public class WorkerServiceImpl implements WorkerService {
 
             @Override
             public boolean before() {
-                dossierNotDeleted = false;
-
                 titreArchive = (String) request.get(TITREARCHIVE);
 
                 //TODO : Handle annexes array or boolean
@@ -590,6 +588,21 @@ public class WorkerServiceImpl implements WorkerService {
             @Override
             public void after() {
                 notificationService.sendPreparedNotificationsForDossier(node.getId());
+                // Next, send deletion
+                JSONStringer messageJsonStringer = new JSONStringer();
+                try {
+                    messageJsonStringer.object();
+                    messageJsonStringer.key(WorkerService.ID).value(node.getId());
+                    messageJsonStringer.key(WorkerService.USERNAME).value(AuthenticationUtil.getRunAsUser());
+                    messageJsonStringer.key(WorkerService.ACTION).value(ACTION_DOSSIER.SUPPRESSION);
+                    messageJsonStringer.key(WorkerService.TYPE).value(WorkerService.TYPE_DOSSIER);
+                    messageJsonStringer.key(WorkerService.NOTIFME).value(false);
+                    messageJsonStringer.endObject();
+                } catch (JSONException e) {
+                    e.printStackTrace();
+                }
+
+                messagesSender.sendWorker(messageJsonStringer.toString(), node.getId());
             }
         });
     }
-- 
GitLab