From 1d01d2aaa3d5573de53e9322c27ca494b8cb348d Mon Sep 17 00:00:00 2001
From: Damien <damien.burel@maarch.org>
Date: Fri, 29 Jun 2018 11:26:54 +0200
Subject: [PATCH] [REFACTORING] Del baskets folder

---
 .../basket-administration.component.html      | 11 +----
 .../class/class_users_Abstract.php            |  4 +-
 .../documents_list_mlb_search_adv.php         |  3 +-
 .../indexing_searching/search_adv.php         |  1 -
 .../indexing_searching/search_adv_result.php  |  6 +--
 .../basket-administration.component.ts        |  1 -
 .../js/angular/lang/lang-en.ts                |  1 -
 .../js/angular/lang/lang-fr.ts                |  1 -
 core/class/class_security.php                 |  5 +--
 .../class/class_modules_tools_Abstract.php    | 23 +++-------
 modules/basket/display_basket_list.php        | 33 +++++---------
 modules/cases/cases_documents_list.php        | 43 ++++++++----------
 modules/folder/lang/en.php                    |  4 +-
 modules/folder/lang/fr.php                    |  4 +-
 sql/data_fr.sql                               | 44 +++++++++----------
 sql/develop.sql                               |  1 +
 sql/structure.sql                             |  1 -
 .../basket/controllers/BasketController.php   |  2 -
 src/app/basket/models/BasketModelAbstract.php | 10 ++---
 .../resource/controllers/ResController.php    |  1 -
 test/BasketControllerTest.php                 |  4 --
 21 files changed, 70 insertions(+), 133 deletions(-)

diff --git a/apps/maarch_entreprise/Views/basket-administration.component.html b/apps/maarch_entreprise/Views/basket-administration.component.html
index 054a2f4c98e..4b3fe5682f6 100644
--- a/apps/maarch_entreprise/Views/basket-administration.component.html
+++ b/apps/maarch_entreprise/Views/basket-administration.component.html
@@ -64,20 +64,13 @@
                                 <mat-icon style="cursor:pointer;" color="primary" matSuffix class="fa fa-info-circle" matTooltip="{{lang.keywordHelper}}"
                                     (click)="snav2.toggle()"></mat-icon>
                             </mat-form-field>
-                            <div class="col-md-4 col-xs-4 text-center">
+                            <div class="col-md-6 col-xs-6 text-center">
                                 <mat-slide-toggle [ngStyle]="{'opacity': basket.isSearchBasket ? '' : '0.3'}" color="primary" matTooltip="{{lang.isSearchBasket}}" name="isSearchBasket" [(ngModel)]="basket.isSearchBasket">
                                     &nbsp;
                                     <mat-icon color="primary" style="width: auto;" class="fa fa-search fa-2x"></mat-icon>
                                 </mat-slide-toggle>
-
-                            </div>
-                            <div class="col-md-4 col-xs-4 text-center">
-                                <mat-slide-toggle [ngStyle]="{'opacity': basket.isFolderBasket ? '' : '0.3'}" color="primary" matTooltip="{{lang.isFolderBasket}}" name="isFolderBasket" [(ngModel)]="basket.isFolderBasket">
-                                    &nbsp;
-                                    <mat-icon style="width: auto;" class="fa fa-folder fa-2x"></mat-icon>
-                                </mat-slide-toggle>
                             </div>
-                            <div class="col-md-4 col-xs-4 text-center">
+                            <div class="col-md-6 col-xs-6 text-center">
                                 <mat-slide-toggle [ngStyle]="{'opacity': basket.flagNotif ? '' : '0.3'}" color="primary" matTooltip="{{lang.basketNotification}}" name="flagNotif" [(ngModel)]="basket.flagNotif">
                                     &nbsp;
                                     <mat-icon style="width: auto;" class="fa fa-bell fa-2x"></mat-icon>
