From b3a920112d3046ef01d3644b021231939e58feaf Mon Sep 17 00:00:00 2001
From: Damien <damien.burel@maarch.org>
Date: Fri, 29 Jun 2018 14:57:14 +0200
Subject: [PATCH] [REFACTORING] Del statuses folder

---
 .../status-administration.component.html      | 10 +--
 .../status-administration.component.ts        |  6 --
 .../statuses-administration.component.ts      | 15 +++--
 .../xml/IVS/validation_rules.xml              | 14 ----
 core/class/StatusControler.php                |  6 --
 modules/folder/lang/en.php                    |  2 -
 modules/folder/lang/fr.php                    |  2 -
 sql/data_fr.sql                               | 64 +++++++++----------
 sql/develop.sql                               |  1 +
 sql/structure.sql                             |  1 -
 .../status/controllers/StatusController.php   |  9 +--
 test/StatusControllerTest.php                 |  6 --
 12 files changed, 44 insertions(+), 92 deletions(-)

diff --git a/apps/maarch_entreprise/Views/status-administration.component.html b/apps/maarch_entreprise/Views/status-administration.component.html
index 27bd607c120..2a4f27de67b 100755
--- a/apps/maarch_entreprise/Views/status-administration.component.html
+++ b/apps/maarch_entreprise/Views/status-administration.component.html
@@ -45,24 +45,18 @@
                         </div>
                     </div>
                     <div class="form-group">
-                        <div class="col-sm-4" style="white-space:nowrap;text-align:center;">
+                        <div class="col-sm-6" style="white-space:nowrap;text-align:center;">
                             <mat-slide-toggle matTooltip="{{lang.tooltipSearchStatus}}" [(ngModel)]="status.can_be_searched" id="can_be_search" name="can_be_search"
                                 color="primary" [checked]="status.can_be_searched == true">
                                 {{lang.canBeSearched}}
                             </mat-slide-toggle>
                         </div>
-                        <div class="col-sm-4" style="white-space:nowrap;text-align:center;">
+                        <div class="col-sm-6" style="white-space:nowrap;text-align:center;">
                             <mat-slide-toggle matTooltip="{{lang.tooltipIndexStatus}}" [(ngModel)]="status.can_be_modified" id="can_be_modified" name="can_be_modified"
                                 color="primary" [checked]="status.can_be_modified == true">
                                 {{lang.canBeModified}}
                             </mat-slide-toggle>
                         </div>
-                        <div class="col-sm-4" style="white-space:nowrap;text-align:center;">
-                            <mat-slide-toggle matTooltip="{{lang.tooltipFolderStatus}}" [(ngModel)]="status.is_folder_status" id="is_folder_status" name="is_folder_status"
-                                color="primary" [checked]="status.is_folder_status == true">
-                                {{lang.isFolderStatus}}
-                            </mat-slide-toggle>
-                        </div>
                     </div>
                     <div class="form-group">
                         <div class="col-sm-1" style="text-align:right;">
diff --git a/apps/maarch_entreprise/js/angular/app/administration/status-administration.component.ts b/apps/maarch_entreprise/js/angular/app/administration/status-administration.component.ts
index 26f059db5b2..3e7eb32166c 100644
--- a/apps/maarch_entreprise/js/angular/app/administration/status-administration.component.ts
+++ b/apps/maarch_entreprise/js/angular/app/administration/status-administration.component.ts
@@ -29,7 +29,6 @@ export class StatusAdministrationComponent implements OnInit {
         label_status: null,
         can_be_searched: null,
         can_be_modified: null,
-        is_folder_status: null,
         img_filename: null
     };
     statusImages: any = "";
@@ -94,11 +93,6 @@ export class StatusAdministrationComponent implements OnInit {
                 } else {
                     this.status.can_be_modified = false;
                 }
