diff --git a/migration/20.10/2010.sql b/migration/20.10/2010.sql
index 3463c071c01493a186cc9a5c46602969a431808c..326530cbcf33bf558e57abb1850dba5302159a71 100755
--- a/migration/20.10/2010.sql
+++ b/migration/20.10/2010.sql
@@ -7,10 +7,13 @@
 -- *************************************************************************--
 UPDATE parameters SET param_value_string = '20.10' WHERE id = 'database_version';
 
-/*REPORTS*/
+DROP VIEW IF EXISTS res_view_letterbox;
+
+/* REPORTS */
 DROP TABLE IF EXISTS usergroups_reports;
 DELETE FROM usergroups_services WHERE service_id IN ('reports', 'admin_reports');
 
+/* USERS */
 ALTER TABLE users DROP COLUMN IF EXISTS refresh_token;
 ALTER TABLE users ADD COLUMN refresh_token jsonb NOT NULL DEFAULT '[]';
 
@@ -34,3 +37,70 @@ DO $$ BEGIN
         ALTER TABLE users_entities RENAME COLUMN user_id_tmp TO user_id;
     END IF;
 END$$;
+DO $$ BEGIN
+    IF (SELECT count(column_name) from information_schema.columns where table_name = 'res_letterbox' and column_name = 'dest_user' and data_type != 'integer') THEN
+        ALTER TABLE res_letterbox ADD COLUMN dest_user_tmp INTEGER;
+        UPDATE res_letterbox set dest_user_tmp = (select id FROM users where users.user_id = res_letterbox.dest_user);
+        ALTER TABLE res_letterbox DROP COLUMN IF EXISTS dest_user;
+        ALTER TABLE res_letterbox RENAME COLUMN dest_user_tmp TO dest_user;
+    END IF;
+END$$;
+UPDATE baskets SET basket_clause = REGEXP_REPLACE(basket_clause, 'dest_user(\s*)=(\s*)@user', 'dest_user = @user_id', 'gmi');
+UPDATE security SET where_clause = REGEXP_REPLACE(where_clause, 'dest_user(\s*)=(\s*)@user', 'dest_user = @user_id', 'gmi');
+
+
+/* RE CREATE VIEWS */
+CREATE OR REPLACE VIEW res_view_letterbox AS
+SELECT r.res_id,
+       r.type_id,
+       r.policy_id,
+       r.cycle_id,
+       d.description AS type_label,
+       d.doctypes_first_level_id,
+       dfl.doctypes_first_level_label,
+       dfl.css_style AS doctype_first_level_style,
+       d.doctypes_second_level_id,
+       dsl.doctypes_second_level_label,
+       dsl.css_style AS doctype_second_level_style,
+       r.format,
+       r.typist,
+       r.creation_date,
+       r.modification_date,
+       r.docserver_id,
+       r.path,
+       r.filename,
+       r.fingerprint,
+       r.filesize,
+       r.status,
+       r.work_batch,
+       r.doc_date,
+       r.external_id,
+       r.departure_date,
+       r.opinion_limit_date,
+       r.barcode,
+       r.initiator,
+       r.destination,
+       r.dest_user,
+       r.confidentiality,
+       r.category_id,
+       r.alt_identifier,
+       r.admission_date,
+       r.process_limit_date,
+       r.closing_date,
+       r.alarm1_date,
+       r.alarm2_date,
+       r.flag_alarm1,
+       r.flag_alarm2,
+       r.subject,
+       r.priority,
+       r.locker_user_id,
+       r.locker_time,
+       r.custom_fields,
+       en.entity_label,
+       en.entity_type AS entitytype
+FROM doctypes d,
+     doctypes_first_level dfl,
+     doctypes_second_level dsl,
+     res_letterbox r
+    LEFT JOIN entities en ON r.destination::text = en.entity_id::text
+WHERE r.type_id = d.type_id AND d.doctypes_first_level_id = dfl.doctypes_first_level_id AND d.doctypes_second_level_id = dsl.doctypes_second_level_id;
diff --git a/sql/data_fr.sql b/sql/data_fr.sql
index 49a6de432418cbe7789fccab1f8fb73113b8caa4..730367cdfd064221a554f36afb1bf2a9235a0e5a 100755
--- a/sql/data_fr.sql
+++ b/sql/data_fr.sql
@@ -550,11 +550,11 @@ INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id
 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, flag_notif, 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',30);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, flag_notif, enabled, basket_order) VALUES ('EenvBasket', 'Courriers à envoyer', 'Courriers visés/signés prêts à être envoyés', 'status=''EENV'' and dest_user = @user_id', 'letterbox_coll', 'Y', 'N', 'Y',30);
 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, flag_notif, enabled, basket_order) VALUES ('MyBasket', 'Courriers à traiter', 'Bannette de traitement', 'status in (''NEW'', ''COU'', ''STDBY'', ''ENVDONE'') and dest_user = @user', 'letterbox_coll', 'Y', 'Y', 'Y',40);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, flag_notif, enabled, basket_order) VALUES ('MyBasket', 'Courriers à traiter', 'Bannette de traitement', 'status in (''NEW'', ''COU'', ''STDBY'', ''ENVDONE'') and dest_user = @user_id', 'letterbox_coll', 'Y', 'Y', 'Y',40);
 DELETE FROM baskets WHERE basket_id = 'CopyMailBasket';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'CopyMailBasket';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'CopyMailBasket';
