From 02a5dd615207540960daa5e171d1deba7b1e9f84 Mon Sep 17 00:00:00 2001
From: Guillaume Heurtier <guillaume.heurtier@maarch.org>
Date: Wed, 23 Oct 2019 18:06:41 +0200
Subject: [PATCH] FEAT #12091 TIME 3:30 fix export folder

---
 sql/sample.sql                                | 80 +++++++++----------
 .../resource/controllers/ExportController.php | 49 ++++++++++--
 .../app/list/export/export.component.ts       |  9 +--
 3 files changed, 84 insertions(+), 54 deletions(-)

diff --git a/sql/sample.sql b/sql/sample.sql
index 2a2d802b617..a8c4564c801 100644
--- a/sql/sample.sql
+++ b/sql/sample.sql
@@ -2,53 +2,53 @@
 TRUNCATE TABLE res_letterbox;
 ALTER SEQUENCE res_id_mlb_seq restart WITH 1;
 -- to sign documents
-INSERT INTO res_letterbox (res_id, subject, description, type_id, format, typist, creation_date, modification_date, author, identifier, source, relation, doc_date, docserver_id, path, filename, offset_doc, fingerprint, filesize, status, destination, validation_date, work_batch, origin, priority, policy_id, cycle_id, is_multi_docservers, reference_number, tablename, initiator, dest_user, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
-VALUES (1, 'Demande de dérogation carte scolaire', '', 305, 'pdf', 21, NOW(), NOW(), NULL, NULL, NULL, NULL, CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'demande_derogation.pdf', '', '0', 24942, 'ATT_MP', 'PJS', NULL, NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, 'N', '', 'res_letterbox', 'COU', 'bbain', 'incoming', 4, NULL, NULL, NULL, 'MAARCH/2019A/1', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 6, 1);
-INSERT INTO res_letterbox (res_id, subject, description, type_id, format, typist, creation_date, modification_date, author, identifier, source, relation, doc_date, docserver_id, path, filename, offset_doc, fingerprint, filesize, status, destination, validation_date, work_batch, origin, priority, policy_id, cycle_id, is_multi_docservers, reference_number, tablename, initiator, dest_user, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
-VALUES (2, 'Demande de travaux route 66', '', 918, 'pdf', 21, NOW(), NOW(), NULL, NULL, NULL, NULL, CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'sva_route_66.pdf', '', '0', 24877, 'ATT_MP', 'PTE', NULL, NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, 'N', '', 'res_letterbox', 'COU', 'ccharles', 'incoming', 4, NULL, NULL, NULL, 'MAARCH/2019A/2', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 6, 1);
-INSERT INTO res_letterbox (res_id, subject, description, type_id, format, typist, creation_date, modification_date, author, identifier, source, relation, doc_date, docserver_id, path, filename, offset_doc, fingerprint, filesize, status, destination, validation_date, work_batch, origin, priority, policy_id, cycle_id, is_multi_docservers, reference_number, tablename, initiator, dest_user, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
-VALUES (3, 'Plainte voisin chien bruyant', '', 503, 'pdf', 21, NOW(), NOW(), NULL, NULL, NULL, NULL, CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'svr_route_chien_bruyant.pdf', '', '0', 24877, 'ATT_MP', 'DGS', NULL, NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, 'N', '', 'res_letterbox', 'COU', 'rrenaud', 'incoming', 4, NULL, NULL, NULL, 'MAARCH/2019A/3', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 6, 1);
-INSERT INTO res_letterbox (res_id, subject, description, type_id, format, typist, creation_date, modification_date, author, identifier, source, relation, doc_date, docserver_id, path, filename, offset_doc, fingerprint, filesize, status, destination, validation_date, work_batch, origin, priority, policy_id, cycle_id, is_multi_docservers, reference_number, tablename, initiator, dest_user, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
-VALUES (4, 'Invitation pour échanges journées des sports', '', 110, 'pdf', 19, NOW(), NOW(), NULL, NULL, 'with_empty_file', NULL, CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'empty.pdf', '', '0', 111108, 'ATT_MP', 'PJS', NULL, NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, 'N', '', 'res_letterbox', 'PJS', 'bbain', 'outgoing', NULL, NULL, 4, NULL, 'MAARCH/2019D/4', NULL, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 6, 1);
-INSERT INTO res_letterbox (res_id, subject, description, type_id, format, typist, creation_date, modification_date, author, identifier, source, relation, doc_date, docserver_id, path, filename, offset_doc, fingerprint, filesize, status, destination, validation_date, work_batch, origin, priority, policy_id, cycle_id, is_multi_docservers, reference_number, tablename, initiator, dest_user, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
-VALUES (5, 'Demande de place en creche', '', 307, 'pdf', 21, NOW(), NOW(), NULL, NULL, NULL, NULL, CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'demande_place_creche.pdf', '', '0', 24877, 'ATT_MP', 'PE', NULL, NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, 'N', '', 'res_letterbox', 'COU', 'ssaporta', 'incoming', 4, NULL, NULL, NULL, 'MAARCH/2019A/4', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 6, 1);
-INSERT INTO res_letterbox (res_id, subject, description, type_id, format, typist, creation_date, modification_date, author, identifier, source, relation, doc_date, docserver_id, path, filename, offset_doc, fingerprint, filesize, status, destination, validation_date, work_batch, origin, priority, policy_id, cycle_id, is_multi_docservers, reference_number, tablename, initiator, dest_user, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
-VALUES (6, 'Relance place en creche', '', 307, 'pdf', 21, NOW(), NOW(), NULL, NULL, NULL, NULL, CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'relance_place_creche.pdf', '', '0', 24877, 'ATT_MP', 'PE', NULL, NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, 'N', '', 'res_letterbox', 'COU', 'ssaporta', 'incoming', 4, NULL, NULL, NULL, 'MAARCH/2019A/5', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 6, 1);
+INSERT INTO res_letterbox (res_id, subject, type_id, format, typist, creation_date, modification_date,  doc_date, docserver_id, path, filename, fingerprint, filesize, status, destination, work_batch, origin, priority, policy_id, cycle_id, reference_number, initiator, dest_user, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
+VALUES (1, 'Demande de dérogation carte scolaire', 305, 'pdf', 21, NOW(), NOW(), CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'demande_derogation.pdf', '0', 24942, 'ATT_MP', 'PJS', NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, '', 'COU', 'bbain', 'incoming', 4, NULL, NULL, NULL, 'MAARCH/2019A/1', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 6, 1);
+INSERT INTO res_letterbox (res_id, subject, type_id, format, typist, creation_date, modification_date,  doc_date, docserver_id, path, filename, fingerprint, filesize, status, destination, work_batch, origin, priority, policy_id, cycle_id, reference_number, initiator, dest_user, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
+VALUES (2, 'Demande de travaux route 66', 918, 'pdf', 21, NOW(), NOW(), CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'sva_route_66.pdf', '0', 24877, 'ATT_MP', 'PTE', NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, '', 'COU', 'ccharles', 'incoming', 4, NULL, NULL, NULL, 'MAARCH/2019A/2', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 6, 1);
+INSERT INTO res_letterbox (res_id, subject, type_id, format, typist, creation_date, modification_date, doc_date, docserver_id, path, filename, fingerprint, filesize, status, destination, work_batch, origin, priority, policy_id, cycle_id, reference_number, initiator, dest_user, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
+VALUES (3, 'Plainte voisin chien bruyant', 503, 'pdf', 21, NOW(), NOW(), CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'svr_route_chien_bruyant.pdf', '0', 24877, 'ATT_MP', 'DGS', NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, '', 'COU', 'rrenaud', 'incoming', 4, NULL, NULL, NULL, 'MAARCH/2019A/3', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 6, 1);
+INSERT INTO res_letterbox (res_id, subject, type_id, format, typist, creation_date, modification_date, doc_date, docserver_id, path, filename, fingerprint, filesize, status, destination, work_batch, origin, priority, policy_id, cycle_id, reference_number, initiator, dest_user, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
+VALUES (4, 'Invitation pour échanges journées des sports', 110, 'pdf', 19, NOW(), NOW(), CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'empty.pdf', '0', 111108, 'ATT_MP', 'PJS', NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, '', 'PJS', 'bbain', 'outgoing', NULL, NULL, 4, NULL, 'MAARCH/2019D/4', NULL, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 6, 1);
+INSERT INTO res_letterbox (res_id, subject, type_id, format, typist, creation_date, modification_date, doc_date, docserver_id, path, filename, fingerprint, filesize, status, destination, work_batch, origin, priority, policy_id, cycle_id, reference_number, initiator, dest_user, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
+VALUES (5, 'Demande de place en creche', 307, 'pdf', 21, NOW(), NOW(), CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'demande_place_creche.pdf', '0', 24877, 'ATT_MP', 'PE', NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, '', 'COU', 'ssaporta', 'incoming', 4, NULL, NULL, NULL, 'MAARCH/2019A/4', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 6, 1);
+INSERT INTO res_letterbox (res_id, subject, type_id, format, typist, creation_date, modification_date, doc_date, docserver_id, path, filename, fingerprint, filesize, status, destination, work_batch, origin, priority, policy_id, cycle_id, reference_number, initiator, dest_user, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
+VALUES (6, 'Relance place en creche', 307, 'pdf', 21, NOW(), NOW(), CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'relance_place_creche.pdf', '0', 24877, 'ATT_MP', 'PE', NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, '', 'COU', 'ssaporta', 'incoming', 4, NULL, NULL, NULL, 'MAARCH/2019A/5', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 6, 1);
 -- to annotate documents
-INSERT INTO res_letterbox (res_id, subject, description, type_id, format, typist, creation_date, modification_date, author, identifier, source, relation, doc_date, docserver_id, path, filename, offset_doc, fingerprint, filesize, status, destination, validation_date, work_batch, origin, priority, policy_id, cycle_id, is_multi_docservers, reference_number, tablename, initiator, dest_user, external_signatory_book_id, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
-VALUES (7, 'Pétition pour la survie du square Carré', '', 201, 'pdf', 21, NOW(), NOW(), NULL, NULL, NULL, NULL, CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'petition_square_carre.pdf', '', '0', 24877, 'ATT_MP', 'DGS', NULL, NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, 'N', '', 'res_letterbox', 'COU', 'rrenaud', 7, 'incoming', 5, NULL, NULL, NULL, 'MAARCH/2019A/6', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 7, 1);
-INSERT INTO res_letterbox (res_id, subject, description, type_id, format, typist, creation_date, modification_date, author, identifier, source, relation, doc_date, docserver_id, path, filename, offset_doc, fingerprint, filesize, status, destination, validation_date, work_batch, origin, priority, policy_id, cycle_id, is_multi_docservers, reference_number, tablename, initiator, dest_user, external_signatory_book_id, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
-VALUES (8, 'Félicitations élections', '', 205, 'pdf', 21, NOW(), NOW(), NULL, NULL, NULL, NULL, CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'felicitations.pdf', '', '0', 24877, 'ATT_MP', 'DGS', NULL, NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, 'N', '', 'res_letterbox', 'COU', 'rrenaud', 8, 'incoming', 6, NULL, NULL, NULL, 'MAARCH/2019A/7', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 8, 1);
-INSERT INTO res_letterbox (res_id, subject, description, type_id, format, typist, creation_date, modification_date, author, identifier, source, relation, doc_date, docserver_id, path, filename, offset_doc, fingerprint, filesize, status, destination, validation_date, work_batch, origin, priority, policy_id, cycle_id, is_multi_docservers, reference_number, tablename, initiator, dest_user, external_signatory_book_id, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
-VALUES (9, 'Demande place creche', '', 307, 'pdf', 21, NOW(), NOW(), NULL, NULL, NULL, NULL, CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'formulaire_place_creche.pdf', '', '0', 24877, 'ATT_MP', 'PE', NULL, NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, 'N', '', 'res_letterbox', 'COU', 'ssaporta', 9, 'incoming', 7, NULL, NULL, NULL, 'MAARCH/2019A/8', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 9, 1);
-INSERT INTO res_letterbox (res_id, subject, description, type_id, format, typist, creation_date, modification_date, author, identifier, source, relation, doc_date, docserver_id, path, filename, offset_doc, fingerprint, filesize, status, destination, validation_date, work_batch, origin, priority, policy_id, cycle_id, is_multi_docservers, reference_number, tablename, initiator, dest_user, external_signatory_book_id, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
-VALUES (10, 'Demande subvention jokkolabs', '', 406, 'pdf', 21, NOW(), NOW(), NULL, NULL, NULL, NULL, CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'demande_subvention.pdf', '', '0', 24877, 'ATT_MP', 'DGS', NULL, NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, 'N', '', 'res_letterbox', 'COU', 'rrenaud', 10, 'incoming', 1, NULL, NULL, NULL, 'MAARCH/2019A/9', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 10, 1);
-INSERT INTO res_letterbox (res_id, subject, description, type_id, format, typist, creation_date, modification_date, author, identifier, source, relation, doc_date, docserver_id, path, filename, offset_doc, fingerprint, filesize, status, destination, validation_date, work_batch, origin, priority, policy_id, cycle_id, is_multi_docservers, reference_number, tablename, initiator, dest_user, external_signatory_book_id, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
-VALUES (11, 'Facture Maarch', '', 407, 'pdf', 21, NOW(), NOW(), NULL, NULL, NULL, NULL, CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'facture.pdf', '', '0', 24877, 'ATT_MP', 'FIN', NULL, NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, 'N', '', 'res_letterbox', 'COU', 'sstar', 11, 'incoming', 1, NULL, NULL, NULL, 'MAARCH/2019A/10', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 10, 1);
-INSERT INTO res_letterbox (res_id, subject, description, type_id, format, typist, creation_date, modification_date, author, identifier, source, relation, doc_date, docserver_id, path, filename, offset_doc, fingerprint, filesize, status, destination, validation_date, work_batch, origin, priority, policy_id, cycle_id, is_multi_docservers, reference_number, tablename, initiator, dest_user, external_signatory_book_id, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
-VALUES (12, 'Demande état civil', '', 602, 'pdf', 21, NOW(), NOW(), NULL, NULL, NULL, NULL, CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'etat_civil.pdf', '', '0', 24877, 'ATT_MP', 'DGS', NULL, NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, 'N', '', 'res_letterbox', 'COU', 'rrenaud', 12, 'incoming', 8, NULL, NULL, NULL, 'MAARCH/2019A/11', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 11, 1);
-INSERT INTO res_letterbox (res_id, subject, description, type_id, format, typist, creation_date, modification_date, author, identifier, source, relation, doc_date, docserver_id, path, filename, offset_doc, fingerprint, filesize, status, destination, validation_date, work_batch, origin, priority, policy_id, cycle_id, is_multi_docservers, reference_number, tablename, initiator, dest_user, external_signatory_book_id, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
-VALUES (13, 'Arret maladie vide', '', 701, 'pdf', 21, NOW(), NOW(), NULL, NULL, NULL, NULL, CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'arret_maladie.pdf', '', '0', 24877, 'ATT_MP', 'DRH', NULL, NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, 'N', '', 'res_letterbox', 'COU', 'ppruvost', 13, 'incoming', 4, NULL, NULL, NULL, 'MAARCH/2019A/12', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 6, 1);
-INSERT INTO res_letterbox (res_id, subject, description, type_id, format, typist, creation_date, modification_date, author, identifier, source, relation, doc_date, docserver_id, path, filename, offset_doc, fingerprint, filesize, status, destination, validation_date, work_batch, origin, priority, policy_id, cycle_id, is_multi_docservers, reference_number, tablename, initiator, dest_user, external_signatory_book_id, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
-VALUES (14, 'Inscription école', '', 307, 'pdf', 21, NOW(), NOW(), NULL, NULL, NULL, NULL, CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'inscription_ecole.pdf', '', '0', 24877, 'ATT_MP', 'PE', NULL, NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, 'N', '', 'res_letterbox', 'COU', 'ssaporta', 14, 'incoming', 7, NULL, NULL, NULL, 'MAARCH/2019A/13', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 9, 1);
+INSERT INTO res_letterbox (res_id, subject, type_id, format, typist, creation_date, modification_date, doc_date, docserver_id, path, filename, fingerprint, filesize, status, destination, work_batch, origin, priority, policy_id, cycle_id, reference_number, initiator, dest_user, external_signatory_book_id, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
+VALUES (7, 'Pétition pour la survie du square Carré', 201, 'pdf', 21, NOW(), NOW(), CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'petition_square_carre.pdf', '0', 24877, 'ATT_MP', 'DGS', NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, '', 'COU', 'rrenaud', 7, 'incoming', 5, NULL, NULL, NULL, 'MAARCH/2019A/6', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 7, 1);
+INSERT INTO res_letterbox (res_id, subject, type_id, format, typist, creation_date, modification_date, doc_date, docserver_id, path, filename, fingerprint, filesize, status, destination, work_batch, origin, priority, policy_id, cycle_id, reference_number, initiator, dest_user, external_signatory_book_id, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
+VALUES (8, 'Félicitations élections', 205, 'pdf', 21, NOW(), NOW(), CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'felicitations.pdf', '0', 24877, 'ATT_MP', 'DGS', NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, '', 'COU', 'rrenaud', 8, 'incoming', 6, NULL, NULL, NULL, 'MAARCH/2019A/7', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 8, 1);
+INSERT INTO res_letterbox (res_id, subject, type_id, format, typist, creation_date, modification_date, doc_date, docserver_id, path, filename, fingerprint, filesize, status, destination, work_batch, origin, priority, policy_id, cycle_id, reference_number, initiator, dest_user, external_signatory_book_id, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
+VALUES (9, 'Demande place creche', 307, 'pdf', 21, NOW(), NOW(), CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'formulaire_place_creche.pdf', '0', 24877, 'ATT_MP', 'PE', NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, '', 'COU', 'ssaporta', 9, 'incoming', 7, NULL, NULL, NULL, 'MAARCH/2019A/8', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 9, 1);
+INSERT INTO res_letterbox (res_id, subject, type_id, format, typist, creation_date, modification_date, doc_date, docserver_id, path, filename, fingerprint, filesize, status, destination, work_batch, origin, priority, policy_id, cycle_id, reference_number, initiator, dest_user, external_signatory_book_id, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
+VALUES (10, 'Demande subvention jokkolabs', 406, 'pdf', 21, NOW(), NOW(), CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'demande_subvention.pdf', '0', 24877, 'ATT_MP', 'DGS', NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, '', 'COU', 'rrenaud', 10, 'incoming', 1, NULL, NULL, NULL, 'MAARCH/2019A/9', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 10, 1);
+INSERT INTO res_letterbox (res_id, subject, type_id, format, typist, creation_date, modification_date, doc_date, docserver_id, path, filename, fingerprint, filesize, status, destination, work_batch, origin, priority, policy_id, cycle_id, reference_number, initiator, dest_user, external_signatory_book_id, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
+VALUES (11, 'Facture Maarch', 407, 'pdf', 21, NOW(), NOW(), CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'facture.pdf', '0', 24877, 'ATT_MP', 'FIN', NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, '', 'COU', 'sstar', 11, 'incoming', 1, NULL, NULL, NULL, 'MAARCH/2019A/10', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 10, 1);
+INSERT INTO res_letterbox (res_id, subject, type_id, format, typist, creation_date, modification_date, doc_date, docserver_id, path, filename, fingerprint, filesize, status, destination, work_batch, origin, priority, policy_id, cycle_id, reference_number, initiator, dest_user, external_signatory_book_id, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
+VALUES (12, 'Demande état civil', 602, 'pdf', 21, NOW(), NOW(), CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'etat_civil.pdf', '0', 24877, 'ATT_MP', 'DGS', NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, '', 'COU', 'rrenaud', 12, 'incoming', 8, NULL, NULL, NULL, 'MAARCH/2019A/11', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 11, 1);
+INSERT INTO res_letterbox (res_id, subject, type_id, format, typist, creation_date, modification_date, doc_date, docserver_id, path, filename, fingerprint, filesize, status, destination, work_batch, origin, priority, policy_id, cycle_id, reference_number, initiator, dest_user, external_signatory_book_id, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
+VALUES (13, 'Arret maladie vide', 701, 'pdf', 21, NOW(), NOW(), CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'arret_maladie.pdf', '0', 24877, 'ATT_MP', 'DRH', NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, '', 'COU', 'ppruvost', 13, 'incoming', 4, NULL, NULL, NULL, 'MAARCH/2019A/12', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 6, 1);
+INSERT INTO res_letterbox (res_id, subject, type_id, format, typist, creation_date, modification_date, doc_date, docserver_id, path, filename, fingerprint, filesize, status, destination, work_batch, origin, priority, policy_id, cycle_id, reference_number, initiator, dest_user, external_signatory_book_id, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
+VALUES (14, 'Inscription école', 307, 'pdf', 21, NOW(), NOW(), CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'inscription_ecole.pdf', '0', 24877, 'ATT_MP', 'PE', NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, '', 'COU', 'ssaporta', 14, 'incoming', 7, NULL, NULL, NULL, 'MAARCH/2019A/13', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 9, 1);
 -- to qualify document
-INSERT INTO res_letterbox (res_id, subject, description, type_id, format, typist, creation_date, modification_date, author, identifier, source, relation, doc_date, docserver_id, path, filename, offset_doc, fingerprint, filesize, status, destination, validation_date, work_batch, origin, priority, policy_id, cycle_id, is_multi_docservers, reference_number, tablename, initiator, dest_user, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
-VALUES (15, 'Demande intervention à qualifier', '', 505, 'pdf', 21, NOW(), NOW(), NULL, NULL, NULL, NULL, CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'demande_intervention.pdf', '', '0', 24877, 'INIT', 'PTE', NULL, NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, 'N', '', 'res_letterbox', 'COU', 'ccharles', 'incoming', 4, NULL, NULL, NULL, 'MAARCH/2019A/14', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 6, 1);
+INSERT INTO res_letterbox (res_id, subject, type_id, format, typist, creation_date, modification_date, doc_date, docserver_id, path, filename, fingerprint, filesize, status, destination, work_batch, origin, priority, policy_id, cycle_id, reference_number, initiator, dest_user, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
+VALUES (15, 'Demande intervention à qualifier', 505, 'pdf', 21, NOW(), NOW(), CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'demande_intervention.pdf', '0', 24877, 'INIT', 'PTE', NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, '', 'COU', 'ccharles', 'incoming', 4, NULL, NULL, NULL, 'MAARCH/2019A/14', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 6, 1);
 -- to validate document
-INSERT INTO res_letterbox (res_id, subject, description, type_id, format, typist, creation_date, modification_date, author, identifier, source, relation, doc_date, docserver_id, path, filename, offset_doc, fingerprint, filesize, status, destination, validation_date, work_batch, origin, priority, policy_id, cycle_id, is_multi_docservers, reference_number, tablename, initiator, dest_user, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
-VALUES (16, 'Demande intervention à valider', '', 505, 'pdf', 21, NOW(), NOW(), NULL, NULL, NULL, NULL, CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'demande_intervention.pdf', '', '0', 24877, 'VAL', 'PTE', NULL, NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, 'N', '', 'res_letterbox', 'COU', 'ccharles', 'incoming', 4, NULL, NULL, NULL, 'MAARCH/2019A/15', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 6, 1);
+INSERT INTO res_letterbox (res_id, subject, type_id, format, typist, creation_date, modification_date, doc_date, docserver_id, path, filename, fingerprint, filesize, status, destination, work_batch, origin, priority, policy_id, cycle_id, reference_number, initiator, dest_user, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
+VALUES (16, 'Demande intervention à valider', 505, 'pdf', 21, NOW(), NOW(), CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'demande_intervention.pdf', '0', 24877, 'VAL', 'PTE', NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, '', 'COU', 'ccharles', 'incoming', 4, NULL, NULL, NULL, 'MAARCH/2019A/15', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 6, 1);
 -- to process document ccharles
-INSERT INTO res_letterbox (res_id, subject, description, type_id, format, typist, creation_date, modification_date, author, identifier, source, relation, doc_date, docserver_id, path, filename, offset_doc, fingerprint, filesize, status, destination, validation_date, work_batch, origin, priority, policy_id, cycle_id, is_multi_docservers, reference_number, tablename, initiator, dest_user, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
-VALUES (17, 'Demande intervention à traiter', '', 505, 'pdf', 21, NOW(), NOW(), NULL, NULL, NULL, NULL, CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'demande_intervention.pdf', '', '0', 24877, 'NEW', 'PTE', NULL, NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, 'N', '', 'res_letterbox', 'COU', 'ccharles', 'incoming', 4, NULL, NULL, NULL, 'MAARCH/2019A/16', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 6, 1);
+INSERT INTO res_letterbox (res_id, subject, type_id, format, typist, creation_date, modification_date, doc_date, docserver_id, path, filename, fingerprint, filesize, status, destination, work_batch, origin, priority, policy_id, cycle_id, reference_number, initiator, dest_user, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
+VALUES (17, 'Demande intervention à traiter', 505, 'pdf', 21, NOW(), NOW(), CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'demande_intervention.pdf', '0', 24877, 'NEW', 'PTE', NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, '', 'COU', 'ccharles', 'incoming', 4, NULL, NULL, NULL, 'MAARCH/2019A/16', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 6, 1);
 -- to process document nnataly
-INSERT INTO res_letterbox (res_id, subject, description, type_id, format, typist, creation_date, modification_date, author, identifier, source, relation, doc_date, docserver_id, path, filename, offset_doc, fingerprint, filesize, status, destination, validation_date, work_batch, origin, priority, policy_id, cycle_id, is_multi_docservers, reference_number, tablename, initiator, dest_user, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
-VALUES (18, 'Demande intervention à envoyer au parapheur', '', 505, 'pdf', 21, NOW(), NOW(), NULL, NULL, NULL, NULL, CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'demande_intervention.pdf', '', '0', 24877, 'NEW', 'PSO', NULL, NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, 'N', '', 'res_letterbox', 'COU', 'nnataly', 'incoming', 4, NULL, NULL, NULL, 'MAARCH/2019A/17', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 6, 1);
+INSERT INTO res_letterbox (res_id, subject, type_id, format, typist, creation_date, modification_date, doc_date, docserver_id, path, filename, fingerprint, filesize, status, destination, work_batch, origin, priority, policy_id, cycle_id, reference_number, initiator, dest_user, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
+VALUES (18, 'Demande intervention à envoyer au parapheur', 505, 'pdf', 21, NOW(), NOW(), CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'demande_intervention.pdf', '0', 24877, 'NEW', 'PSO', NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, '', 'COU', 'nnataly', 'incoming', 4, NULL, NULL, NULL, 'MAARCH/2019A/17', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 6, 1);
 -- to paraph document ppetit
-INSERT INTO res_letterbox (res_id, subject, description, type_id, format, typist, creation_date, modification_date, author, identifier, source, relation, doc_date, docserver_id, path, filename, offset_doc, fingerprint, filesize, status, destination, validation_date, work_batch, origin, priority, policy_id, cycle_id, is_multi_docservers, reference_number, tablename, initiator, dest_user, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
-VALUES (19, 'Demande intervention à signer', '', 505, 'pdf', 21, NOW(), NOW(), NULL, NULL, NULL, NULL, CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'demande_intervention.pdf', '', '0', 24877, 'ATT_MP', 'PTE', NULL, NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, 'N', '', 'res_letterbox', 'COU', 'ccharles', 'incoming', 4, NULL, NULL, NULL, 'MAARCH/2019A/18', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 6, 1);
+INSERT INTO res_letterbox (res_id, subject, type_id, format, typist, creation_date, modification_date, doc_date, docserver_id, path, filename, fingerprint, filesize, status, destination, work_batch, origin, priority, policy_id, cycle_id, reference_number, initiator, dest_user, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
+VALUES (19, 'Demande intervention à signer', 505, 'pdf', 21, NOW(), NOW(), CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'demande_intervention.pdf', '0', 24877, 'ATT_MP', 'PTE', NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, '', 'COU', 'ccharles', 'incoming', 4, NULL, NULL, NULL, 'MAARCH/2019A/18', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 6, 1);
 -- to archive document ggrand
-INSERT INTO res_letterbox (res_id, subject, description, type_id, format, typist, creation_date, modification_date, author, identifier, source, relation, doc_date, docserver_id, path, filename, offset_doc, fingerprint, filesize, status, destination, validation_date, work_batch, origin, priority, policy_id, cycle_id, is_multi_docservers, reference_number, tablename, initiator, dest_user, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
-VALUES (20, 'Demande intervention à archiver', '', 505, 'pdf', 21, NOW(), NOW(), NULL, NULL, NULL, NULL, CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'demande_intervention.pdf', '', '0', 24877, 'END', 'PTE', NULL, NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, 'N', '', 'res_letterbox', 'COU', 'ccharles', 'incoming', 4, NULL, NULL, NULL, 'MAARCH/2019A/19', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 6, 1);
+INSERT INTO res_letterbox (res_id, subject, type_id, format, typist, creation_date, modification_date, doc_date, docserver_id, path, filename, fingerprint, filesize, status, destination, work_batch, origin, priority, policy_id, cycle_id, reference_number, initiator, dest_user, category_id, exp_contact_id, exp_user_id, dest_contact_id, dest_user_id, alt_identifier, admission_date, process_limit_date, closing_date, alarm1_date, alarm2_date, flag_alarm1, flag_alarm2, is_multicontacts, address_id, model_id)
+VALUES (20, 'Demande intervention à archiver', 505, 'pdf', 21, NOW(), NOW(), CURRENT_DATE, 'FASTHD_MAN', 'tests#', 'demande_intervention.pdf', '0', 24877, 'END', 'PTE', NULL, NULL, 'poiuytre1357nbvc', NULL, NULL, '', 'COU', 'ccharles', 'incoming', 4, NULL, NULL, NULL, 'MAARCH/2019A/19', CURRENT_DATE, CURRENT_DATE + 21, NULL, NULL, NULL, 'N', 'N', NULL, 6, 1);
 
 Select setval('res_id_mlb_seq', (select max(res_id)+1 from res_letterbox), false);
 
diff --git a/src/app/resource/controllers/ExportController.php b/src/app/resource/controllers/ExportController.php
index ea7289c2dd6..866fbb5d95e 100644
--- a/src/app/resource/controllers/ExportController.php
+++ b/src/app/resource/controllers/ExportController.php
@@ -19,6 +19,8 @@ use Basket\models\BasketModel;
 use Contact\models\ContactModel;
 use Entity\models\EntityModel;
 use Entity\models\ListInstanceModel;
+use Folder\controllers\FolderController;
+use Folder\models\FolderModel;
 use Resource\models\ExportTemplateModel;
 use Resource\models\ResModel;
 use Resource\models\ResourceContactModel;
@@ -128,7 +130,7 @@ class ExportController
             ]);
         }
 
-        $select           = ['res_id'];
+        $select           = ['res_view_letterbox.res_id'];
         $tableFunction    = [];
         $leftJoinFunction = [];
         $csvHead          = [];
@@ -146,10 +148,12 @@ class ExportController
                     $select[] = 'priorities.label AS "priorities.label"';
                     $tableFunction[] = 'priorities';
                     $leftJoinFunction[] = 'res_view_letterbox.priority = priorities.id';
-                } elseif ($value['value'] == 'getParentFolder') {
-                    $select[] = 'folders.folder_name AS "folders.folder_name"';
-                    $tableFunction[] = 'folders';
-                    $leftJoinFunction[] = 'res_view_letterbox.fold_parent_id = folders.folders_system_id';
+                } elseif ($value['value'] == 'getFolder') {
+                    $select[] = 'res_folder2.label AS "folders.label"';
+                    $tableFunction[] = 'resources_folders as res_folders2';
+                    $leftJoinFunction[] = 'res_view_letterbox.res_id = res_folders2.res_id';
+                    $tableFunction[] = 'folders as res_folder2';
+                    $leftJoinFunction[] = 'res_folder2.id = res_folders2.folder_id';
                 } elseif ($value['value'] == 'getCategory') {
                     $select[] = 'res_view_letterbox.category_id';
                 } elseif ($value['value'] == 'getInitiatorEntity') {
@@ -245,7 +249,9 @@ class ExportController
                     } elseif ($value['value'] == 'getDetailLink') {
                         $csvContent[] = str_replace('rest/', "apps/maarch_entreprise/index.php?page=details&dir=indexing_searching&id={$resource['res_id']}", \Url::coreurl());
                     } elseif ($value['value'] == 'getParentFolder') {
-                        $csvContent[] = $resource['folders.folder_name'];
+                        $csvContent[] = ExportController::getParentFolderLabel(['res_id' => $resource['res_id']]);
+                    } elseif ($value['value'] == 'getFolder') {
+                        $csvContent[] = $resource['folders.label'];
                     } elseif ($value['value'] == 'getCategory') {
                         $csvContent[] = ResModel::getCategoryLabel(['categoryId' => $resource['category_id']]);
                     } elseif ($value['value'] == 'getInitiatorEntity') {
@@ -355,7 +361,9 @@ class ExportController
                     } elseif ($value['value'] == 'getDetailLink') {
                         $content[] = str_replace('rest/', "apps/maarch_entreprise/index.php?page=details&dir=indexing_searching&id={$resource['res_id']}", \Url::coreurl());
                     } elseif ($value['value'] == 'getParentFolder') {
-                        $content[] = $resource['folders.folder_name'];
+                        $content[] = ExportController::getParentFolderLabel(['res_id' => $resource['res_id']]);
+                    }  elseif ($value['value'] == 'getFolder') {
+                        $content[] = $resource['folders.label'];
                     } elseif ($value['value'] == 'getCategory') {
                         $content[] = ResModel::getCategoryLabel(['categoryId' => $resource['category_id']]);
                     } elseif ($value['value'] == 'getInitiatorEntity') {
@@ -756,4 +764,31 @@ class ExportController
 
         return $maxHeight + 2;
     }
+
+    private static function getParentFolderLabel(array $args)
+    {
+        $folder = FolderModel::getWithEntitiesAndResources([
+            'select'    => ['folders.parent_id'],
+            'where'     => ['resources_folders.res_id = ?'],
+            'data'      => [$args['res_id']]
+        ]);
+        if (empty($folder)) {
+            return '';
+        }
+        $folder = $folder[0];
+
+        $hasFolder = FolderController::hasFolders([
+            'userId' => $GLOBALS['id'],
+            'folders' => [$folder['parent_id']]
+        ]);
+
+        if (!$hasFolder) {
+            return '';
+        }
+        $parentFolder = FolderModel::getById([
+            'id' => $folder['parent_id']
+        ]);
+
+        return $parentFolder['label'];
+    }
 }
diff --git a/src/frontend/app/list/export/export.component.ts b/src/frontend/app/list/export/export.component.ts
index 473495441dc..0e0e3dc2ec2 100644
--- a/src/frontend/app/list/export/export.component.ts
+++ b/src/frontend/app/list/export/export.component.ts
@@ -78,14 +78,9 @@ export class ExportComponent implements OnInit {
             isFunction: false
         },
         {
-            value: 'fold_status',
-            label: this.lang.folderStatus,
-            isFunction: false
-        },
-        {
-            value: 'folder_name',
+            value: 'getFolder',
             label: this.lang.folderName,
-            isFunction: false
+            isFunction: true
         },
         {
             value: 'confidentiality',
-- 
GitLab