diff --git a/apps/maarch_entreprise/class/class_users_Abstract.php b/apps/maarch_entreprise/class/class_users_Abstract.php
index fa961268b4a..6a2f3046636 100755
--- a/apps/maarch_entreprise/class/class_users_Abstract.php
+++ b/apps/maarch_entreprise/class/class_users_Abstract.php
@@ -128,9 +128,7 @@ abstract class class_users_Abstract extends Database
                 ) {
                     if(
                         isset($_SESSION['user']['baskets'][$ind_bask]['clause']) 
-                        && trim($_SESSION['user']['baskets'][$ind_bask]['clause']
-                        ) <> '' 
-                        && $_SESSION['user']['baskets'][$ind_bask]['is_folder_basket'] == 'N'
+                        && trim($_SESSION['user']['baskets'][$ind_bask]['clause']) <> ''
                     ) {
                         $basketQuery .= ' or (' 
                             . $_SESSION['user']['baskets'][$ind_bask]['clause'] 
diff --git a/apps/maarch_entreprise/indexing_searching/documents_list_mlb_search_adv.php b/apps/maarch_entreprise/indexing_searching/documents_list_mlb_search_adv.php
index 45dc908c970..ffc67742d10 100755
--- a/apps/maarch_entreprise/indexing_searching/documents_list_mlb_search_adv.php
+++ b/apps/maarch_entreprise/indexing_searching/documents_list_mlb_search_adv.php
@@ -274,8 +274,7 @@ if ($mode == 'normal') {
 
     if (isset($_SESSION['where_from_contact_check']) && $_SESSION['where_from_contact_check'] != '' && (isset($_REQUEST['fromContactCheck']) || $_SESSION['fromContactCheck'] == 'ok')) {
         for ($ind_bask = 0; $ind_bask < count($_SESSION['user']['baskets']); ++$ind_bask) {
-            if ($_SESSION['user']['baskets'][$ind_bask]['coll_id'] == $_SESSION['collection_id_choice']
-            && $_SESSION['user']['baskets'][$ind_bask]['is_folder_basket'] == 'N') {
+            if ($_SESSION['user']['baskets'][$ind_bask]['coll_id'] == $_SESSION['collection_id_choice']) {
                 if (isset($_SESSION['user']['baskets'][$ind_bask]['clause']) && trim($_SESSION['user']['baskets'][$ind_bask]['clause']) != '') {
                     $_SESSION['searching']['comp_query'] .= ' or ('.$_SESSION['user']['baskets'][$ind_bask]['clause'].')';
                 }
diff --git a/apps/maarch_entreprise/indexing_searching/search_adv.php b/apps/maarch_entreprise/indexing_searching/search_adv.php
index 85374fe6ab1..90f80569531 100755
--- a/apps/maarch_entreprise/indexing_searching/search_adv.php
+++ b/apps/maarch_entreprise/indexing_searching/search_adv.php
@@ -537,7 +537,6 @@ if (isset($_REQUEST['nodetails'])) {
                                         for ($i = 0; $i < count($_SESSION['user']['baskets']); ++$i) {
                                             if (
                                                 $_SESSION['user']['baskets'][$i]['coll_id'] == $coll_id
-                                                && $_SESSION['user']['baskets'][$i]['is_folder_basket'] == 'N'
                                                 && $_SESSION['user']['baskets'][$i]['id'] != 'IndexingBasket'
                                                 && $_SESSION['user']['baskets'][$i]['id'] != 'EmailsToQualify'
                                                 && $_SESSION['user']['baskets'][$i]['id'] != 'InitBasket'
diff --git a/apps/maarch_entreprise/indexing_searching/search_adv_result.php b/apps/maarch_entreprise/indexing_searching/search_adv_result.php
index c54ccc84823..fdea505601f 100755
--- a/apps/maarch_entreprise/indexing_searching/search_adv_result.php
+++ b/apps/maarch_entreprise/indexing_searching/search_adv_result.php
@@ -870,8 +870,7 @@ if (count($_REQUEST['meta']) > 0) {
                     
                 case 'true':
                     for($ind_bask = 0; $ind_bask < count($_SESSION['user']['baskets']); $ind_bask++) {
-                       if ($_SESSION['user']['baskets'][$ind_bask]['coll_id'] == $coll_id 
-                        && $_SESSION['user']['baskets'][$ind_bask]['is_folder_basket'] == 'N') {
+                       if ($_SESSION['user']['baskets'][$ind_bask]['coll_id'] == $coll_id) {
                             if(isset($_SESSION['user']['baskets'][$ind_bask]['clause']) && trim($_SESSION['user']['baskets'][$ind_bask]['clause']) <> '') {
                                 $_SESSION['searching']['comp_query'] .= ' or ('.$_SESSION['user']['baskets'][$ind_bask]['clause'].')';
                             }
@@ -885,8 +884,7 @@ if (count($_REQUEST['meta']) > 0) {
                 default:
                     $json_txt .= " 'baskets_clause' : ['".addslashes(trim($_REQUEST['baskets_clause']))."'],";
                     for($ind_bask = 0; $ind_bask < count($_SESSION['user']['baskets']); $ind_bask++) {
-                        if($_SESSION['user']['baskets'][$ind_bask]['id'] == $_REQUEST['baskets_clause']
-                            && $_SESSION['user']['baskets'][$ind_bask]['is_folder_basket'] == 'N') {
+                        if ($_SESSION['user']['baskets'][$ind_bask]['id'] == $_REQUEST['baskets_clause']) {
                             if(isset($_SESSION['user']['baskets'][$ind_bask]['clause']) && trim($_SESSION['user']['baskets'][$ind_bask]['clause']) <> '') {
                                 $where_request .= ' ' . $_SESSION['user']['baskets'][$ind_bask]['clause'] . ' and ' ;
                             } 
diff --git a/apps/maarch_entreprise/js/angular/app/administration/basket-administration.component.ts b/apps/maarch_entreprise/js/angular/app/administration/basket-administration.component.ts
index b19c9d2abcc..007712156fa 100644
--- a/apps/maarch_entreprise/js/angular/app/administration/basket-administration.component.ts
+++ b/apps/maarch_entreprise/js/angular/app/administration/basket-administration.component.ts
@@ -82,7 +82,6 @@ export class BasketAdministrationComponent implements OnInit {
                         this.basket.description = data.basket.basket_desc;
                         this.basket.clause = data.basket.basket_clause;
                         this.basket.isSearchBasket = data.basket.is_visible != "Y";
-                        this.basket.isFolderBasket = data.basket.is_folder_basket == "Y";
                         this.basket.flagNotif = data.basket.flag_notif == "Y";
 
                         this.http.get(this.coreUrl + "rest/baskets/" + this.id + "/groups")
diff --git a/apps/maarch_entreprise/js/angular/lang/lang-en.ts b/apps/maarch_entreprise/js/angular/lang/lang-en.ts
index eb51588cb3c..b182711482b 100755
--- a/apps/maarch_entreprise/js/angular/lang/lang-en.ts
+++ b/apps/maarch_entreprise/js/angular/lang/lang-en.ts
@@ -173,7 +173,6 @@ export const LANG_EN = {
     "isDestTo"                          : "is in destination to",
     "isFolderAction"                    : "Folder action",
     "isFolderActionDesc"                : "Use this action in a folder folder",
-    "isFolderBasket"                    : "Folder basket",
     "isFolderStatus"                    : "Folder status",
     "isLinkedTo"                        : "Is linked to",
     "isSearchBasket"                    : "Only search basket",
diff --git a/apps/maarch_entreprise/js/angular/lang/lang-fr.ts b/apps/maarch_entreprise/js/angular/lang/lang-fr.ts
index bf050be3c64..2184b593607 100755
--- a/apps/maarch_entreprise/js/angular/lang/lang-fr.ts
+++ b/apps/maarch_entreprise/js/angular/lang/lang-fr.ts
@@ -234,7 +234,6 @@ export const LANG_FR = {
     "isDestTo"                          : "est en destination de",
     "isFolderAction"                    : "Action de dossier",
     "isFolderActionDesc"                : "Permet d'utiliser cette action dans une bannette de dossier",
-    "isFolderBasket"                    : "Bannette de dossier",
     "isFolderStatus"                    : "Statut de dossier",
     "isLinkedTo"                        : "Est associé à",
     "isSearchBasket"                    : "Bannette de recherche uniquement",
diff --git a/core/class/class_security.php b/core/class/class_security.php
index 3e428a233d8..9c37e88a554 100755
--- a/core/class/class_security.php
+++ b/core/class/class_security.php
@@ -674,7 +674,6 @@ class security extends Database
 
         for ($ind_bask = 0; $ind_bask < $userBaskets; ++$ind_bask) {
             if ($_SESSION['user']['baskets'][$ind_bask]['coll_id'] == $coll_id
-                && $_SESSION['user']['baskets'][$ind_bask]['is_folder_basket'] == 'N'
                 && isset($_SESSION['user']['baskets'][$ind_bask]['clause'])
                 && trim($_SESSION['user']['baskets'][$ind_bask]['clause']) != '') {
                 $basketWhereClause .= ' or ('.$_SESSION['user']['baskets'][$ind_bask]['clause'].')';
@@ -785,9 +784,7 @@ class security extends Database
                 ) {
                     if (
                         isset($_SESSION['user']['baskets'][$ind_bask]['clause'])
-                        && trim($_SESSION['user']['baskets'][$ind_bask]['clause']
-                        ) != ''
-                        && $_SESSION['user']['baskets'][$ind_bask]['is_folder_basket'] == 'N'
+                        && trim($_SESSION['user']['baskets'][$ind_bask]['clause']) != ''
                     ) {
                         $basketQuery .= ' or ('
                             .$_SESSION['user']['baskets'][$ind_bask]['clause']
diff --git a/modules/basket/class/class_modules_tools_Abstract.php b/modules/basket/class/class_modules_tools_Abstract.php
index c55514b1005..2688d4c250f 100755
--- a/modules/basket/class/class_modules_tools_Abstract.php
+++ b/modules/basket/class/class_modules_tools_Abstract.php
@@ -439,7 +439,6 @@ abstract class basket_Abstract extends Database
            // $_SESSION['current_basket']['redirect_users'] = $_SESSION['user']['baskets'][$ind]['redirect_users'];
             $_SESSION['current_basket']['basket_owner'] = $_SESSION['user']['baskets'][$ind]['basket_owner'];
             $_SESSION['current_basket']['abs_basket'] = $_SESSION['user']['baskets'][$ind]['abs_basket'];
-            $_SESSION['current_basket']['is_folder_basket'] = $_SESSION['user']['baskets'][$ind]['is_folder_basket'];
             $_SESSION['current_basket']['lock_list'] = $_SESSION['user']['baskets'][$ind]['lock_list'];
             $_SESSION['current_basket']['lock_sublist'] = $_SESSION['user']['baskets'][$ind]['lock_suvlist'];
             $_SESSION['current_basket']['group_id'] = $_SESSION['user']['baskets'][$ind]['group_id'];
@@ -780,26 +779,19 @@ abstract class basket_Abstract extends Database
         $secCtrl = new SecurityControler();
         $stmt = $db->query(
             "select basket_id, coll_id, basket_name, basket_desc, "
-            . "basket_clause, is_visible, is_folder_basket, color, basket_res_order from "
+            . "basket_clause, is_visible, color, basket_res_order from "
             . BASKET_TABLE . " where basket_id = ? and enabled = 'Y'",array($basketId));
         $res = $stmt->fetchObject();
         $tab['id'] = $res->basket_id;
         $tab['coll_id'] = $res->coll_id;
-        $core = new core_tools();
-        if ($core->is_module_loaded('folder') === true && $res->is_folder_basket == 'Y') {
-            $tab['table'] = 'folders';
-            $tab['view'] = 'view_folders';
-        } else {
-            $tab['table'] =  $sec->retrieve_table_from_coll($tab['coll_id']);
-            $tab['view'] = $sec->retrieve_view_from_coll_id($tab['coll_id']);
-        }
+        $tab['table'] =  $sec->retrieve_table_from_coll($tab['coll_id']);
+        $tab['view'] = $sec->retrieve_view_from_coll_id($tab['coll_id']);
         $tab['desc'] = $this->show_string($res->basket_desc);
         $tab['name'] = $this->show_string($res->basket_name);
         $tab['color'] = $this->show_string($res->color);
         $tab['basket_res_order'] = $this->show_string($res->basket_res_order);
         $tab['clause'] = $res->basket_clause;
         $tab['is_visible'] = $res->is_visible;
-        $tab['is_folder_basket'] = $res->is_folder_basket;
         $isVirtual = 'N';
         $basketOwner = '';
         $absBasket = false;
@@ -885,23 +877,18 @@ abstract class basket_Abstract extends Database
         $secCtrl = new SecurityControler();
         $stmt = $db->query(
             "select basket_id, coll_id, basket_name, basket_desc, basket_clause, is_visible"
-            . ", is_folder_basket from " . BASKET_TABLE . " where basket_id = ? and enabled = 'Y'",array($basketId));
+            . " from " . BASKET_TABLE . " where basket_id = ? and enabled = 'Y'",array($basketId));
 
         $res = $stmt->fetchObject();
         $tab['id'] = $res->basket_id;
         $tab['coll_id'] = $res->coll_id;
         $tab['table'] = $sec->retrieve_table_from_coll($tab['coll_id']);
-        if($res->is_folder_basket == 'Y'){
-            $tab['view'] = "view_folders";
-        }else{
-            $tab['view'] = $sec->retrieve_view_from_coll_id($tab['coll_id']);
-        }
+        $tab['view'] = $sec->retrieve_view_from_coll_id($tab['coll_id']);
 
         $tab['desc'] = $res->basket_desc;
         $tab['name'] = $res->basket_name;
         $tab['clause'] = $res->basket_clause;
         $tab['is_visible'] = $res->is_visible;
-        $tab['is_folder_basket'] = $res->is_folder_basket;
         $stmt = $db->query(
             "select user_abs, is_virtual, basket_owner from " . USER_ABS_TABLE
             . " where basket_id = ? and new_user = ? and system_id = ?", array($basketId,$userId,$systemId));
diff --git a/modules/basket/display_basket_list.php b/modules/basket/display_basket_list.php
index cb9f6862286..8ec23867bb6 100755
--- a/modules/basket/display_basket_list.php
+++ b/modules/basket/display_basket_list.php
@@ -149,29 +149,16 @@ if ($core_tools->test_service('display_basket_list','basket', false)) {
                                     $abs_basket = true;
                                 }
                                 
-                                if ($core_tools->is_module_loaded('folder') && $_SESSION['user']['baskets'][$i]['is_folder_basket'] == 'Y') {
-                                    echo '<li style="padding-top: 5px;padding-bottom: 5px;"><a title="'.$_SESSION['user']['baskets'][$i]['desc'].'" href="'
-                                        . $_SESSION['config']['businessappurl']
-                                        . 'index.php?page=view_baskets&amp;module=basket&amp;baskets='
-                                        . $_SESSION['user']['baskets'][$i]['id'] . '&amp;groupId=' . $_SESSION['user']['baskets'][$i]['group_id']
-                                        . '"><b><span id="nb_' . $_SESSION['user']['baskets'][$i]['id']
-                                        . '" name="nb_' . $_SESSION['user']['baskets'][$i]['id']
-                                        . '"><i class="fa-li fa fa-spinner fa-spin" style="margin-left: -10px;position: inherit;margin-right: -7px;"></i>'
-                                        . '</span></b> <i class="fa-li fa fa-folder" style="padding-top: 5px;padding-bottom: 5px;"></i>'
-                                        . '<span style="color: ' .$color . ';font-weight: '.$fontweight.'">' . functions::xssafe($_SESSION['user']['baskets'][$i]['name']) . '</span>'
-                                        . ' </a></li>';
-                                } else {
-                                    echo '<li style="padding-top: 5px;padding-bottom: 5px;"><a title="'.$_SESSION['user']['baskets'][$i]['desc'].'" href="'
-                                        . $_SESSION['config']['businessappurl']
-                                        . 'index.php?page=view_baskets&amp;module=basket&amp;baskets='
-                                        . $_SESSION['user']['baskets'][$i]['id'] . '&amp;groupId=' . $_SESSION['user']['baskets'][$i]['group_id']
-                                        . '"><b><span id="nb_' . $_SESSION['user']['baskets'][$i]['id']
-                                        . '" name="nb_' . $_SESSION['user']['baskets'][$i]['id']
-                                        . '"><i class="fa-li fa fa-spinner fa-spin" style=";margin-left: -10px;position: inherit;margin-right: -7px;"></i>'
-                                        . '</span></b> <i class="fa-li fa fa-tasks" style="padding-top: 5px;padding-bottom: 5px;"></i> '
-                                        . '<span style="color: ' .$color . ';font-weight: '.$fontweight.'">' . functions::xssafe($_SESSION['user']['baskets'][$i]['name']) . '</span>'
-                                        . ' </a></li>';
-                                }
+                                echo '<li style="padding-top: 5px;padding-bottom: 5px;"><a title="'.$_SESSION['user']['baskets'][$i]['desc'].'" href="'
+                                    . $_SESSION['config']['businessappurl']
+                                    . 'index.php?page=view_baskets&amp;module=basket&amp;baskets='
+                                    . $_SESSION['user']['baskets'][$i]['id'] . '&amp;groupId=' . $_SESSION['user']['baskets'][$i]['group_id']
+                                    . '"><b><span id="nb_' . $_SESSION['user']['baskets'][$i]['id']
+                                    . '" name="nb_' . $_SESSION['user']['baskets'][$i]['id']
+                                    . '"><i class="fa-li fa fa-spinner fa-spin" style=";margin-left: -10px;position: inherit;margin-right: -7px;"></i>'
+                                    . '</span></b> <i class="fa-li fa fa-tasks" style="padding-top: 5px;padding-bottom: 5px;"></i> '
+                                    . '<span style="color: ' .$color . ';font-weight: '.$fontweight.'">' . functions::xssafe($_SESSION['user']['baskets'][$i]['name']) . '</span>'
+                                    . ' </a></li>';
                             } else if(!$_SESSION['user']['baskets'][$i]['abs_basket']){
                                 echo '<li style="padding-top: 5px;padding-bottom: 5px;"><a title="'.$_SESSION['user']['baskets'][$i]['desc'].'"><b><span id="nb_' . $_SESSION['user']['baskets'][$i]['id']
                                     . '" name="nb_' . $_SESSION['user']['baskets'][$i]['id']
diff --git a/modules/cases/cases_documents_list.php b/modules/cases/cases_documents_list.php
index 6dbbfa9c05b..25d97f7c5e4 100755
--- a/modules/cases/cases_documents_list.php
+++ b/modules/cases/cases_documents_list.php
@@ -85,32 +85,27 @@ $j=0;
 $basketClause = false;
 if (count($_SESSION['user']['baskets']) > 0) {
     while($j<=count($_SESSION['user']['baskets'])) {
-    	if ($_SESSION['user']['baskets'][$j]['is_folder_basket'] == 'N') {
-	    	//controle for basket that has empty whereclause ' '
-	    	$basketClauseReplace = str_replace(array(" ", '"', "'"), array("", "", ""), $_SESSION['user']['baskets'][$j]['clause']);
+        //controle for basket that has empty whereclause ' '
+        $basketClauseReplace = str_replace(array(" ", '"', "'"), array("", "", ""), $_SESSION['user']['baskets'][$j]['clause']);
 
-	        if($basketClauseReplace <> "") {
-	            $where_request .= "(" . $_SESSION['user']['baskets'][$j]['clause'] . ")";
-	            $basketClause = true;
-	            
-	    		$basketClauseReplace1 = str_replace(array(" ", '"', "'"), array("", "", ""), $_SESSION['user']['baskets'][$j+1]['clause']);
+        if($basketClauseReplace <> "") {
+            $where_request .= "(" . $_SESSION['user']['baskets'][$j]['clause'] . ")";
+            $basketClause = true;
 
-				$jplus = $j + 1;
-				$normalBasketsRemaining = false;
-				while ($_SESSION['user']['baskets'][$jplus]) {
-					if ($_SESSION['user']['baskets'][$jplus]['is_folder_basket'] == 'N') {
-						$normalBasketsRemaining = true;
-						break;
-					}
-					$jplus++;
-				}
-	            if ($j + 1 < count($_SESSION['user']['baskets']) && $basketClauseReplace1 != "" && $normalBasketsRemaining) {
-	                $where_request .= " or ";
-	            }
-	        } else if ($j > 0) {
-	        	$where_request .= " or ";
-	        }
-	    }
+            $basketClauseReplace1 = str_replace(array(" ", '"', "'"), array("", "", ""), $_SESSION['user']['baskets'][$j+1]['clause']);
+
+            $jplus = $j + 1;
+            $normalBasketsRemaining = false;
+            while ($_SESSION['user']['baskets'][$jplus]) {
+                $normalBasketsRemaining = true;
+                break;
+            }
+            if ($j + 1 < count($_SESSION['user']['baskets']) && $basketClauseReplace1 != "" && $normalBasketsRemaining) {
+                $where_request .= " or ";
+            }
+        } else if ($j > 0) {
+            $where_request .= " or ";
+        }
         $j++;
     }
 }
diff --git a/modules/folder/lang/en.php b/modules/folder/lang/en.php
index 6b2659e6b94..5158872f037 100755
--- a/modules/folder/lang/en.php
+++ b/modules/folder/lang/en.php
@@ -321,9 +321,7 @@ 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_BASKET"))                  
-    define("_IS_FOLDER_BASKET", "Folder's basket");
-if (!defined("_IS_FOLDER_STATUS"))                  
+if (!defined("_IS_FOLDER_STATUS"))
     define("_IS_FOLDER_STATUS", "Folder's status");
 if (!defined("_IS_FOLDER_ACTION"))                  
     define("_IS_FOLDER_ACTION", "Folder's action");
diff --git a/modules/folder/lang/fr.php b/modules/folder/lang/fr.php
index ff0a977e029..52a45e53353 100755
--- a/modules/folder/lang/fr.php
+++ b/modules/folder/lang/fr.php
@@ -324,9 +324,7 @@ 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_BASKET"))                  
-    define("_IS_FOLDER_BASKET", "Bannette de dossier");
-if (!defined("_IS_FOLDER_STATUS"))                  
+if (!defined("_IS_FOLDER_STATUS"))
     define("_IS_FOLDER_STATUS", "Statut de dossier");
 if (!defined("_IS_FOLDER_ACTION"))                  
     define("_IS_FOLDER_ACTION", "Action de dossier");
diff --git a/sql/data_fr.sql b/sql/data_fr.sql
index 156065c5af6..fc072c53de1 100755
--- a/sql/data_fr.sql
+++ b/sql/data_fr.sql
@@ -819,91 +819,91 @@ TRUNCATE TABLE baskets;
 DELETE FROM baskets WHERE basket_id = 'QualificationBasket';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'QualificationBasket';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'QualificationBasket';
-INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, is_folder_basket, enabled, basket_order) VALUES ('QualificationBasket', 'Courriers à qualifier', 'Bannette de qualification', 'status=''INIT''', 'letterbox_coll', 'Y', 'N', 'Y',10);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, enabled, basket_order) VALUES ('QualificationBasket', 'Courriers à qualifier', 'Bannette de qualification', 'status=''INIT''', 'letterbox_coll', 'Y', 'Y',10);
 DELETE FROM baskets WHERE basket_id = 'IndexingBasket';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'IndexingBasket';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'IndexingBasket';
-INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, is_folder_basket, enabled, basket_order) VALUES ('IndexingBasket', 'Courriers à indexer', 'Bannette d''indexation', ' ', 'letterbox_coll', 'Y', 'N', 'Y',20);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, enabled, basket_order) VALUES ('IndexingBasket', 'Courriers à indexer', 'Bannette d''indexation', ' ', 'letterbox_coll', 'Y', 'Y',20);
 DELETE FROM baskets WHERE basket_id = 'CopyMailBasket';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'CopyMailBasket';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'CopyMailBasket';
-INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, is_folder_basket, enabled, basket_order) VALUES ('CopyMailBasket', 'Courriers en copie', 'Courriers en copie non clos ou sans suite', '(res_id in (select res_id from listinstance WHERE coll_id = ''letterbox_coll'' and item_type = ''user_id'' and item_id = @user and item_mode = ''cc'') or res_id in (select res_id from listinstance WHERE coll_id = ''letterbox_coll'' and item_type = ''entity_id'' and item_mode = ''cc'' and item_id in (@my_entities))) and status not in ( ''DEL'', ''END'', ''SSUITE'') and res_id not in (select res_id from res_mark_as_read WHERE user_id = @user)', 'letterbox_coll', 'Y', 'N', 'Y',30);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, enabled, basket_order) VALUES ('CopyMailBasket', 'Courriers en copie', 'Courriers en copie non clos ou sans suite', '(res_id in (select res_id from listinstance WHERE coll_id = ''letterbox_coll'' and item_type = ''user_id'' and item_id = @user and item_mode = ''cc'') or res_id in (select res_id from listinstance WHERE coll_id = ''letterbox_coll'' and item_type = ''entity_id'' and item_mode = ''cc'' and item_id in (@my_entities))) and status not in ( ''DEL'', ''END'', ''SSUITE'') and res_id not in (select res_id from res_mark_as_read WHERE user_id = @user)', 'letterbox_coll', 'Y', 'Y',30);
 DELETE FROM baskets WHERE basket_id = 'RetourCourrier';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'RetourCourrier';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'RetourCourrier';
-INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, is_folder_basket, enabled, basket_order) VALUES ('RetourCourrier', 'Retours Courrier', 'Courriers retournés au service Courrier', 'STATUS=''RET''', 'letterbox_coll', 'Y', 'N', 'Y',40);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, enabled, basket_order) VALUES ('RetourCourrier', 'Retours Courrier', 'Courriers retournés au service Courrier', 'STATUS=''RET''', 'letterbox_coll', 'Y', 'Y',40);
 DELETE FROM baskets WHERE basket_id = 'DdeAvisBasket';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'DdeAvisBasket';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'DdeAvisBasket';
-INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, is_folder_basket, enabled, basket_order) VALUES ('DdeAvisBasket', 'Avis : Avis à émettre', 'Courriers nécessitant un avis', 'status = ''EAVIS'' AND res_id IN (SELECT res_id FROM listinstance WHERE coll_id = ''letterbox_coll'' AND item_type = ''user_id'' AND item_id = @user AND item_mode = ''avis'' and process_date is NULL)', 'letterbox_coll', 'Y', 'N', 'Y',50);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, enabled, basket_order) VALUES ('DdeAvisBasket', 'Avis : Avis à émettre', 'Courriers nécessitant un avis', 'status = ''EAVIS'' AND res_id IN (SELECT res_id FROM listinstance WHERE coll_id = ''letterbox_coll'' AND item_type = ''user_id'' AND item_id = @user AND item_mode = ''avis'' and process_date is NULL)', 'letterbox_coll', 'Y', 'Y',50);
 DELETE FROM baskets WHERE basket_id = 'SupAvisBasket';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'SupAvisBasket';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'SupAvisBasket';
-INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, is_folder_basket, enabled, basket_order) VALUES ('SupAvisBasket', 'Avis : En attente de réponse', 'Courriers en attente d''avis', 'status=''EAVIS'' and ((DEST_USER = @user) OR (DEST_USER IN (select user_id from users_entities WHERE entity_id IN( @my_entities)) or DESTINATION in (@subentities[@my_entities]))) and res_id NOT IN (SELECT res_id FROM listinstance WHERE item_mode = ''avis'' and difflist_type = ''entity_id'' and process_date is not NULL and res_view_letterbox.res_id = res_id group by res_id) AND res_id IN (SELECT res_id FROM listinstance WHERE item_mode = ''avis'' and difflist_type = ''entity_id'' and process_date is NULL and res_view_letterbox.res_id = res_id group by res_id)', 'letterbox_coll', 'Y', 'N', 'Y',60);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, enabled, basket_order) VALUES ('SupAvisBasket', 'Avis : En attente de réponse', 'Courriers en attente d''avis', 'status=''EAVIS'' and ((DEST_USER = @user) OR (DEST_USER IN (select user_id from users_entities WHERE entity_id IN( @my_entities)) or DESTINATION in (@subentities[@my_entities]))) and res_id NOT IN (SELECT res_id FROM listinstance WHERE item_mode = ''avis'' and difflist_type = ''entity_id'' and process_date is not NULL and res_view_letterbox.res_id = res_id group by res_id) AND res_id IN (SELECT res_id FROM listinstance WHERE item_mode = ''avis'' and difflist_type = ''entity_id'' and process_date is NULL and res_view_letterbox.res_id = res_id group by res_id)', 'letterbox_coll', 'Y', 'Y',60);
 DELETE FROM baskets WHERE basket_id = 'RetAvisBasket';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'RetAvisBasket';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'RetAvisBasket';
-INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, is_folder_basket, enabled, basket_order) VALUES ('RetAvisBasket', 'Avis : Retours partiels', 'Courriers avec avis reçus', 'status=''EAVIS'' and ((DEST_USER = @user) OR (DEST_USER IN (select user_id from users_entities WHERE entity_id IN( @my_entities)) or DESTINATION in (@subentities[@my_entities]))) and res_id IN (SELECT res_id FROM listinstance WHERE item_mode = ''avis'' and difflist_type = ''entity_id'' and process_date is not NULL and res_view_letterbox.res_id = res_id group by res_id)', 'letterbox_coll', 'Y', 'N', 'Y',70);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, enabled, basket_order) VALUES ('RetAvisBasket', 'Avis : Retours partiels', 'Courriers avec avis reçus', 'status=''EAVIS'' and ((DEST_USER = @user) OR (DEST_USER IN (select user_id from users_entities WHERE entity_id IN( @my_entities)) or DESTINATION in (@subentities[@my_entities]))) and res_id IN (SELECT res_id FROM listinstance WHERE item_mode = ''avis'' and difflist_type = ''entity_id'' and process_date is not NULL and res_view_letterbox.res_id = res_id group by res_id)', 'letterbox_coll', 'Y', 'Y',70);
 DELETE FROM baskets WHERE basket_id = 'ValidationBasket';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'ValidationBasket';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'ValidationBasket';
-INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, is_folder_basket, enabled, basket_order) VALUES ('ValidationBasket', 'Attributions à vérifier', 'Courriers signalés en attente d''instruction pour les services', 'status=''VAL''', 'letterbox_coll', 'Y', 'N', 'Y',80);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, enabled, basket_order) VALUES ('ValidationBasket', 'Attributions à vérifier', 'Courriers signalés en attente d''instruction pour les services', 'status=''VAL''', 'letterbox_coll', 'Y', 'Y',80);
 DELETE FROM baskets WHERE basket_id = 'InValidationBasket';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'InValidationBasket';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'InValidationBasket';
-INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, is_folder_basket, enabled, basket_order) VALUES ('InValidationBasket', 'Courriers signalés en attente d''instruction', 'Courriers signalés en attente d''instruction par le responsable', 'destination in (@my_entities, @subentities[@my_entities]) and status=''VAL''', 'letterbox_coll', 'Y', 'N', 'Y',90);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, enabled, basket_order) VALUES ('InValidationBasket', 'Courriers signalés en attente d''instruction', 'Courriers signalés en attente d''instruction par le responsable', 'destination in (@my_entities, @subentities[@my_entities]) and status=''VAL''', 'letterbox_coll', 'Y', 'Y',90);
 DELETE FROM baskets WHERE basket_id = 'MyBasket';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'MyBasket';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'MyBasket';
-INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, is_folder_basket, enabled, basket_order) VALUES ('MyBasket', 'Courriers à traiter', 'Bannette de traitement', 'status in (''NEW'', ''COU'') and dest_user = @user', 'letterbox_coll', 'Y', 'N', 'Y',100);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, enabled, basket_order) VALUES ('MyBasket', 'Courriers à traiter', 'Bannette de traitement', 'status in (''NEW'', ''COU'') and dest_user = @user', 'letterbox_coll', 'Y', 'Y',100);
 DELETE FROM baskets WHERE basket_id = 'LateMailBasket';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'LateMailBasket';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'LateMailBasket';
-INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, is_folder_basket, enabled, basket_order) VALUES ('LateMailBasket', 'Courriers en retard', 'Courriers en retard', 'destination in (@my_entities, @subentities[@my_primary_entity]) and (status <> ''DEL'' AND status <> ''REP'') and (now() > process_limit_date)', 'letterbox_coll', 'Y', 'N', 'Y',110);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, enabled, basket_order) VALUES ('LateMailBasket', 'Courriers en retard', 'Courriers en retard', 'destination in (@my_entities, @subentities[@my_primary_entity]) and (status <> ''DEL'' AND status <> ''REP'') and (now() > process_limit_date)', 'letterbox_coll', 'Y', 'Y',110);
 DELETE FROM baskets WHERE basket_id = 'DepartmentBasket';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'DepartmentBasket';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'DepartmentBasket';
-INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, is_folder_basket, enabled, basket_order) VALUES ('DepartmentBasket', 'Courriers de ma direction', 'Bannette de supervision', 'destination in (@my_entities, @subentities[@my_primary_entity]) and (status <> ''DEL'' AND status <> ''REP'' and status <> ''VAL'')', 'letterbox_coll', 'Y', 'N', 'Y',120);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, enabled, basket_order) VALUES ('DepartmentBasket', 'Courriers de ma direction', 'Bannette de supervision', 'destination in (@my_entities, @subentities[@my_primary_entity]) and (status <> ''DEL'' AND status <> ''REP'' and status <> ''VAL'')', 'letterbox_coll', 'Y', 'Y',120);
 DELETE FROM baskets WHERE basket_id = 'ParafBasket';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'ParafBasket';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'ParafBasket';
-INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, is_folder_basket, enabled, basket_order) VALUES ('ParafBasket', 'Parapheur électronique', 'Courriers à viser ou signer dans mon parapheur', 'status in (''ESIG'', ''EVIS'') AND ((res_id, @user) IN (SELECT res_id, item_id FROM listinstance WHERE difflist_type = ''VISA_CIRCUIT'' and process_date ISNULL and res_view_letterbox.res_id = res_id order by listinstance_id asc limit 1))', 'letterbox_coll', 'Y', 'N', 'Y',130);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, enabled, basket_order) VALUES ('ParafBasket', 'Parapheur électronique', 'Courriers à viser ou signer dans mon parapheur', 'status in (''ESIG'', ''EVIS'') AND ((res_id, @user) IN (SELECT res_id, item_id FROM listinstance WHERE difflist_type = ''VISA_CIRCUIT'' and process_date ISNULL and res_view_letterbox.res_id = res_id order by listinstance_id asc limit 1))', 'letterbox_coll', 'Y', 'Y',130);
 DELETE FROM baskets WHERE basket_id = 'SuiviParafBasket';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'SuiviParafBasket';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'SuiviParafBasket';
-INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, is_folder_basket, enabled, basket_order) VALUES ('SuiviParafBasket', 'Courriers en circuit de visa/signature', 'Courriers en circulation dans les parapheurs électroniques', 'status in (''ESIG'', ''EVIS'') AND dest_user = @user', 'letterbox_coll', 'Y', 'N', 'Y',140);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, enabled, basket_order) VALUES ('SuiviParafBasket', 'Courriers en circuit de visa/signature', 'Courriers en circulation dans les parapheurs électroniques', 'status in (''ESIG'', ''EVIS'') AND dest_user = @user', 'letterbox_coll', 'Y', 'Y',140);
 DELETE FROM baskets WHERE basket_id = 'EsigARBasket';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'EsigARBasket';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'EsigARBasket';
-INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, is_folder_basket, enabled, basket_order) VALUES ('EsigARBasket', 'AR à e-signer', 'AR à e-signer', 'status=''ESIGAR'' and (res_id,@user) IN (SELECT res_id, item_id FROM listinstance WHERE item_mode = ''sign'' and process_date ISNULL and res_view_letterbox.res_id = res_id order by listinstance_id asc limit 1)', 'letterbox_coll', 'Y', 'N', 'Y',150);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, enabled, basket_order) VALUES ('EsigARBasket', 'AR à e-signer', 'AR à e-signer', 'status=''ESIGAR'' and (res_id,@user) IN (SELECT res_id, item_id FROM listinstance WHERE item_mode = ''sign'' and process_date ISNULL and res_view_letterbox.res_id = res_id order by listinstance_id asc limit 1)', 'letterbox_coll', 'Y', 'Y',150);
 DELETE FROM baskets WHERE basket_id = 'EenvBasket';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'EenvBasket';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'EenvBasket';
-INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, is_folder_basket, enabled, basket_order) VALUES ('EenvBasket', 'Courriers à envoyer', 'Courriers visés/signés prêts à être envoyés', 'status=''EENV'' and dest_user = @user', 'letterbox_coll', 'Y', 'N', 'Y',160);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, enabled, basket_order) VALUES ('EenvBasket', 'Courriers à envoyer', 'Courriers visés/signés prêts à être envoyés', 'status=''EENV'' and dest_user = @user', 'letterbox_coll', 'Y', 'Y',160);
 DELETE FROM baskets WHERE basket_id = 'EenvARBasket';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'EenvARBasket';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'EenvARBasket';
-INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, is_folder_basket, enabled, basket_order) VALUES ('EenvARBasket', 'AR à e-envoyer', 'AR à e-envoyer', 'status=''EENVAR'' and dest_user = @user', 'letterbox_coll', 'Y', 'N', 'Y',170);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, enabled, basket_order) VALUES ('EenvARBasket', 'AR à e-envoyer', 'AR à e-envoyer', 'status=''EENVAR'' and dest_user = @user', 'letterbox_coll', 'Y', 'Y',170);
 DELETE FROM baskets WHERE basket_id = 'ToArcBasket';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'ToArcBasket';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'ToArcBasket';
-INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, is_folder_basket, enabled, basket_order) VALUES ('ToArcBasket', 'Courriers à archiver', 'Courriers arrivés en fin de DUC à envoyer en archive intermédiaire', 'status = ''EXP_SEDA'' OR status = ''END'' OR status = ''SEND_SEDA''', 'letterbox_coll', 'Y', 'N', 'Y',180);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, enabled, basket_order) VALUES ('ToArcBasket', 'Courriers à archiver', 'Courriers arrivés en fin de DUC à envoyer en archive intermédiaire', 'status = ''EXP_SEDA'' OR status = ''END'' OR status = ''SEND_SEDA''', 'letterbox_coll', 'Y', 'Y',180);
 DELETE FROM baskets WHERE basket_id = 'SentArcBasket';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'SentArcBasket';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'SentArcBasket';
-INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, is_folder_basket, enabled, basket_order) VALUES ('SentArcBasket', 'Courriers en cours d''archivage', 'Courriers envoyés au SAE, en attente de réponse de transfert', 'status=''ACK_SEDA''', 'letterbox_coll', 'Y', 'N', 'Y',190);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, enabled, basket_order) VALUES ('SentArcBasket', 'Courriers en cours d''archivage', 'Courriers envoyés au SAE, en attente de réponse de transfert', 'status=''ACK_SEDA''', 'letterbox_coll', 'Y', 'Y',190);
 DELETE FROM baskets WHERE basket_id = 'AckArcBasket';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'AckArcBasket';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'AckArcBasket';
-INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, is_folder_basket, enabled, basket_order) VALUES ('AckArcBasket', 'Courriers archivés', 'Courriers archivés et acceptés dans le SAE', 'status=''REPLY_SEDA''', 'letterbox_coll', 'Y', 'N', 'Y',200);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, enabled, basket_order) VALUES ('AckArcBasket', 'Courriers archivés', 'Courriers archivés et acceptés dans le SAE', 'status=''REPLY_SEDA''', 'letterbox_coll', 'Y', 'Y',200);
 DELETE FROM baskets WHERE basket_id = 'ReconcilBasket';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'ReconcilBasket';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'ReconcilBasket';
-INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, is_folder_basket, enabled, basket_order) VALUES ('ReconcilBasket', 'Réponses à réconcilier', 'Réponses à réconcilier', 'status=''PJQUAL''', 'letterbox_coll', 'Y', 'N', 'Y',210);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, enabled, basket_order) VALUES ('ReconcilBasket', 'Réponses à réconcilier', 'Réponses à réconcilier', 'status=''PJQUAL''', 'letterbox_coll', 'Y', 'Y',210);
 DELETE FROM baskets WHERE basket_id = 'NumericBasket';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'NumericBasket';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'NumericBasket';
-INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, is_folder_basket, enabled, basket_order) VALUES ('NumericBasket', 'Plis numériques à qualifier', 'Plis numériques à qualifier', 'status = ''NUMQUAL''', 'letterbox_coll', 'Y', 'N', 'Y',220);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, enabled, basket_order) VALUES ('NumericBasket', 'Plis numériques à qualifier', 'Plis numériques à qualifier', 'status = ''NUMQUAL''', 'letterbox_coll', 'Y', 'Y',220);
 
 -- Create GROUPBASKET
 TRUNCATE TABLE groupbasket;
diff --git a/sql/develop.sql b/sql/develop.sql
index fffde59f4fa..8daedf81c4f 100644
--- a/sql/develop.sql
+++ b/sql/develop.sql
@@ -78,6 +78,7 @@ DROP TABLE IF EXISTS res_version_x;
 DROP TABLE IF EXISTS adr_x;
 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 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 d63b019fd21..3ce12ecd9d0 100755
--- a/sql/structure.sql
+++ b/sql/structure.sql
@@ -360,7 +360,6 @@ CREATE TABLE baskets
   basket_desc character varying(255) NOT NULL,
   basket_clause text NOT NULL,
   is_visible character(1) NOT NULL DEFAULT 'Y'::bpchar,
-  is_folder_basket character (1) NOT NULL default 'N'::bpchar,
   enabled character(1) NOT NULL DEFAULT 'Y'::bpchar,
   basket_order integer,
   color character varying(16),