@@ -562,11 +562,11 @@ INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id
 DELETE FROM baskets WHERE basket_id = 'AR_Create';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'AR_Create';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'AR_Create';
-INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, flag_notif, enabled, basket_order) VALUES ('AR_Create', 'AR en masse : non envoyés', 'AR en masse : non envoyés', 'dest_user = @user AND res_id NOT IN(select distinct res_id from acknowledgement_receipts) and status not in (''END'') and category_id = ''incoming''', 'letterbox_coll', 'Y', 'N', 'Y',60);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, flag_notif, enabled, basket_order) VALUES ('AR_Create', 'AR en masse : non envoyés', 'AR en masse : non envoyés', 'dest_user = @user_id AND res_id NOT IN(select distinct res_id from acknowledgement_receipts) and status not in (''END'') and category_id = ''incoming''', 'letterbox_coll', 'Y', 'N', 'Y',60);
 DELETE FROM baskets WHERE basket_id = 'AR_AlreadySend';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'AR_AlreadySend';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'AR_AlreadySend';
-INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, flag_notif, enabled, basket_order) VALUES ('AR_AlreadySend', 'AR en masse : transmis', 'AR en masse : transmis', 'dest_user = @user AND ((res_id IN(SELECT distinct res_id FROM acknowledgement_receipts WHERE creation_date is not null AND send_date is not null) and status not in (''END'')) OR res_id IN (SELECT distinct res_id FROM acknowledgement_receipts WHERE creation_date is not null AND send_date is null AND format = ''pdf'' and (filename is not null or filename <> '''')))', 'letterbox_coll', 'Y', 'N', 'Y',70);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, flag_notif, enabled, basket_order) VALUES ('AR_AlreadySend', 'AR en masse : transmis', 'AR en masse : transmis', 'dest_user = @user_id AND ((res_id IN(SELECT distinct res_id FROM acknowledgement_receipts WHERE creation_date is not null AND send_date is not null) and status not in (''END'')) OR res_id IN (SELECT distinct res_id FROM acknowledgement_receipts WHERE creation_date is not null AND send_date is null AND format = ''pdf'' and (filename is not null or filename <> '''')))', 'letterbox_coll', 'Y', 'N', 'Y',70);
 DELETE FROM baskets WHERE basket_id = 'RetourCourrier';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'RetourCourrier';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'RetourCourrier';