-                if (this.status.is_folder_status == 'Y') {
-                    this.status.is_folder_status = true;
-                } else {
-                    this.status.is_folder_status = false;
-                }
                 this.statusImages = data['statusImages'];
             }, (err) => {
                 this.notify.error(err.error.errors);
diff --git a/apps/maarch_entreprise/js/angular/app/administration/statuses-administration.component.ts b/apps/maarch_entreprise/js/angular/app/administration/statuses-administration.component.ts
index 469e7ebd082..bf0f5bd7baa 100644
--- a/apps/maarch_entreprise/js/angular/app/administration/statuses-administration.component.ts
+++ b/apps/maarch_entreprise/js/angular/app/administration/statuses-administration.component.ts
@@ -14,17 +14,19 @@ declare var angularGlobals: any;
     providers: [NotificationService]
 })
 export class StatusesAdministrationComponent implements OnInit {
-    mobileQuery: MediaQueryList;
-    private _mobileQueryListener: () => void;
-    coreUrl: string;
-    lang: any = LANG;
 
-    statuses: Status[] = [];
+    mobileQuery                     : MediaQueryList;
+    private _mobileQueryListener    : () => void;
 
-    loading: boolean = false;
+    coreUrl     : string;
+    lang        : any = LANG;
+    loading     : boolean = false;
+
+    statuses    : Status[] = [];
 
     displayedColumns = ['img_filename', 'id', 'label_status', 'identifier'];
     dataSource = new MatTableDataSource(this.statuses);
+
     @ViewChild(MatPaginator) paginator: MatPaginator;
     @ViewChild(MatSort) sort: MatSort;
     applyFilter(filterValue: string) {
@@ -88,7 +90,6 @@ export interface Status {
     can_be_searchead: string;
     identifier: number;
     img_filename: string;
-    is_folder_status: string;
     is_system: string;
     label_status: string;
     maarch_module: string;
diff --git a/apps/maarch_entreprise/xml/IVS/validation_rules.xml b/apps/maarch_entreprise/xml/IVS/validation_rules.xml
index 61519d40edf..db7c4a35671 100755
--- a/apps/maarch_entreprise/xml/IVS/validation_rules.xml
+++ b/apps/maarch_entreprise/xml/IVS/validation_rules.xml
@@ -222,20 +222,6 @@
       <parameter name="coll_id" type="collection_list" />
     </validationRule>
 
-    <validationRule name="admin_status" extends="standardForm" mode="error">
-      <parameter name="can_be_modified" type="YN" />
-      <parameter name="can_be_searched" type="YN" />
-      <parameter name="img_filename" type="filename" />
-      <parameter name="img_related" type="filename" />
-      <parameter name="is_folder_status" type="YN" />
-      <parameter name="is_system" type="YN" />
-      <parameter name="label" type="string" />
-      <parameter name="status_id" type="identifier" />
-      <parameter name="status_submit" type="string" />
-      <parameter name="Submit" type="string" />
-      <parameter name="what" type="string" />
-    </validationRule>
-
     <validationRule name="contactAddressDel" extends="standardForm" mode="error">
       <parameter name="id" type="integer" />
       <parameter name="move" type="string" />
diff --git a/core/class/StatusControler.php b/core/class/StatusControler.php
index 777f7153aa6..ea5b9109c29 100755
--- a/core/class/StatusControler.php
+++ b/core/class/StatusControler.php
@@ -253,12 +253,6 @@ class Maarch_Core_Class_StatusControler
                 && $status->can_be_modified != 'N')) {
           $status->can_be_modified = 'Y';
         }
-        
-        if (!isset($status->is_folder_status)
-            || ($status->is_folder_status != 'N'
-                && $status->is_folder_status != 'Y')) {
-          $status->is_folder_status = 'N';
-        }
 
         $_SESSION['service_tag'] = 'status_check';
         $core = new core_tools();
diff --git a/modules/folder/lang/en.php b/modules/folder/lang/en.php
index 56a346ea1c8..e5c661002b9 100755
--- a/modules/folder/lang/en.php
+++ b/modules/folder/lang/en.php
@@ -321,8 +321,6 @@ if (!defined("_SEARCH_FOLDER_TREE"))
     define("_SEARCH_FOLDER_TREE", "Search folders");
 if (!defined("_NB_DOCS_IN_FOLDER"))                 
     define("_NB_DOCS_IN_FOLDER", "Files number");
-if (!defined("_IS_FOLDER_STATUS"))
-    define("_IS_FOLDER_STATUS", "Folder's status");
 if (!defined("_CONFIRM_FOLDER_STATUS"))
     define("_CONFIRM_FOLDER_STATUS", "Simple confirmation (folders)");
 if (!defined("_REDIRECT_FOLDER"))                   
diff --git a/modules/folder/lang/fr.php b/modules/folder/lang/fr.php
index 1d3fbe371e5..55fbb463133 100755
--- a/modules/folder/lang/fr.php
+++ b/modules/folder/lang/fr.php
@@ -324,8 +324,6 @@ if (!defined("_SEARCH_FOLDER_TREE"))
     define("_SEARCH_FOLDER_TREE", "Recherche Dossiers");
 if (!defined("_NB_DOCS_IN_FOLDER"))                 
     define("_NB_DOCS_IN_FOLDER", "Nombre de documents");
-if (!defined("_IS_FOLDER_STATUS"))
-    define("_IS_FOLDER_STATUS", "Statut de dossier");
 if (!defined("_CONFIRM_FOLDER_STATUS"))
     define("_CONFIRM_FOLDER_STATUS", "Confirmation simple (dossiers)");
 if (!defined("_REDIRECT_FOLDER"))                   
diff --git a/sql/data_fr.sql b/sql/data_fr.sql
index 5712a7688e1..979271e5cc2 100755
--- a/sql/data_fr.sql
+++ b/sql/data_fr.sql
@@ -1081,38 +1081,38 @@ INSERT INTO contact_communication (contact_id, type, value) VALUES (2, 'url', 'h
 --STATUS-
 ------------
 TRUNCATE TABLE status;
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('COU', 'En cours', 'Y', 'N', 'fm-letter-status-inprogress', 'apps', 'Y', 'Y');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('DEL', 'Supprimé', 'Y', 'N', 'fm-letter-del', 'apps', 'N', 'Y');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('END', 'Clos / fin du workflow', 'Y', 'N', 'fm-letter-status-end', 'apps', 'Y', 'Y');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('NEW', 'Nouveau courrier pour le service', 'Y', 'N', 'fm-letter-status-new', 'apps', 'Y', 'Y');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('RET', 'Retour courrier ou document en qualification', 'N', 'N', 'fm-letter-status-rejected', 'apps', 'Y', 'Y');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('VAL', 'Courrier signalé', 'Y', 'N', 'fm-letter-status-aval', 'apps', 'Y', 'Y');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('INIT', 'Nouveau courrier ou document non qualifié', 'Y', 'N', 'fm-letter-status-attr', 'apps', 'Y', 'Y');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('VALSG', 'Nouveau courrier ou document en validation SG', 'Y', 'N', 'fm-letter-status-attr', 'apps', 'Y', 'Y');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('VALDGS', 'Nouveau courrier ou document en validation DGS', 'Y', 'N', 'fm-letter-status-attr', 'apps', 'Y', 'Y');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('EAVIS', 'Avis demandé', 'N', 'N', 'fa-lightbulb', 'apps', 'Y', 'Y');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('EENV', 'A e-envoyer', 'N', 'N', 'fm-letter-status-aenv', 'apps', 'Y', 'Y');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('ESIG', 'A e-signer', 'N', 'N', 'fm-file-fingerprint', 'apps', 'Y', 'Y');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('EVIS', 'A e-viser', 'N', 'N', 'fm-letter-status-aval', 'apps', 'Y', 'Y');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('ESIGAR', 'AR à e-signer', 'N', 'N', 'fm-file-fingerprint', 'apps', 'Y', 'Y');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('EENVAR', 'AR à e-envoyer', 'N', 'N', 'fm-letter-status-aenv', 'apps', 'Y', 'Y');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('SVX', 'En attente  de traitement SVE', 'N', 'N', 'fm-letter-status-wait', 'apps', 'Y', 'Y');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('SSUITE', 'Sans suite', 'Y', 'N', 'fm-letter-del', 'apps', 'Y', 'Y');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('A_TRA', 'PJ à traiter', 'Y', 'N', 'fm-letter-new', 'apps', 'Y', 'Y');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('TRA', 'PJ traitée', 'Y', 'N', 'fm-letter-end', 'apps', 'Y', 'Y');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('OBS', 'PJ obsolète', 'Y', 'N', 'fm-letter-end', 'apps', 'Y', 'Y');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('TMP', 'PJ brouillon', 'Y', 'N', 'fm-letter-cou', 'apps', 'N', 'N');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('EXP_SEDA', 'A archiver', 'Y', 'N', 'fm-letter-status-acla', 'apps', 'Y', 'Y');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('SEND_SEDA ', 'Courrier envoyé au système d''archivage', 'Y', 'N', 'fm-letter-status-inprogress', 'apps', 'Y', 'Y');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('ACK_SEDA ', 'Accusé de réception reçu', 'Y', 'N', 'fm-letter-status-acla', 'apps', 'Y', 'Y');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('REPLY_SEDA', 'Courrier archivé', 'Y', 'N', 'fm-letter-status-acla', 'apps', 'Y', 'Y');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('GRC', 'Envoyé en GRC', 'N', 'N', 'fm-letter-cou', 'apps', 'Y', 'Y');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('GRC_TRT', 'En traitement GRC', 'N', 'N', 'fm-letter-cou', 'apps', 'Y', 'Y');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('GRC_ALERT', 'Retourné par la GRC', 'N', 'N', 'fm-letter-cou', 'apps', 'Y', 'Y');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('RETRN', 'Retourné', 'Y', 'N', '', 'apps', 'N', 'N');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('NO_RETRN', 'Pas de retour', 'Y', 'N', '', 'apps', 'N', 'N');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('PJQUAL', 'PJ à réconcilier', 'Y', 'N', 'fm-letter-status-attr', 'apps', 'Y', 'Y');
-INSERT INTO status (id, label_status, is_system, is_folder_status, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('NUMQUAL', 'Plis à qualifier', 'Y', 'N', 'fm-letter-status-attr', 'apps', 'Y', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('COU', 'En cours', 'Y', 'fm-letter-status-inprogress', 'apps', 'Y', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('DEL', 'Supprimé', 'Y', 'fm-letter-del', 'apps', 'N', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('END', 'Clos / fin du workflow', 'Y', 'fm-letter-status-end', 'apps', 'Y', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('NEW', 'Nouveau courrier pour le service', 'Y', 'fm-letter-status-new', 'apps', 'Y', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('RET', 'Retour courrier ou document en qualification', 'N', 'fm-letter-status-rejected', 'apps', 'Y', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('VAL', 'Courrier signalé', 'Y', 'fm-letter-status-aval', 'apps', 'Y', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('INIT', 'Nouveau courrier ou document non qualifié', 'Y', 'fm-letter-status-attr', 'apps', 'Y', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('VALSG', 'Nouveau courrier ou document en validation SG', 'Y', 'fm-letter-status-attr', 'apps', 'Y', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('VALDGS', 'Nouveau courrier ou document en validation DGS', 'Y', 'fm-letter-status-attr', 'apps', 'Y', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('EAVIS', 'Avis demandé', 'N', 'fa-lightbulb', 'apps', 'Y', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('EENV', 'A e-envoyer', 'N', 'fm-letter-status-aenv', 'apps', 'Y', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('ESIG', 'A e-signer', 'N', 'fm-file-fingerprint', 'apps', 'Y', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('EVIS', 'A e-viser', 'N', 'fm-letter-status-aval', 'apps', 'Y', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('ESIGAR', 'AR à e-signer', 'N', 'fm-file-fingerprint', 'apps', 'Y', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('EENVAR', 'AR à e-envoyer', 'N', 'fm-letter-status-aenv', 'apps', 'Y', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('SVX', 'En attente  de traitement SVE', 'N', 'fm-letter-status-wait', 'apps', 'Y', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('SSUITE', 'Sans suite', 'Y', 'fm-letter-del', 'apps', 'Y', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('A_TRA', 'PJ à traiter', 'Y', 'fm-letter-new', 'apps', 'Y', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('TRA', 'PJ traitée', 'Y', 'fm-letter-end', 'apps', 'Y', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('OBS', 'PJ obsolète', 'Y', 'fm-letter-end', 'apps', 'Y', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('TMP', 'PJ brouillon', 'Y', 'fm-letter-cou', 'apps', 'N', 'N');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('EXP_SEDA', 'A archiver', 'Y', 'fm-letter-status-acla', 'apps', 'Y', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('SEND_SEDA ', 'Courrier envoyé au système d''archivage', 'Y', 'fm-letter-status-inprogress', 'apps', 'Y', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('ACK_SEDA ', 'Accusé de réception reçu', 'Y', 'fm-letter-status-acla', 'apps', 'Y', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('REPLY_SEDA', 'Courrier archivé', 'Y', 'fm-letter-status-acla', 'apps', 'Y', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('GRC', 'Envoyé en GRC', 'N', 'fm-letter-cou', 'apps', 'Y', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('GRC_TRT', 'En traitement GRC', 'N', 'fm-letter-cou', 'apps', 'Y', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('GRC_ALERT', 'Retourné par la GRC', 'N', 'fm-letter-cou', 'apps', 'Y', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('RETRN', 'Retourné', 'Y', '', 'apps', 'N', 'N');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('NO_RETRN', 'Pas de retour', 'Y', '', 'apps', 'N', 'N');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('PJQUAL', 'PJ à réconcilier', 'Y', 'fm-letter-status-attr', 'apps', 'Y', 'Y');
+INSERT INTO status (id, label_status, is_system, img_filename, maarch_module, can_be_searched, can_be_modified) VALUES ('NUMQUAL', 'Plis à qualifier', 'Y', 'fm-letter-status-attr', 'apps', 'Y', 'Y');
 ------------
 --STATUS IMAGES-
 ------------
diff --git a/sql/develop.sql b/sql/develop.sql
index 4cc38267ed4..1bb635a5e17 100644
--- a/sql/develop.sql
+++ b/sql/develop.sql
@@ -80,6 +80,7 @@ ALTER TABLE baskets DROP COLUMN IF EXISTS is_generic;
 ALTER TABLE baskets DROP COLUMN IF EXISTS except_notif;
 ALTER TABLE baskets DROP COLUMN IF EXISTS is_folder_basket;
 ALTER TABLE actions DROP COLUMN IF EXISTS is_folder_action;
+ALTER TABLE status DROP COLUMN IF EXISTS is_folder_status;
 ALTER TABLE security DROP COLUMN IF EXISTS can_insert;
 ALTER TABLE security DROP COLUMN IF EXISTS can_update;
 ALTER TABLE security DROP COLUMN IF EXISTS can_delete;
diff --git a/sql/structure.sql b/sql/structure.sql
index 5956f7f0c0e..cefc614f501 100755
--- a/sql/structure.sql
+++ b/sql/structure.sql
@@ -166,7 +166,6 @@ CREATE TABLE status
   id character varying(10) NOT NULL,
   label_status character varying(50) NOT NULL,
   is_system character(1) NOT NULL DEFAULT 'Y'::bpchar,
-  is_folder_status character(1) NOT NULL default 'N'::bpchar,
   img_filename character varying(255),
   maarch_module character varying(255) NOT NULL DEFAULT 'apps'::character varying,
   can_be_searched character(1) NOT NULL DEFAULT 'Y'::bpchar,
diff --git a/src/app/status/controllers/StatusController.php b/src/app/status/controllers/StatusController.php
index 7862ed48e90..c5408997b63 100755
--- a/src/app/status/controllers/StatusController.php
+++ b/src/app/status/controllers/StatusController.php
@@ -168,7 +168,7 @@ class StatusController
     protected static function manageValue($request)
     {
         foreach ($request  as $key => $value) {
-            if (in_array($key, ['is_system', 'is_folder_status', 'can_be_searched', 'can_be_modified'])) {
+            if (in_array($key, ['is_system', 'can_be_searched', 'can_be_modified'])) {
                 if (empty($value)) {
                     $request[$key] = 'N';
                 } else {
@@ -226,13 +226,6 @@ class StatusController
             array_push($errors, 'Invalid is_system value');
         }
 
-        if (Validator::notEmpty()->validate($request['is_folder_status']) &&
-            !Validator::contains('Y')->validate($request['is_folder_status']) &&
-            !Validator::contains('N')->validate($request['is_folder_status'])
-        ) {
-            array_push($errors, 'Invalid is_folder_status value');
-        }
-
         if (!Validator::notEmpty()->validate($request['img_filename']) ||
             !Validator::length(1, 255)->validate($request['img_filename'])
         ) {
diff --git a/test/StatusControllerTest.php b/test/StatusControllerTest.php
index f844fa516af..0762340d6b6 100644
--- a/test/StatusControllerTest.php
+++ b/test/StatusControllerTest.php
@@ -21,7 +21,6 @@ class StatusControllerTest extends TestCase
             'id'               => 'TEST',
             'label_status'     => 'TEST',
             'img_filename'     => 'fm-letter-end',
-            'is_folder_status' => '',
             'can_be_searched'  => 'true',
             'can_be_modified'  => '',
         ];
@@ -38,7 +37,6 @@ class StatusControllerTest extends TestCase
             'id'               => 'TEST',
             'label_status'     => 'TEST',
             'is_system'        => 'N',
-            'is_folder_status' => 'N',
             'img_filename'     => 'fm-letter-end',
             'maarch_module'    => 'apps',
             'can_be_searched'  => 'Y',
@@ -54,7 +52,6 @@ class StatusControllerTest extends TestCase
             'id'               => 'TEST',
             'label_status'     => 'TEST',
             'img_filename'     => 'fm-letter-end',
-            'is_folder_status' => ''
         ];
         $fullRequest  = \httpRequestCustom::addContentInBody($aArgs, $request);
 
@@ -69,7 +66,6 @@ class StatusControllerTest extends TestCase
             'id'               => 'papa',
             'label_status'     => '',
             'img_filename'     => 'fm-letter-end',
-            'is_folder_status' => ''
         ];
         $fullRequest  = \httpRequestCustom::addContentInBody($aArgs, $request);
 
@@ -114,7 +110,6 @@ class StatusControllerTest extends TestCase
             'id'               => 'TEST',
             'label_status'     => 'TEST',
             'is_system'        => 'N',
-            'is_folder_status' => 'N',
             'img_filename'     => 'fm-letter-end',
             'maarch_module'    => 'apps',
             'can_be_searched'  => 'Y',
@@ -151,7 +146,6 @@ class StatusControllerTest extends TestCase
             'id'               => 'TEST',
             'label_status'     => 'TEST AFTER UP',
             'is_system'        => 'N',
-            'is_folder_status' => 'N',
             'img_filename'     => 'fm-letter-end',
             'maarch_module'    => 'apps',
             'can_be_searched'  => 'Y',
-- 
GitLab