Merged in bugfix/PMCORE-3620 (pull request #8341)

PMCORE-3620

Approved-by: Julio Cesar Laura Avendaño
This commit is contained in:
Paula Quispe
2022-01-10 20:03:11 +00:00
committed by Julio Cesar Laura Avendaño

View File

@@ -286,92 +286,101 @@ class Users extends BaseUsers
/** /**
* Get all information about the user * Get all information about the user
*
* @param string $userUid * @param string $userUid
*
* @return array $arrayData * @return array $arrayData
* @throws Exception * @throws Exception
*/ */
public function getAllInformation ($userUid) public function getAllInformation($userUid)
{ {
if (!isset($userUid) || empty($userUid)) { if (!isset($userUid) || empty($userUid)) {
throw (new Exception('$userUid is empty.')); throw new Exception('$userUid is empty.');
} }
if (RBAC::isGuestUserUid($userUid)) { if (RBAC::isGuestUserUid($userUid)) {
throw new Exception(G::LoadTranslation("ID_USER_CAN_NOT_UPDATE", array($userUid))); throw new Exception(G::LoadTranslation("ID_USER_CAN_NOT_UPDATE", [$userUid]));
return false; return false;
} }
try { try {
$aFields = $this->load( $userUid ); $fields = $this->load($userUid);
$c = new Criteria( "workflow" ); $c = new Criteria( "workflow" );
$c->add( IsoCountryPeer::IC_UID, $aFields["USR_COUNTRY"] ); $rowC = [];
$rs = IsoCountryPeer::doSelectRS( $c ); if (!empty($fields["USR_COUNTRY"])) {
$rs->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $c->add(IsoCountryPeer::IC_UID, $fields["USR_COUNTRY"]);
$rs = IsoCountryPeer::doSelectRS($c);
$rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$rs->next(); $rs->next();
$rowC = $rs->getRow(); $rowC = $rs->getRow();
}
$rowS = [];
if (!empty($fields["USR_CITY"])) {
$c->clearSelectColumns(); $c->clearSelectColumns();
$c->add( IsoSubdivisionPeer::IC_UID, $aFields["USR_COUNTRY"] ); $c->add(IsoSubdivisionPeer::IC_UID, $fields["USR_COUNTRY"]);
$c->add( IsoSubdivisionPeer::IS_UID, $aFields["USR_CITY"] ); $c->add(IsoSubdivisionPeer::IS_UID, $fields["USR_CITY"]);
$rs = IsoSubdivisionPeer::doSelectRS( $c ); $rs = IsoSubdivisionPeer::doSelectRS($c);
$rs->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$rs->next(); $rs->next();
$rowS = $rs->getRow(); $rowS = $rs->getRow();
}
$rowL = [];
if (!empty($fields["USR_LOCATION"])) {
$c->clearSelectColumns(); $c->clearSelectColumns();
$c->add( IsoLocationPeer::IC_UID, $aFields["USR_COUNTRY"] ); $c->add(IsoLocationPeer::IC_UID, $fields["USR_COUNTRY"]);
$c->add( IsoLocationPeer::IL_UID, $aFields["USR_LOCATION"] ); $c->add(IsoLocationPeer::IL_UID, $fields["USR_LOCATION"]);
$rs = IsoLocationPeer::doSelectRS( $c ); $rs = IsoLocationPeer::doSelectRS($c);
$rs->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$rs->next(); $rs->next();
$rowL = $rs->getRow(); $rowL = $rs->getRow();
}
//Calendar //Calendar
$calendar = new Calendar(); $calendar = new Calendar();
$calendarInfo = $calendar->getCalendarFor( $userUid, $userUid, $userUid ); $calendarInfo = $calendar->getCalendarFor($userUid, $userUid, $userUid);
$aFields["USR_CALENDAR"] = ($calendarInfo["CALENDAR_APPLIED"] != "DEFAULT") ? $calendarInfo["CALENDAR_UID"] : ""; $fields["USR_CALENDAR"] = ($calendarInfo["CALENDAR_APPLIED"] != "DEFAULT") ? $calendarInfo["CALENDAR_UID"] : "";
//Photo //Photo
$pathPhoto = PATH_IMAGES_ENVIRONMENT_USERS . $userUid . ".gif"; $pathPhoto = PATH_IMAGES_ENVIRONMENT_USERS . $userUid . ".gif";
if (! file_exists( $pathPhoto )) { if (!file_exists($pathPhoto)) {
$pathPhoto = PATH_HOME . "public_html" . PATH_SEP . "images" . PATH_SEP . "user.gif"; $pathPhoto = PATH_HOME . "public_html" . PATH_SEP . "images" . PATH_SEP . "user.gif";
} }
//Data //Data
$arrayData = array (); $arrayData = [];
$arrayData["username"] = $aFields["USR_USERNAME"]; $arrayData["username"] = $fields["USR_USERNAME"];
$arrayData["firstname"] = $aFields["USR_FIRSTNAME"]; $arrayData["firstname"] = $fields["USR_FIRSTNAME"];
$arrayData["lastname"] = $aFields["USR_LASTNAME"]; $arrayData["lastname"] = $fields["USR_LASTNAME"];
$arrayData["mail"] = $aFields["USR_EMAIL"]; $arrayData["mail"] = $fields["USR_EMAIL"];
$arrayData["address"] = $aFields["USR_ADDRESS"]; $arrayData["address"] = $fields["USR_ADDRESS"];
$arrayData["zipcode"] = $aFields["USR_ZIP_CODE"]; $arrayData["zipcode"] = $fields["USR_ZIP_CODE"];
$arrayData["country"] = $rowC["IC_NAME"]; $arrayData["country"] = !empty($rowC) ? $rowC["IC_NAME"] : '';
$arrayData["state"] = $rowS["IS_NAME"]; $arrayData["state"] = !empty($rowS) ? $rowS["IS_NAME"] : '';
$arrayData["location"] = $rowL["IL_NAME"]; $arrayData["location"] = !empty($rowL) ? $rowL["IL_NAME"]: '';
$arrayData["phone"] = $aFields["USR_PHONE"]; $arrayData["phone"] = $fields["USR_PHONE"];
$arrayData["fax"] = $aFields["USR_FAX"]; $arrayData["fax"] = $fields["USR_FAX"];
$arrayData["cellular"] = $aFields["USR_CELLULAR"]; $arrayData["cellular"] = $fields["USR_CELLULAR"];
$arrayData["birthday"] = $aFields["USR_BIRTHDAY"]; $arrayData["birthday"] = $fields["USR_BIRTHDAY"];
$arrayData["position"] = $aFields["USR_POSITION"]; $arrayData["position"] = $fields["USR_POSITION"];
$arrayData["replacedby"] = $aFields["USR_REPLACED_BY"]; $arrayData["replacedby"] = $fields["USR_REPLACED_BY"];
if(strlen($arrayData["replacedby"] != 0)){ if(strlen($arrayData["replacedby"] != 0)) {
$oUser = UsersPeer::retrieveByPK( $arrayData["replacedby"] ); $oUser = UsersPeer::retrieveByPK($arrayData["replacedby"]);
$arrayData["replacedbyfullname"] = $oUser->getUsrFirstname() . ' ' . $oUser->getUsrLastname(); $arrayData["replacedbyfullname"] = $oUser->getUsrFirstname() . ' ' . $oUser->getUsrLastname();
} }
$arrayData["duedate"] = $aFields["USR_DUE_DATE"]; $arrayData["duedate"] = $fields["USR_DUE_DATE"];
$arrayData["calendar"] = $aFields["USR_CALENDAR"]; $arrayData["calendar"] = $fields["USR_CALENDAR"];
if(strlen($aFields["USR_CALENDAR"] != 0)){ if(strlen($fields["USR_CALENDAR"] != 0)) {
$arrayData["calendarname"] = $calendar->calendarName( $aFields["USR_CALENDAR"] ); $arrayData["calendarname"] = $calendar->calendarName($fields["USR_CALENDAR"]);
} }
$arrayData["status"] = $aFields["USR_STATUS"]; $arrayData["status"] = $fields["USR_STATUS"];
$arrayData["department"] = $aFields["DEP_UID"]; $arrayData["department"] = $fields["DEP_UID"];
if (strlen($arrayData["department"]) != 0) { if (strlen($arrayData["department"]) != 0) {
$oDepart = DepartmentPeer::retrieveByPk( $arrayData["department"] ); $oDepart = DepartmentPeer::retrieveByPk($arrayData["department"]);
$arrayData["departmentname"] = $oDepart->getDepTitle(); $arrayData["departmentname"] = $oDepart->getDepTitle();
} }
$arrayData["reportsto"] = $aFields["USR_REPORTS_TO"]; $arrayData["reportsto"] = $fields["USR_REPORTS_TO"];
$arrayData["userexperience"] = $aFields["USR_UX"]; $arrayData["userexperience"] = $fields["USR_UX"];
$arrayData["photo"] = $pathPhoto; $arrayData["photo"] = $pathPhoto;
return $arrayData; return $arrayData;