Se adicionan validaciones a PMUSER

This commit is contained in:
Freddy Daniel Rojas Valda
2014-02-14 17:00:03 -04:00
parent e6a93a902a
commit 1aad759033
2 changed files with 40 additions and 18 deletions

View File

@@ -211,6 +211,12 @@ class User
require_once (PATH_TRUNK . "workflow" . PATH_SEP . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "Users.php"); require_once (PATH_TRUNK . "workflow" . PATH_SEP . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "Users.php");
$arrayData = array_change_key_case($arrayData, CASE_UPPER); $arrayData = array_change_key_case($arrayData, CASE_UPPER);
$form = $arrayData; $form = $arrayData;
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'));
}
}
if (isset($arrayData['USR_UID'])) { if (isset($arrayData['USR_UID'])) {
$form['USR_UID'] = $arrayData['USR_UID']; $form['USR_UID'] = $arrayData['USR_UID'];
} else { } else {
@@ -255,11 +261,15 @@ class User
} else { } else {
$aData['USR_LASTNAME'] = $form['USR_LASTNAME']; $aData['USR_LASTNAME'] = $form['USR_LASTNAME'];
} }
if ($form['USR_EMAIL'] == '') {
throw new \Exception('`usr_email`. E-mail is required');
} else {
if (!filter_var($form['USR_EMAIL'], FILTER_VALIDATE_EMAIL)) { if (!filter_var($form['USR_EMAIL'], FILTER_VALIDATE_EMAIL)) {
throw new \Exception('`usr_email`. '.\G::LoadTranslation('ID_INCORRECT_EMAIL')); throw new \Exception('`usr_email`. '.\G::LoadTranslation('ID_INCORRECT_EMAIL'));
} else { } else {
$aData['USR_EMAIL'] = $form['USR_EMAIL']; $aData['USR_EMAIL'] = $form['USR_EMAIL'];
} }
}
if ($form['USR_DUE_DATE'] == '') { if ($form['USR_DUE_DATE'] == '') {
throw new \Exception('`usr_due_date`. '.\G::LoadTranslation('ID_MSG_ERROR_DUE_DATE')); throw new \Exception('`usr_due_date`. '.\G::LoadTranslation('ID_MSG_ERROR_DUE_DATE'));
} else { } else {
@@ -280,14 +290,17 @@ class User
$aData['USR_AUTH_USER_DN'] = $form['USR_AUTH_USER_DN']; $aData['USR_AUTH_USER_DN'] = $form['USR_AUTH_USER_DN'];
$statusWF = $form['USR_STATUS']; $statusWF = $form['USR_STATUS'];
if ($form['USR_STATUS'] == '') { if ($form['USR_STATUS'] == '') {
throw new \Exception('`usr_status`. '.\G::LoadTranslation('ID_SOME_FIELDS_REQUIRED')); throw new \Exception('`usr_status`. User status is required');
} else { } else {
if ($form['USR_STATUS'] == 'ACTIVE' || $form['USR_STATUS'] == 'INACTIVE' || $form['USR_STATUS'] == 'VACATION') { if ($form['USR_STATUS'] == 'ACTIVE' || $form['USR_STATUS'] == 'INACTIVE' || $form['USR_STATUS'] == 'VACATION') {
$aData['USR_STATUS'] = $form['USR_STATUS']; $aData['USR_STATUS'] = $form['USR_STATUS'];
} else { } else {
throw new \Exception('`usr_status`. Invalid value for field.'); throw new \Exception('`usr_status`. Invalid value for status field.');
} }
} }
if ($form['USR_ROLE'] == '') {
throw new \Exception('`usr_role`. User role is required');
} else {
$oCriteria = new \Criteria('rbac'); $oCriteria = new \Criteria('rbac');
$oCriteria->add(\RolesPeer::ROL_CODE, $form['USR_ROLE']); $oCriteria->add(\RolesPeer::ROL_CODE, $form['USR_ROLE']);
$oDataset = \RolesPeer::doSelectRS($oCriteria); $oDataset = \RolesPeer::doSelectRS($oCriteria);
@@ -297,7 +310,8 @@ class User
if ($oDataset->getRow()) { if ($oDataset->getRow()) {
$aData['USR_ROLE'] = $form['USR_ROLE']; $aData['USR_ROLE'] = $form['USR_ROLE'];
} else { } else {
throw new \Exception('`usr_role`. Invalid value for field.'); throw new \Exception('`usr_role`. Invalid value for role field.');
}
} }
try { try {
if ($aData['USR_STATUS'] == 'ACTIVE') { if ($aData['USR_STATUS'] == 'ACTIVE') {
@@ -530,9 +544,14 @@ class User
if ($form['USR_ROLE'] != '') { if ($form['USR_ROLE'] != '') {
$aData['USR_ROLE'] = $form['USR_ROLE']; $aData['USR_ROLE'] = $form['USR_ROLE'];
} }
if (isset($form['USR_REPLACED_BY'])) { 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']; $aData['USR_REPLACED_BY'] = $form['USR_REPLACED_BY'];
} }
}
if (isset($form['USR_AUTH_USER_DN'])) { if (isset($form['USR_AUTH_USER_DN'])) {
$aData['USR_AUTH_USER_DN'] = $form['USR_AUTH_USER_DN']; $aData['USR_AUTH_USER_DN'] = $form['USR_AUTH_USER_DN'];
} }

View File

@@ -13,6 +13,9 @@ class User extends Api
{ {
/** /**
* @url GET * @url GET
* @param string $filter
* @param int $start
* @param int $limit
*/ */
public function doGetUsers($filter = '', $start = null, $limit = null) public function doGetUsers($filter = '', $start = null, $limit = null)
{ {