@@ -578,11 +578,11 @@ INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id
 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, flag_notif, 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',100);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, flag_notif, enabled, basket_order) VALUES ('SupAvisBasket', 'Avis : En attente de réponse', 'Courriers en attente d''avis', 'status=''EAVIS'' and ((dest_user = @user_id) 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',100);
 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, flag_notif, 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',110);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, flag_notif, enabled, basket_order) VALUES ('RetAvisBasket', 'Avis : Retours partiels', 'Courriers avec avis reçus', 'status=''EAVIS'' and ((dest_user = @user_id) 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',110);
 DELETE FROM baskets WHERE basket_id = 'ValidationBasket';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'ValidationBasket';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'ValidationBasket';
@@ -606,15 +606,15 @@ INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id
 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, flag_notif, 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',170);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, flag_notif, 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_id', 'letterbox_coll', 'Y', 'N', 'Y',170);
 DELETE FROM baskets WHERE basket_id = 'SendToSignatoryBook';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'SendToSignatoryBook';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'SendToSignatoryBook';
-INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, flag_notif, enabled, basket_order) VALUES ('SendToSignatoryBook', 'Courriers envoyés au parapheur Maarch en attente ou rejetés', 'Courriers envoyés au parapheur Maarch en attente ou rejetés', '(status = ''ATT_MP'' or status = ''REJ_SIGN'') AND dest_user = @user', 'letterbox_coll', 'Y', 'Y', 'Y',180);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, flag_notif, enabled, basket_order) VALUES ('SendToSignatoryBook', 'Courriers envoyés au parapheur Maarch en attente ou rejetés', 'Courriers envoyés au parapheur Maarch en attente ou rejetés', '(status = ''ATT_MP'' or status = ''REJ_SIGN'') AND dest_user = @user_id', 'letterbox_coll', 'Y', 'Y', 'Y',180);
 DELETE FROM baskets WHERE basket_id = 'Maileva_Sended';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'Maileva_Sended';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'Maileva_Sended';
-INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, flag_notif, enabled, basket_order) VALUES ('Maileva_Sended', 'Courriers transmis via Maileva', 'Courriers transmis via Maileva', 'dest_user = @user AND res_id IN(SELECT distinct r.res_id_master from res_attachments r inner join shippings s on s.document_id = r.res_id) and status not in (''END'')', 'letterbox_coll', 'Y', 'N', 'Y',190);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, flag_notif, enabled, basket_order) VALUES ('Maileva_Sended', 'Courriers transmis via Maileva', 'Courriers transmis via Maileva', 'dest_user = @user_id AND res_id IN(SELECT distinct r.res_id_master from res_attachments r inner join shippings s on s.document_id = r.res_id) and status not in (''END'')', 'letterbox_coll', 'Y', 'N', 'Y',190);
 DELETE FROM baskets WHERE basket_id = 'ToArcBasket';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'ToArcBasket';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'ToArcBasket';
@@ -634,7 +634,7 @@ INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id
 DELETE FROM baskets WHERE basket_id = 'IntervBasket';
 DELETE FROM actions_groupbaskets WHERE basket_id = 'IntervBasket';
 DELETE FROM groupbasket_redirect WHERE basket_id = 'IntervBasket';
-INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, flag_notif, enabled, basket_order) VALUES ('IntervBasket', 'Demandes d''''intervention voirie à traiter', 'Demandes d''''intervention voirie à traiter', 'status in (''NEW'', ''COU'', ''STDBY'', ''ENVDONE'') and dest_user = @user and type_id = 1202', 'letterbox_coll', 'Y', 'Y', 'Y',240);
+INSERT INTO baskets (basket_id, basket_name, basket_desc, basket_clause, coll_id, is_visible, flag_notif, enabled, basket_order) VALUES ('IntervBasket', 'Demandes d''''intervention voirie à traiter', 'Demandes d''''intervention voirie à traiter', 'status in (''NEW'', ''COU'', ''STDBY'', ''ENVDONE'') and dest_user = @user_id and type_id = 1202', 'letterbox_coll', 'Y', 'Y', 'Y',240);
 
 -- Create GROUPBASKET
 TRUNCATE TABLE groupbasket;
diff --git a/sql/structure.sql b/sql/structure.sql
index b35dd884c4c85077115a7046923d65dd30d22080..0a80a3fdd55e551f43ef49e03eec5d2b6570c8c6 100755
--- a/sql/structure.sql
+++ b/sql/structure.sql
@@ -908,7 +908,7 @@ CREATE TABLE res_letterbox
   policy_id character varying(32) DEFAULT NULL::character varying,
   cycle_id character varying(32) DEFAULT NULL::character varying,
   initiator character varying(50) DEFAULT NULL::character varying,
-  dest_user character varying(128) DEFAULT NULL::character varying,
+  dest_user INTEGER,
   locker_user_id INTEGER DEFAULT NULL,
   locker_time timestamp without time zone,
   confidentiality character(1),
