diff --git a/tests/unit/workflow/engine/src/ProcessMaker/BusinessModel/UserTest.php b/tests/unit/workflow/engine/src/ProcessMaker/BusinessModel/UserTest.php index 74baee520..641faba3a 100644 --- a/tests/unit/workflow/engine/src/ProcessMaker/BusinessModel/UserTest.php +++ b/tests/unit/workflow/engine/src/ProcessMaker/BusinessModel/UserTest.php @@ -133,8 +133,8 @@ class UserTest extends TestCase // Set the important fields with an specific value $this->assertEquals($table->USR_STATUS, 'CLOSED'); $this->assertEquals($table->USR_STATUS_ID, 0); - $this->assertEquals($table->USR_FIRSTNAME, $usr::DELETE_USER); - $this->assertEquals($table->USR_LASTNAME, $usr::DELETE_USER); + $this->assertEquals($table->USR_FIRSTNAME, $usr::DELETED_USER); + $this->assertEquals($table->USR_LASTNAME, $usr::DELETED_USER); // Clean the string fields $this->assertEmpty($table->USR_USERNAME); $this->assertEmpty($table->USR_EMAIL); @@ -147,12 +147,9 @@ class UserTest extends TestCase $this->assertEmpty($table->USR_CELLULAR); $this->assertEmpty($table->USR_ZIP_CODE); $this->assertEmpty($table->USR_TIME_ZONE); - $this->assertEmpty($table->USR_EXTENDED_ATTRIBUTES_DATA); + $this->assertEquals('{}', $table->USR_EXTENDED_ATTRIBUTES_DATA); // Clean the date fields $this->assertEquals($table->USR_BIRTHDAY, '0000-00-00'); $this->assertEquals($table->USR_DUE_DATE, '0000-00-00'); - // Clean the datetime fields - $this->assertEquals($table->USR_DUE_DATE, '0000-00-00 00:00:00'); - $this->assertEquals($table->USR_DUE_DATE, '0000-00-00 00:00:00'); } } diff --git a/workflow/engine/classes/LdapAdvanced.php b/workflow/engine/classes/LdapAdvanced.php index 2170c6f15..b2715ce23 100644 --- a/workflow/engine/classes/LdapAdvanced.php +++ b/workflow/engine/classes/LdapAdvanced.php @@ -69,7 +69,6 @@ class LdapAdvanced public $allListOfUsers = []; private $arrayDepartmentUserSynchronizedChecked = []; private $arrayUserUpdateChecked = []; - const DELETE_USER = 'unknown'; /** * default constructor method @@ -696,7 +695,7 @@ class LdapAdvanced break; } } else { - $this->log($ldapcnn, "User is repeated: Username \"" . $arrayUserData["sUsername"] . "\", DN \"" . $arrayUserData["sDN"] . "\""); + $this->log($ldapcnn, "User have repeated: Username \"" . $arrayUserData["sUsername"] . "\", DN \"" . $arrayUserData["sDN"] . "\""); } } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/User.php b/workflow/engine/src/ProcessMaker/BusinessModel/User.php index e9d64a64a..0a3df8dea 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/User.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/User.php @@ -53,7 +53,7 @@ use UsersRolesPeer; class User { - const DELETE_USER = 'unknown'; + const DELETED_USER = 'unknown'; private $arrayFieldDefinition = array( "USR_UID" => array( "type" => "string", @@ -1361,12 +1361,8 @@ class User try { // Verify data $this->throwExceptionIfNotExistsUser($usrUid, $this->arrayFieldNameForException["usrUid"]); - // Check user admin - if (RBAC::isAdminUserUid($usrUid)) { - throw new Exception(G::LoadTranslation("ID_MSG_CANNOT_DELETE_USER", [$usrUid])); - } - // Check user guest - if (RBAC::isGuestUserUid($usrUid)) { + // Check user admin or guest + if (RBAC::isAdminUserUid($usrUid) || RBAC::isGuestUserUid($usrUid)) { throw new Exception(G::LoadTranslation("ID_MSG_CANNOT_DELETE_USER", [$usrUid])); } // Remove the user from groups @@ -1384,12 +1380,12 @@ class User $fields = [ 'USR_STATUS' => 'CLOSED', 'USR_USERNAME' => '', - 'USR_FIRSTNAME' => self::DELETE_USER, - 'USR_LASTNAME' => self::DELETE_USER, + 'USR_FIRSTNAME' => self::DELETED_USER, + 'USR_LASTNAME' => self::DELETED_USER, 'USR_EMAIL' => '', 'USR_DUE_DATE' => '0000-00-00', - 'USR_CREATE_DATE' => '0000-00-00 00:00:00', - 'USR_UPDATE_DATE' => '0000-00-00 00:00:00', + 'USR_CREATE_DATE' => '0000-00-00', + 'USR_UPDATE_DATE' => '0000-00-00', ]; ModelRbacUsers::where('USR_UID', $usrUid)->update($fields); $fields = array_merge(