Add catch in create user and change propel to elloquent

This commit is contained in:
Brayan Pereyra
2025-10-08 01:50:43 +00:00
parent c96920a30a
commit 6211c48e44
2 changed files with 66 additions and 82 deletions

View File

@@ -1050,34 +1050,17 @@ class LdapSource
public function deactivateUser($userUid)
{
if (!class_exists('RbacUsers')) {
require_once(PATH_RBAC . 'model/RbacUsers.php');
}
$rbacUser = new RbacUsers();
$rbacUser->updateData(
['USR_STATUS' => '0'],
[['USR_USERNAME', '=', $userUid]]
);
$con = Propel::getConnection(RbacUsersPeer::DATABASE_NAME);
// select set
$c1 = new Criteria('rbac');
$c1->add(RbacUsersPeer::USR_USERNAME, $userUid);
// update set
$c2 = new Criteria('rbac');
$c2->add(RbacUsersPeer::USR_STATUS, '0');
BasePeer::doUpdate($c1, $c2, $con);
if (!class_exists('Users')) {
require_once('classes/model/Users.php');
}
$con = Propel::getConnection(UsersPeer::DATABASE_NAME);
// select set
$c1 = new Criteria('workflow');
$c1->add(UsersPeer::USR_USERNAME, $userUid);
// update set
$c2 = new Criteria('workflow');
$c2->add(UsersPeer::USR_STATUS, 'INACTIVE');
$c2->add(UsersPeer::DEP_UID, '');
BasePeer::doUpdate($c1, $c2, $con);
$users = new User();
$users->updateData(
['USR_STATUS' => 'INACTIVE', 'DEP_UID' => ''],
[['USR_USERNAME', '=', $userUid]]
);
}
public function userIsTerminated($userUid, $sOuTerminated)
@@ -1091,7 +1074,6 @@ class LdapSource
break;
}
}
return $terminated;
}
@@ -1762,54 +1744,58 @@ class LdapSource
public function createUserAndActivate($user, $depUid)
{
$rbac = RBAC::getSingleton();
try {
$rbac = RBAC::getSingleton();
if ($rbac->userObj == null) {
$rbac->userObj = new RbacUsersModel();
if ($rbac->userObj == null) {
$rbac->userObj = new RbacUsersModel();
}
if ($rbac->rolesObj == null) {
$rbac->rolesObj = new RolesModel();
}
if ($rbac->usersRolesObj == null) {
$rbac->usersRolesObj = new UsersRolesModel();
}
$sUsername = $user['sUsername'];
$sFullname = $user['sFullname'];
$sFirstname = $user['sFirstname'];
$sLastname = $user['sLastname'];
$sEmail = $user['sEmail'];
$sDn = $user['sDN'];
$usrRole = empty($user['usrRole']) ? 'LURANA_OPERATOR' : $user['usrRole'];
$data = [];
$data['USR_USERNAME'] = $sUsername;
$data["USR_PASSWORD"] = "00000000000000000000000000000000";
$data['USR_FIRSTNAME'] = $sFirstname;
$data['USR_LASTNAME'] = $sLastname;
$data['USR_EMAIL'] = $sEmail;
$data['USR_DUE_DATE'] = date('Y-m-d', mktime(0, 0, 0, date('m'), date('d'), date('Y') + 2));
$data['USR_CREATE_DATE'] = date('Y-m-d H:i:s');
$data['USR_UPDATE_DATE'] = date('Y-m-d H:i:s');
$data['USR_BIRTHDAY'] = date('Y-m-d');
$data['USR_STATUS'] = 1;
$data['USR_AUTH_TYPE'] = 'ldapadvanced';
$data['UID_AUTH_SOURCE'] = $this->authSourceUid;
$data['USR_AUTH_USER_DN'] = $sDn;
$userUid = $rbac->createUser($data, $usrRole);
$data['USR_STATUS'] = 'ACTIVE';
$data['USR_UID'] = $userUid;
$data['DEP_UID'] = $depUid;
$data['USR_ROLE'] = $usrRole;
$users = new Users();
$users->create($data);
return $userUid;
} catch (Exception $errorException) {
throw $errorException;
}
if ($rbac->rolesObj == null) {
$rbac->rolesObj = new RolesModel();
}
if ($rbac->usersRolesObj == null) {
$rbac->usersRolesObj = new UsersRolesModel();
}
$sUsername = $user['sUsername'];
$sFullname = $user['sFullname'];
$sFirstname = $user['sFirstname'];
$sLastname = $user['sLastname'];
$sEmail = $user['sEmail'];
$sDn = $user['sDN'];
$usrRole = empty($user['usrRole']) ? 'LURANA_OPERATOR' : $user['usrRole'];
$data = [];
$data['USR_USERNAME'] = $sUsername;
$data["USR_PASSWORD"] = "00000000000000000000000000000000";
$data['USR_FIRSTNAME'] = $sFirstname;
$data['USR_LASTNAME'] = $sLastname;
$data['USR_EMAIL'] = $sEmail;
$data['USR_DUE_DATE'] = date('Y-m-d', mktime(0, 0, 0, date('m'), date('d'), date('Y') + 2));
$data['USR_CREATE_DATE'] = date('Y-m-d H:i:s');
$data['USR_UPDATE_DATE'] = date('Y-m-d H:i:s');
$data['USR_BIRTHDAY'] = date('Y-m-d');
$data['USR_STATUS'] = 1;
$data['USR_AUTH_TYPE'] = 'ldapadvanced';
$data['UID_AUTH_SOURCE'] = $this->authSourceUid;
$data['USR_AUTH_USER_DN'] = $sDn;
$userUid = $rbac->createUser($data, $usrRole);
$data['USR_STATUS'] = 'ACTIVE';
$data['USR_UID'] = $userUid;
$data['DEP_UID'] = $depUid;
$data['USR_ROLE'] = $usrRole;
$users = new Users();
$users->create($data);
return $userUid;
}
public function getDepUidIfExistsDN($currentDN)
@@ -2374,11 +2360,8 @@ class LdapSource
public function clearManager($usersUIDs)
{
try {
$criteriaSet = new Criteria('workflow');
$criteriaSet->add(UsersPeer::USR_REPORTS_TO, '');
$criteriaWhere = new Criteria('workflow');
$criteriaWhere->add(UsersPeer::USR_UID, $usersUIDs, Criteria::IN);
BasePeer::doUpdate($criteriaWhere, $criteriaSet, Propel::getConnection('workflow'));
$user = new User();
$user->updateDataFromListUsersUids(['USR_REPORTS_TO' => ''], $usersUIDs);
} catch (Exception $error) {
$this->log($this->ldapcnn, $error->getMessage());
}
@@ -2421,7 +2404,8 @@ class LdapSource
$p = (int) (($count * 100) / $total);
$n = (int) ($p / 2);
return "[" . str_repeat("|", $n) . str_repeat(" ", 50 - $n) . "] $p%";
$times = ((50 - (int)$n) < 0) ? 0 : (50 - (int)$n);
return "[" . str_repeat("|", $n) . str_repeat(" ", $times) . "] $p%";
} catch (Exception $e) {
throw $e;
}