コード例 #1
0
 /**
  *
  *Este metodo asigna permisos a un rol. Cada vez que se llame a este metodo, se asignaran estos permisos a los usuarios que pertenezcan a este rol.
  *
  * @param id_permiso int Arreglo de ids de los permisos que seran asignados al rol
  * @param id_rol int Id del rol al que se le asignaran los permisos
  **/
 public static function AsignarPermisoRol($id_permiso, $id_rol)
 {
     Logger::log("Asignando permiso " . $id_permiso . " al rol " . $id_rol);
     //Se valida que el permiso exista en la base de datos
     if (is_null(PermisoDAO::getByPK($id_permiso))) {
         Logger::error("El permiso con id: " . $id_permiso . " no existe");
         throw new Exception("El permiso no existe", 901);
     }
     //Se valida que el rol exista en la base de datos
     if (is_null(RolDAO::getByPK($id_rol))) {
         Logger::error("El rol con id: " . $id_rol . " no existe");
         throw new Exception("El rol no existe", 901);
     }
     //Se obtiene la lisa de usuarios que pertenecen a este rol
     $usuarios = UsuarioDAO::search(new Usuario(array("id_rol" => $id_rol)));
     DAO::transBegin();
     try {
         //Por cada uno de los usuarios como usuario, se valida si el usuario este activo.
         //Si lo esta, se le asigna el permiso que se le esta asignando al rol.
         foreach ($usuarios as $usuario) {
             if ($usuario->getActivo()) {
                 PermisoUsuarioDAO::save(new PermisoUsuario(array("id_permiso" => $id_permiso, "id_usuario" => $usuario->getIdUsuario())));
             }
         }
         //Se guarda el permiso al rol.
         PermisoRolDAO::save(new PermisoRol(array("id_permiso" => $id_permiso, "id_rol" => $id_rol)));
     } catch (Exception $e) {
         DAO::transRollback();
         Logger::error("No se pudo asignar el permiso al rol: " . $e);
         throw new Excpetion("No se pudo asignar el permiso al rol, consulte a su administrador de sistema");
     }
     DAO::transEnd();
     Logger::log("Permiso asignado exitosamente");
 }
コード例 #2
0
function funcion_permiso($id_permiso)
{
    return PermisoDAO::getByPK($id_permiso) ? PermisoDAO::getByPK($id_permiso)->getPermiso() : "-----";
}