Se arregla bug en PM USER, PUT. Se agregan validaciones.

This commit is contained in:
Daniel Rojas
2014-05-05 15:42:44 -04:00
parent 060d822e00
commit f463dd6575
2 changed files with 112 additions and 77 deletions

View File

@@ -535,9 +535,9 @@ class CaseScheduler
} else { } else {
$sOption = $caseSchedulerData['SCH_OPTION']; $sOption = $caseSchedulerData['SCH_OPTION'];
} }
$caseSchedulerData['sch_repeat_stop_if_running'] = '0'; /* $caseSchedulerData['sch_repeat_stop_if_running'] = '0';
$caseSchedulerData['case_sh_plugin_uid'] = null; $caseSchedulerData['case_sh_plugin_uid'] = null;
$caseSchedulerData = array_change_key_case($caseSchedulerData, CASE_UPPER); */ $caseSchedulerData = array_change_key_case($caseSchedulerData, CASE_UPPER);
if (empty($caseSchedulerData)) { if (empty($caseSchedulerData)) {
die( 'the information sended is empty!' ); die( 'the information sended is empty!' );
} }

View File

@@ -413,11 +413,16 @@ class User
if ($countPermission != 1) { if ($countPermission != 1) {
throw new \Exception('This user: '.$usrLoggedUid. ', can not update the data.'); throw new \Exception('This user: '.$usrLoggedUid. ', can not update the data.');
} }
$criteria = new \Criteria(); if (isset($arrayData['USR_USERNAME'])) {
$criteria->addSelectColumn(\UsersPeer::USR_USERNAME); $criteria = new \Criteria();
$criteria->add(\UsersPeer::USR_USERNAME, utf8_encode($arrayData['USR_USERNAME'])); $criteria->addSelectColumn(\UsersPeer::USR_USERNAME);
if (\UsersPeer::doCount($criteria) > 0) { $criteria->add(\UsersPeer::USR_USERNAME, utf8_encode($arrayData['USR_USERNAME']));
throw new \Exception('usr_username. '.\G::LoadTranslation('ID_USERNAME_ALREADY_EXISTS', array('USER_ID' => $arrayData['USR_USERNAME']))); if (\UsersPeer::doCount($criteria) > 0) {
throw new \Exception('usr_username. '.\G::LoadTranslation('ID_USERNAME_ALREADY_EXISTS', array('USER_ID' => $arrayData['USR_USERNAME'])));
}
if ($form['USR_USERNAME'] != '') {
$aData['USR_USERNAME'] = $form['USR_USERNAME'];
}
} }
if (isset($usrUid)) { if (isset($usrUid)) {
$form['USR_UID'] = $usrUid; $form['USR_UID'] = $usrUid;
@@ -434,9 +439,7 @@ class User
$form['USR_AUTH_USER_DN'] = ''; $form['USR_AUTH_USER_DN'] = '';
} }
$aData['USR_UID'] = $form['USR_UID']; $aData['USR_UID'] = $form['USR_UID'];
if ($form['USR_USERNAME'] != '') {
$aData['USR_USERNAME'] = $form['USR_USERNAME'];
}
if (isset($form['USR_PASSWORD'])) { if (isset($form['USR_PASSWORD'])) {
if ($form['USR_PASSWORD'] != '') { if ($form['USR_PASSWORD'] != '') {
if ($form['USR_NEW_PASS'] != $form['USR_CNF_PASS']) { if ($form['USR_NEW_PASS'] != $form['USR_CNF_PASS']) {
@@ -519,84 +522,116 @@ class User
if ($form['USR_LASTNAME'] != '') { if ($form['USR_LASTNAME'] != '') {
$aData['USR_LASTNAME'] = $form['USR_LASTNAME']; $aData['USR_LASTNAME'] = $form['USR_LASTNAME'];
} }
if ($form['USR_EMAIL'] != '') { if (isset ($form['USR_EMAIL'])) {
if (!filter_var($form['USR_EMAIL'], FILTER_VALIDATE_EMAIL)) { if ($form['USR_EMAIL'] != '') {
throw new \Exception('usr_email. '.\G::LoadTranslation('ID_INCORRECT_EMAIL')); if (!filter_var($form['USR_EMAIL'], FILTER_VALIDATE_EMAIL)) {
} else { throw new \Exception('usr_email. '.\G::LoadTranslation('ID_INCORRECT_EMAIL'));
$aData['USR_EMAIL'] = $form['USR_EMAIL']; } else {
$aData['USR_EMAIL'] = $form['USR_EMAIL'];
}
} }
} }
if ($form['USR_DUE_DATE'] != '') { if (isset ($form['USR_DUE_DATE'])) {
$dueDate = explode("-", $form['USR_DUE_DATE']); if ($form['USR_DUE_DATE'] != '') {
if (ctype_digit($dueDate[0])) { $dueDate = explode("-", $form['USR_DUE_DATE']);
if (checkdate($dueDate[1], $dueDate[2], $dueDate[0]) == false) { if (ctype_digit($dueDate[0])) {
throw new \Exception('usr_due_date. '.\G::LoadTranslation('ID_MSG_ERROR_DUE_DATE')); if (checkdate($dueDate[1], $dueDate[2], $dueDate[0]) == false) {
throw new \Exception('usr_due_date. '.\G::LoadTranslation('ID_MSG_ERROR_DUE_DATE'));
} else {
$aData['USR_DUE_DATE'] = $form['USR_DUE_DATE'];
}
} else { } else {
$aData['USR_DUE_DATE'] = $form['USR_DUE_DATE']; throw new \Exception('usr_due_date. '.\G::LoadTranslation('ID_MSG_ERROR_DUE_DATE'));
} }
} else {
throw new \Exception('usr_due_date. '.\G::LoadTranslation('ID_MSG_ERROR_DUE_DATE'));
} }
} }
$aData['USR_UPDATE_DATE'] = date('Y-m-d H:i:s'); $aData['USR_UPDATE_DATE'] = date('Y-m-d H:i:s');
if ($form['USR_STATUS'] != '') { if (isset ($form['USR_STATUS'])) {
$aData['USR_STATUS'] = $form['USR_STATUS']; if ($form['USR_STATUS'] != '') {
$aData['USR_STATUS'] = $form['USR_STATUS'];
}
} }
if ($form['USR_ROLE'] != '') { if (isset ($form['USR_ROLE'])) {
require_once (PATH_RBAC_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "Roles.php"); if ($form['USR_ROLE'] != '') {
$oCriteria = new \Criteria('rbac'); require_once (PATH_RBAC_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "Roles.php");
$oCriteria->add(\RolesPeer::ROL_CODE, $form['USR_ROLE']); $oCriteria = new \Criteria('rbac');
$oDataset = \RolesPeer::doSelectRS($oCriteria); $oCriteria->add(\RolesPeer::ROL_CODE, $form['USR_ROLE']);
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC); $oDataset = \RolesPeer::doSelectRS($oCriteria);
$oDataset->next(); $oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
if ($oDataset->getRow()) { $oDataset->next();
if ($oDataset->getRow()) {
$aData['USR_ROLE'] = $form['USR_ROLE'];
} else {
throw new \Exception('usr_role. Invalid value for field.');
}
$this->updateUser($aData, $form['USR_ROLE']);
} else {
$this->updateUser($aData);
}
}
if (isset ($form['USR_COUNTRY'])) {
if ($form['USR_COUNTRY'] != '') {
$oReplacedBy = \IsoCountryPeer::retrieveByPK($form['USR_COUNTRY']);
if (is_null($oReplacedBy)) {
throw new \Exception('Invalid value for usr_country: '.$form['USR_COUNTRY']);
} else {
$aData['USR_COUNTRY'] = $form['USR_COUNTRY'];
$aData['USR_CITY'] = '';
$aData['USR_LOCATION'] = '';
}
}
}
if (isset ($form['USR_CITY'])) {
if ($form['USR_CITY'] != '') {
$oCity = \IsoSubdivisionPeer::retrieveByPK($form['USR_COUNTRY'], $form['USR_CITY']);
if (is_null($oCity)) {
throw new \Exception('Invalid value for usr_city: '.$form['USR_CITY']);
} else {
$aData['USR_CITY'] = $form['USR_CITY'];
}
}
}
if (isset ($form['USR_LOCATION'])) {
if ($form['USR_LOCATION'] != '') {
$oLocation = \IsoLocationPeer::retrieveByPK($form['USR_COUNTRY'], $form['USR_LOCATION']);
if (is_null($oLocation)) {
throw new \Exception('Invalid value for usr_location: '.$form['USR_LOCATION']);
} else {
$aData['USR_LOCATION'] = $form['USR_LOCATION'];
}
}
}
if (isset ($form['USR_ADDRESS'])) {
$aData['USR_ADDRESS'] = $form['USR_ADDRESS'];
}
if (isset ($form['USR_PHONE'])) {
$aData['USR_PHONE'] = $form['USR_PHONE'];
}
if (isset ($form['USR_FAX'])) {
$aData['USR_FAX'] = $form['USR_FAX'];
}
if (isset ($form['USR_CELLULAR'])) {
$aData['USR_CELLULAR'] = $form['USR_CELLULAR'];
}
if (isset ($form['USR_ZIP_CODE'])) {
$aData['USR_ZIP_CODE'] = $form['USR_ZIP_CODE'];
}
if (isset ($form['USR_POSITION'])) {
$aData['USR_POSITION'] = $form['USR_POSITION'];
}
if (isset ($form['USR_ROLE'])) {
if ($form['USR_ROLE'] != '') {
$aData['USR_ROLE'] = $form['USR_ROLE']; $aData['USR_ROLE'] = $form['USR_ROLE'];
} else {
throw new \Exception('usr_role. Invalid value for field.');
}
$this->updateUser($aData, $form['USR_ROLE']);
} else {
$this->updateUser($aData);
}
if ($form['USR_COUNTRY'] != '') {
$oReplacedBy = \IsoCountryPeer::retrieveByPK($form['USR_COUNTRY']);
if (is_null($oReplacedBy)) {
throw new \Exception('Invalid value for usr_country: '.$form['USR_COUNTRY']);
} else {
$aData['USR_COUNTRY'] = $form['USR_COUNTRY'];
$aData['USR_CITY'] = '';
$aData['USR_LOCATION'] = '';
} }
} }
if ($form['USR_CITY'] != '') { if (isset ($form['USR_ROLE'])) {
$oCity = \IsoSubdivisionPeer::retrieveByPK($form['USR_COUNTRY'], $form['USR_CITY']); if ($form['USR_REPLACED_BY'] != '') {
if (is_null($oCity)) { $oReplacedBy = \UsersPeer::retrieveByPK($form['USR_REPLACED_BY']);
throw new \Exception('Invalid value for usr_city: '.$form['USR_CITY']); if (is_null($oReplacedBy)) {
} else { throw new \Exception('usr_replaced_by:'.$form['USR_REPLACED_BY'].' '.\G::LoadTranslation('ID_AUTHENTICATION_SOURCE_INVALID'));
$aData['USR_CITY'] = $form['USR_CITY']; } else {
} $aData['USR_REPLACED_BY'] = $form['USR_REPLACED_BY'];
} }
if ($form['USR_LOCATION'] != '') {
$oLocation = \IsoLocationPeer::retrieveByPK($form['USR_COUNTRY'], $form['USR_LOCATION']);
if (is_null($oLocation)) {
throw new \Exception('Invalid value for usr_location: '.$form['USR_LOCATION']);
} else {
$aData['USR_LOCATION'] = $form['USR_LOCATION'];
}
}
$aData['USR_ADDRESS'] = $form['USR_ADDRESS'];
$aData['USR_PHONE'] = $form['USR_PHONE'];
$aData['USR_ZIP_CODE'] = $form['USR_ZIP_CODE'];
$aData['USR_POSITION'] = $form['USR_POSITION'];
if ($form['USR_ROLE'] != '') {
$aData['USR_ROLE'] = $form['USR_ROLE'];
}
if ($form['USR_REPLACED_BY'] != '') {
$oReplacedBy = \UsersPeer::retrieveByPK($form['USR_REPLACED_BY']);
if (is_null($oReplacedBy)) {
throw new \Exception('usr_replaced_by:'.$form['USR_REPLACED_BY'].' '.\G::LoadTranslation('ID_AUTHENTICATION_SOURCE_INVALID'));
} else {
$aData['USR_REPLACED_BY'] = $form['USR_REPLACED_BY'];
} }
} }
if (isset($form['USR_AUTH_USER_DN'])) { if (isset($form['USR_AUTH_USER_DN'])) {