diff --git a/src/app/action/controllers/ActionMethodController.php b/src/app/action/controllers/ActionMethodController.php
index 06a7fa04d027d35e99d13c8251a761884b16fa17..25ecd1bd08cb20335d4d02792acb507c5bb01505 100644
--- a/src/app/action/controllers/ActionMethodController.php
+++ b/src/app/action/controllers/ActionMethodController.php
@@ -295,10 +295,11 @@ class ActionMethodController
                         'viewed'          => 0,
                         'difflist_type'   => 'entity_id'
                     ]);
-                    $destUser = $userInfo['user_id'];
+                    $destUser = $destUser[0]['item_id'];
                 } else {
-                    $destUser = '';
+                    $destUser = null;
                 }
+
                 ResModel::update([
                     'set'   => ['destination' => $resource['initiator'], 'dest_user' => $destUser],
                     'where' => ['res_id = ?'],
diff --git a/src/app/entity/controllers/ListInstanceController.php b/src/app/entity/controllers/ListInstanceController.php
index 1bc187e2a7650321060e8849b7927a1fb47c9286..62f18111466598e0b7cf8756894806d8ff98912d 100755
--- a/src/app/entity/controllers/ListInstanceController.php
+++ b/src/app/entity/controllers/ListInstanceController.php
@@ -287,9 +287,9 @@ class ListInstanceController
                 ]);
 
                 if ($instance['item_mode'] == 'dest') {
-                    $set = ['dest_user' => $instance['item_id']];
+                    $set = ['dest_user' => $user['id']];
                     $changeDestination = true;
-                    $entities = UserEntityModel::get(['select' => ['entity_id', 'primary_entity'], 'where' => ['user_id = ?'], 'data' => [$instance['item_id']]]);
+                    $entities = UserEntityModel::get(['select' => ['entity_id', 'primary_entity'], 'where' => ['user_id = ?'], 'data' => [$user['id']]]);
                     $resource = ResModel::getById(['select' => ['destination'], 'resId' => $ListInstanceByRes['resId']]);
                     foreach ($entities as $entity) {
                         if ($entity['entity_id'] == $resource['destination']) {
diff --git a/src/app/resource/controllers/ExportController.php b/src/app/resource/controllers/ExportController.php
index 61c17756013a628bdc24cefa7245955468eabc46..9460eae5fa51d8e7f0d0ddfb47fe066b7141522a 100755
--- a/src/app/resource/controllers/ExportController.php
+++ b/src/app/resource/controllers/ExportController.php
@@ -257,7 +257,7 @@ class ExportController
                     } elseif ($value['value'] == 'getTypist') {
                         $csvContent[] = UserModel::getLabelledUserById(['id' => $resource['typist']]);
                     } elseif ($value['value'] == 'getAssignee') {
-                        $csvContent[] = UserModel::getLabelledUserById(['login' => $resource['dest_user']]);
+                        $csvContent[] = UserModel::getLabelledUserById(['id' => $resource['dest_user']]);
                     } elseif ($value['value'] == 'getTags') {
                         $tags = ExportController::getTags(['chunkedResIds' => $aArgs['chunkedResIds']]);
                         $csvContent[] = empty($tags[$resource['res_id']]) ? '' : $tags[$resource['res_id']];
@@ -369,7 +369,7 @@ class ExportController
                     } elseif ($value['value'] == 'getTypist') {
                         $content[] = UserModel::getLabelledUserById(['id' => $resource['typist']]);
                     } elseif ($value['value'] == 'getAssignee') {
-                        $content[] = UserModel::getLabelledUserById(['login' => $resource['dest_user']]);
+                        $content[] = UserModel::getLabelledUserById(['id' => $resource['dest_user']]);
                     } elseif ($value['value'] == 'getTags') {
                         $tags = ExportController::getTags(['chunkedResIds' => $aArgs['chunkedResIds']]);
                         $content[] = empty($tags[$resource['res_id']]) ? '' : $tags[$resource['res_id']];
diff --git a/src/app/resource/controllers/LinkController.php b/src/app/resource/controllers/LinkController.php
index a008cc9fdc0356eb98f30427cee2f2a3d928f83b..174888054cc751a4f43cf98f857424bf4c9eecd2 100644
--- a/src/app/resource/controllers/LinkController.php
+++ b/src/app/resource/controllers/LinkController.php
@@ -60,7 +60,7 @@ class LinkController
                 }
 
                 if (!empty($value['destUser'])) {
-                    $linkedResources[$key]['destUserLabel'] = UserModel::getLabelledUserById(['login' => $value['destUser']]);
+                    $linkedResources[$key]['destUserLabel'] = UserModel::getLabelledUserById(['id' => $value['destUser']]);
                 }
                 if (!empty($value['destination'])) {
                     $linkedResources[$key]['destinationLabel'] = EntityModel::getByEntityId(['entityId' => $value['destination'], 'select' => ['short_label']])['short_label'];
diff --git a/src/app/resource/controllers/ResController.php b/src/app/resource/controllers/ResController.php
index 5b9bc34dbf30e478adf96b46e7c2ef21047de030..3e3da43c0b475b4a358764cadbfe760f04753c97 100755
--- a/src/app/resource/controllers/ResController.php
+++ b/src/app/resource/controllers/ResController.php
@@ -1045,7 +1045,8 @@ class ResController extends ResourceControlController
                 }
 
                 if ($diffusion['mode'] == 'dest') {
-                    ResModel::update(['set' => ['dest_user' => $diffusion['id']], 'where' => ['res_id = ?'], 'data' => [$args['resId']]]);
+                    $destUser = UserModel::getByLogin(['login' => $diffusion['id'], 'select' => ['id']]);
+                    ResModel::update(['set' => ['dest_user' => $destUser['id']], 'where' => ['res_id = ?'], 'data' => [$args['resId']]]);
                 }
                 ListInstanceModel::create([
                     'res_id'            => $args['resId'],
diff --git a/src/app/search/controllers/SearchController.php b/src/app/search/controllers/SearchController.php
index 90da26b64b48a7f9139e7baa56dcdf165608d3ac..9ad95db88f71caed1c5762afaae5c0103aebff00 100644
--- a/src/app/search/controllers/SearchController.php
+++ b/src/app/search/controllers/SearchController.php
@@ -237,7 +237,7 @@ class SearchController
                 }
             }
             if (!empty($resource['destUser'])) {
-                $resources[$key]['destUserLabel'] = UserModel::getLabelledUserById(['login' => $resource['destUser']]);
+                $resources[$key]['destUserLabel'] = UserModel::getLabelledUserById(['id' => $resource['destUser']]);
             }
             $resources[$key]['hasDocument'] = !empty($resource['filename']);
 
diff --git a/src/app/user/controllers/UserController.php b/src/app/user/controllers/UserController.php
index ee7f6cdd0e095b17223fff4671d1c17973b6df69..02209e262021b81b4eed766c66bddea8ca14a0a2 100755
--- a/src/app/user/controllers/UserController.php
+++ b/src/app/user/controllers/UserController.php
@@ -478,10 +478,9 @@ class UserController
             'data'  => [$aArgs['id']]
         ]);
 
