From b3f22bc334ee2e8fef62e745af1d4882f049c4d6 Mon Sep 17 00:00:00 2001 From: Andrea Adamczyk Date: Mon, 19 Oct 2020 14:29:00 -0400 Subject: [PATCH] PMCORE-561-A --- .../engine/src/ProcessMaker/Model/ProcessTest.php | 8 ++++---- workflow/engine/methods/users/users_Ajax.php | 2 +- workflow/engine/src/ProcessMaker/Model/Process.php | 7 +++++-- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/tests/unit/workflow/engine/src/ProcessMaker/Model/ProcessTest.php b/tests/unit/workflow/engine/src/ProcessMaker/Model/ProcessTest.php index 97c61c96f..288011377 100644 --- a/tests/unit/workflow/engine/src/ProcessMaker/Model/ProcessTest.php +++ b/tests/unit/workflow/engine/src/ProcessMaker/Model/ProcessTest.php @@ -213,9 +213,9 @@ class ProcessTest extends TestCase } /** - * It tests the convertPrivateProcessesToPublic method + * It tests the convertPrivateProcessesToPublicAndUpdateUser method * - * @covers \ProcessMaker\Model\Process::convertPrivateProcessesToPublic() + * @covers \ProcessMaker\Model\Process::convertPrivateProcessesToPublicAndUpdateUser() * @test */ public function it_should_test_the_convert_private_processes_to_public_method() @@ -234,8 +234,8 @@ class ProcessTest extends TestCase //Create a Process object $process = new Process(); - //Call the convertPrivateProcessesToPublic() method - $process->convertPrivateProcessesToPublic($p); + //Call the convertPrivateProcessesToPublicAndUpdateUser() method + $process->convertPrivateProcessesToPublicAndUpdateUser($p, $pro->PRO_CREATE_USER); $p = Process::where('PRO_UID', $pro->PRO_UID)->get()->values(); diff --git a/workflow/engine/methods/users/users_Ajax.php b/workflow/engine/methods/users/users_Ajax.php index bd089d394..ea1369db6 100644 --- a/workflow/engine/methods/users/users_Ajax.php +++ b/workflow/engine/methods/users/users_Ajax.php @@ -117,8 +117,8 @@ try { echo $response; break; case 'deleteUser': - Process::convertPrivateProcessesToPublic(json_decode($_POST['private_processes'])); $usrUid = $_POST['USR_UID']; + Process::convertPrivateProcessesToPublicAndUpdateUser(json_decode($_POST['private_processes']), $usrUid); //Check if the user was defined in a process permissions $oObjectPermission = new ObjectPermission(); $aProcess = $oObjectPermission->objectPermissionPerUser($usrUid, 1); diff --git a/workflow/engine/src/ProcessMaker/Model/Process.php b/workflow/engine/src/ProcessMaker/Model/Process.php index ab0086363..4c1ee7872 100644 --- a/workflow/engine/src/ProcessMaker/Model/Process.php +++ b/workflow/engine/src/ProcessMaker/Model/Process.php @@ -82,12 +82,15 @@ class Process extends Model * @param array $privateProcesses * @return void */ - public static function convertPrivateProcessesToPublic($privateProcesses) + public static function convertPrivateProcessesToPublicAndUpdateUser($privateProcesses, $userUid) { $admin = RBAC::ADMIN_USER_UID; $processes = array_column($privateProcesses, 'PRO_ID'); Process::whereIn('PRO_ID', $processes) - ->update(['PRO_TYPE_PROCESS' => 'PUBLIC', 'PRO_CREATE_USER' => $admin]); + ->update(['PRO_TYPE_PROCESS' => 'PUBLIC']); + + Process::where('PRO_CREATE_USER', $userUid) + ->update(['PRO_CREATE_USER' => $admin]); } }