diff --git a/src/app/basket/controllers/BasketController.php b/src/app/basket/controllers/BasketController.php
index d105a4eebcd..9ba9d229ab0 100644
--- a/src/app/basket/controllers/BasketController.php
+++ b/src/app/basket/controllers/BasketController.php
@@ -78,7 +78,6 @@ class BasketController
         }
 
         $data['isVisible'] = empty($data['isSearchBasket']) ? 'Y' : 'N';
-        $data['isFolderBasket'] = empty($data['isFolderBasket']) ? 'N' : 'Y';
         $data['flagNotif'] = empty($data['flagNotif']) ? 'N' : 'Y';
         BasketModel::create($data);
         HistoryController::add([
@@ -119,7 +118,6 @@ class BasketController
         }
 
         $data['isVisible'] = empty($data['isSearchBasket']) ? 'Y' : 'N';
-        $data['isFolderBasket'] = empty($data['isFolderBasket']) ? 'N' : 'Y';
         $data['flagNotif'] = empty($data['flagNotif']) ? 'N' : 'Y';
         $data['id'] = $aArgs['id'];
         BasketModel::update($data);
diff --git a/src/app/basket/models/BasketModelAbstract.php b/src/app/basket/models/BasketModelAbstract.php
index 567cec8855c..733e8de57c5 100644
--- a/src/app/basket/models/BasketModelAbstract.php
+++ b/src/app/basket/models/BasketModelAbstract.php
@@ -61,8 +61,8 @@ abstract class BasketModelAbstract
 
     public static function create(array $aArgs)
     {
-        ValidatorModel::notEmpty($aArgs, ['id', 'basket_name', 'basket_desc', 'clause', 'isVisible', 'isFolderBasket', 'flagNotif']);
-        ValidatorModel::stringType($aArgs, ['id', 'basket_name', 'color', 'basket_desc', 'clause', 'isVisible', 'isFolderBasket', 'flagNotif']);
+        ValidatorModel::notEmpty($aArgs, ['id', 'basket_name', 'basket_desc', 'clause', 'isVisible', 'flagNotif']);
+        ValidatorModel::stringType($aArgs, ['id', 'basket_name', 'color', 'basket_desc', 'clause', 'isVisible', 'flagNotif']);
 
         DatabaseModel::insert([
             'table'         => 'baskets',
@@ -72,7 +72,6 @@ abstract class BasketModelAbstract
                 'basket_desc'       => $aArgs['basket_desc'],
                 'basket_clause'     => $aArgs['clause'],
                 'is_visible'        => $aArgs['isVisible'],
-                'is_folder_basket'  => $aArgs['isFolderBasket'],
                 'flag_notif'        => $aArgs['flagNotif'],
                 'color'             => $aArgs['color'],
                 'coll_id'           => 'letterbox_coll',
@@ -84,8 +83,8 @@ abstract class BasketModelAbstract
 
     public static function update(array $aArgs)
     {
-        ValidatorModel::notEmpty($aArgs, ['id', 'basket_name', 'basket_desc', 'clause', 'isVisible', 'isFolderBasket', 'flagNotif']);
-        ValidatorModel::stringType($aArgs, ['id', 'basket_name', 'color', 'basket_desc', 'clause', 'isVisible', 'isFolderBasket', 'flagNotif']);
+        ValidatorModel::notEmpty($aArgs, ['id', 'basket_name', 'basket_desc', 'clause', 'isVisible', 'flagNotif']);
+        ValidatorModel::stringType($aArgs, ['id', 'basket_name', 'color', 'basket_desc', 'clause', 'isVisible', 'flagNotif']);
 
         DatabaseModel::update([
             'table'     => 'baskets',
@@ -94,7 +93,6 @@ abstract class BasketModelAbstract
                 'basket_desc'       => $aArgs['basket_desc'],
                 'basket_clause'     => $aArgs['clause'],
                 'is_visible'        => $aArgs['isVisible'],
-                'is_folder_basket'  => $aArgs['isFolderBasket'],
                 'flag_notif'        => $aArgs['flagNotif'],
                 'color'             => $aArgs['color'],
                 'coll_id'           => 'letterbox_coll',
diff --git a/src/app/resource/controllers/ResController.php b/src/app/resource/controllers/ResController.php
index 25aa66e0da9..98cc9a01f13 100755
--- a/src/app/resource/controllers/ResController.php
+++ b/src/app/resource/controllers/ResController.php
@@ -20,7 +20,6 @@ use Docserver\models\DocserverModel;
 use Group\controllers\GroupController;
 use Note\models\NoteModel;
 use Group\models\ServiceModel;
-use SrcCore\models\CoreConfigModel;
 use Status\models\StatusModel;
 use SrcCore\models\ValidatorModel;
 use History\controllers\HistoryController;
diff --git a/test/BasketControllerTest.php b/test/BasketControllerTest.php
index 5d99128fd97..9ca761bad70 100644
--- a/test/BasketControllerTest.php
+++ b/test/BasketControllerTest.php
@@ -28,7 +28,6 @@ class BasketControllerTest extends TestCase
             'basket_desc'       => 'TEST BASKET123 DESCRIPTION',
             'clause'            => '1=2',
             'isSearchBasket'    => true,
-            'isFolderBasket'    => true,
             'color'             => '#123456'
         ];
         $fullRequest = \httpRequestCustom::addContentInBody($aArgs, $request);
@@ -49,7 +48,6 @@ class BasketControllerTest extends TestCase
         $this->assertSame('TEST BASKET123 DESCRIPTION', $responseBody->basket->basket_desc);
         $this->assertSame('1=2', $responseBody->basket->basket_clause);
         $this->assertSame('N', $responseBody->basket->is_visible);
-        $this->assertSame('Y', $responseBody->basket->is_folder_basket);
         $this->assertSame('N', $responseBody->basket->flag_notif);
         $this->assertSame('#123456', $responseBody->basket->color);
     }
@@ -66,7 +64,6 @@ class BasketControllerTest extends TestCase
             'basket_desc'       => 'TEST BASKET123 DESCRIPTION UPDATED',
             'clause'            => '1=3',
             'isSearchBasket'    => false,
-            'isFolderBasket'    => false,
             'flagNotif'         => true,
             'color'             => '#111222'
         ];
@@ -88,7 +85,6 @@ class BasketControllerTest extends TestCase
         $this->assertSame('TEST BASKET123 DESCRIPTION UPDATED', $responseBody->basket->basket_desc);
         $this->assertSame('1=3', $responseBody->basket->basket_clause);
         $this->assertSame('Y', $responseBody->basket->is_visible);
-        $this->assertSame('N', $responseBody->basket->is_folder_basket);
         $this->assertSame('Y', $responseBody->basket->flag_notif);
         $this->assertSame('#111222', $responseBody->basket->color);
     }
-- 
GitLab