Merged in bugfix/HOR-4201 (pull request #6245)

HOR-4201

Approved-by: Julio Cesar Laura Avendaño <contact@julio-laura.com>
This commit is contained in:
Marco Antonio Nina Mena
2017-12-22 16:09:49 +00:00
committed by Julio Cesar Laura Avendaño
parent fbd4438ddd
commit ae28e48861
5 changed files with 371 additions and 316 deletions

View File

@@ -401,6 +401,38 @@ class RbacUsers extends BaseRbacUsers
return $array;
}
/**
* Verify if user have the permission
*
* @param string $userUid
* @param string $permission
*
* @return bool
* @throws Exception
*/
public function verifyPermission($userUid, $permission)
{
try {
$criteria = new Criteria('rbac');
$criteria->clearSelectColumns();
$criteria->add(PermissionsPeer::PER_CODE, $permission, Criteria::EQUAL);
$criteria->addJoin(UsersRolesPeer::ROL_UID, RolesPermissionsPeer::ROL_UID, Criteria::LEFT_JOIN);
$criteria->addJoin(RolesPermissionsPeer::PER_UID, PermissionsPeer::PER_UID, Criteria::LEFT_JOIN);
$criteria->add(UsersRolesPeer::USR_UID, $userUid, Criteria::EQUAL);
$response = false;
$permission = PermissionsPeer::doSelectOne($criteria);
if ($permission) {
$response = true;
}
return $response;
} catch (Exception $error) {
throw($error);
}
}
}
// Users