From 3f59598c304343fcdd19681f149701e67ed9f388 Mon Sep 17 00:00:00 2001 From: Damien <damien.burel@maarch.org> Date: Fri, 10 Apr 2020 16:44:52 +0200 Subject: [PATCH] FEAT #13678 TIME 0:25 Fix message_exchange account_id --- migration/20.10/2010.sql | 8 ++++++++ sql/structure.sql | 2 +- .../controllers/MessageExchangeController.php | 7 +++---- .../controllers/SendMessageExchangeController.php | 3 ++- .../external/summary/controllers/SummaryController.php | 2 +- 5 files changed, 15 insertions(+), 7 deletions(-) diff --git a/migration/20.10/2010.sql b/migration/20.10/2010.sql index 033dd0ba59d..e22ffbaab15 100755 --- a/migration/20.10/2010.sql +++ b/migration/20.10/2010.sql @@ -143,6 +143,14 @@ DO $$ BEGIN ALTER TABLE history 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 = 'message_exchange' and column_name = 'account_id' and data_type != 'integer') THEN + ALTER TABLE message_exchange ADD COLUMN account_id_tmp INTEGER; + UPDATE message_exchange set account_id_tmp = (select id FROM users where users.user_id = message_exchange.account_id); + ALTER TABLE message_exchange DROP COLUMN IF EXISTS account_id; + ALTER TABLE message_exchange RENAME COLUMN account_id_tmp TO account_id; + END IF; +END$$; /* RE CREATE VIEWS */ diff --git a/sql/structure.sql b/sql/structure.sql index 27e5cd607b2..f9f5c6d78a1 100755 --- a/sql/structure.sql +++ b/sql/structure.sql @@ -1141,7 +1141,7 @@ CREATE TABLE message_exchange date timestamp NOT NULL, reference text NOT NULL, - account_id text, + account_id integer, sender_org_identifier text NOT NULL, sender_org_name text, recipient_org_identifier text NOT NULL, diff --git a/src/app/external/messageExchange/controllers/MessageExchangeController.php b/src/app/external/messageExchange/controllers/MessageExchangeController.php index a925863c073..9c043c0e86c 100644 --- a/src/app/external/messageExchange/controllers/MessageExchangeController.php +++ b/src/app/external/messageExchange/controllers/MessageExchangeController.php @@ -43,7 +43,7 @@ class MessageExchangeController foreach ($messagesModel as $message) { $messageType = 'm2m_' . strtoupper($message['type']); - $user = UserModel::getLabelledUserById(['login' => $message['account_id']]); + $user = UserModel::getLabelledUserById(['id' => $message['account_id']]); $sender = $user . ' (' . $message['sender_org_name'] . ')'; $recipient = $message['recipient_org_name'] . ' (' . $message['recipient_org_identifier'] . ')'; @@ -159,7 +159,7 @@ class MessageExchangeController } $messageType = 'm2m_' . strtoupper($type); - $user = UserModel::getLabelledUserById(['login' => $message['account_id']]); + $user = UserModel::getLabelledUserById(['id' => $message['account_id']]); $sender = $user . ' (' . $message['sender_org_name'] . ')'; if ($message['status'] == 'S') { @@ -172,9 +172,8 @@ class MessageExchangeController $status = 'DRAFT'; } - $userInfo = UserModel::getByLogin(['login' => $message['account_id'], 'select' => ['id']]); $messageExchange = [ - 'userId' => $userInfo['id'], + 'userId' => $message['account_id'], 'messageId' => $message['message_id'], 'creationDate' => $message['date'], 'type' => $messageType, diff --git a/src/app/external/messageExchange/controllers/SendMessageExchangeController.php b/src/app/external/messageExchange/controllers/SendMessageExchangeController.php index a4dd49db3ca..872e4276f5e 100755 --- a/src/app/external/messageExchange/controllers/SendMessageExchangeController.php +++ b/src/app/external/messageExchange/controllers/SendMessageExchangeController.php @@ -95,11 +95,12 @@ class SendMessageExchangeController 'filePath' => $aArgs['file_path'], ]; + $user = UserModel::getByLogin(['login' => $aArgs['userId'], 'select' => ['id']]); $messageId = MessageExchangeModel::insertMessage([ "data" => $oData, "type" => $aArgs['type'], "dataExtension" => $aDataExtension, - "userId" => $aArgs['userId'] + "userId" => $user['id'] ]); return $messageId; diff --git a/src/app/external/summary/controllers/SummaryController.php b/src/app/external/summary/controllers/SummaryController.php index 9e6027704a9..64ad0cd2a55 100755 --- a/src/app/external/summary/controllers/SummaryController.php +++ b/src/app/external/summary/controllers/SummaryController.php @@ -76,7 +76,7 @@ class SummaryController ]); foreach ($maarch2ged as $key => $value) { if (!empty($value['account_id'])) { - $userInfo = UserModel::getByLogin(['select' => ['firstname', 'lastname'], 'login' => $value['account_id']]); + $userInfo = UserModel::getById(['select' => ['firstname', 'lastname'], 'id' => $value['account_id']]); } $maarch2ged[$key]['userInfo'] = $userInfo['firstname'] . ' ' . $userInfo['lastname']; $maarch2ged[$key]['object'] = ''; -- GitLab