-        // Delete from entities
         UserEntityModel::delete([
             'where' => ['user_id = ?'],
-            'data'  => [$user['user_id']]
+            'data'  => [$aArgs['id']]
         ]);
 
         UserModel::delete(['id' => $aArgs['id']]);
diff --git a/src/app/user/models/UserEntityModelAbstract.php b/src/app/user/models/UserEntityModelAbstract.php
index 9e6c5d2d8150701e3cf9119a7794fae6a7774a9d..b58e8c4254bc6d292ca2c5f39b6cf4e640090aad 100755
--- a/src/app/user/models/UserEntityModelAbstract.php
+++ b/src/app/user/models/UserEntityModelAbstract.php
@@ -175,11 +175,10 @@ abstract class UserEntityModelAbstract
         ValidatorModel::intVal($aArgs, ['id']);
         ValidatorModel::stringType($aArgs, ['entityId']);
 
-        $user = UserModel::getById(['id' => $aArgs['id'], 'select' => ['user_id']]);
         DatabaseModel::delete([
             'table'     => 'users_entities',
             'where'     => ['entity_id = ?', 'user_id = ?'],
-            'data'      => [$aArgs['entityId'], $user['user_id']]
+            'data'      => [$aArgs['entityId'], $aArgs['id']]
         ]);
 
         return true;