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