From 2d353ef6e21042cb5a56da6bfe0e9969825d0253 Mon Sep 17 00:00:00 2001 From: Taslan Graham Date: Tue, 25 Feb 2025 14:56:35 -0500 Subject: [PATCH] pkp/pkp-lib#10977 Fix issues within merge user functionality --- classes/log/Repository.php | 19 +++++++++++++------ classes/user/Repository.php | 3 ++- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/classes/log/Repository.php b/classes/log/Repository.php index fc7d3496885..4df5e9e4822 100644 --- a/classes/log/Repository.php +++ b/classes/log/Repository.php @@ -1,4 +1,5 @@ where('user_id', $oldUserId) - ->whereNotIn('email_log_id', function ($query) use ($newUserId, $oldUserId) { + ->whereNotIn('email_log_id', function (Builder $query) use ($oldUserId, $newUserId) { $query->select('t1.email_log_id') - ->from(DB::table('email_log_users')->as('t1')) - ->join(DB::table('email_log_users')->as('t2'), 't1.email_log_id', '=', 't2.email_log_id') - ->where('t1.user_id', $newUserId) - ->where('t2.user_id', $oldUserId); - })->update(['user_id' => $newUserId]) + ->from(DB::raw('(SELECT email_log_id FROM email_log_users WHERE user_id = ?) as t1')) + ->join( + DB::raw('(SELECT email_log_id FROM email_log_users WHERE user_id = ?) as t2'), + 't1.email_log_id', + '=', + 't2.email_log_id' + ) + ->setBindings([$newUserId, $oldUserId]); + }) + ->update(['user_id' => $newUserId]) ]; } diff --git a/classes/user/Repository.php b/classes/user/Repository.php index dab90795979..55d91d9997b 100644 --- a/classes/user/Repository.php +++ b/classes/user/Repository.php @@ -1,4 +1,5 @@ $newUserId, - 'userGroupId' => $userUserGroup->id, + 'userGroupId' => $userUserGroup->userGroupId, 'dateStart' => $userUserGroup->dateStart, 'dateEnd' => $userUserGroup->dateEnd, 'masthead' => $userUserGroup->masthead,