administrador.orm.adm_usuario.filtro.21.15.0 - gamboamartin/administrador GitHub Wiki
filtro
Este método se utiliza para generar un filtro basado en los datos de acción, grupo y sección.
Signatura
private function filtro(string $adm_accion, int $adm_grupo_id, string $adm_seccion): array
Parámetros
$adm_accion (string): La acción para la cual se desea aplicar el filtro.
$adm_grupo_id (int): El ID del grupo al que pertenecen los permisos que se desean filtrar.
$adm_seccion (string): La sección para la cual se desea aplicar el filtro.
Retorna
- array: Retorna un array que contiene el filtro generado.
Explicación Detallada
-
Validación de la acción:
- Se utiliza la función
trim()
para eliminar espacios en blanco alrededor de la acción. - Se verifica si la acción está vacía. Si lo está, se retorna un mensaje de error utilizando el objeto
error
.
- Se utiliza la función
-
Validación de la sección:
- Se utiliza la función
trim()
para eliminar espacios en blanco alrededor de la sección. - Se verifica si la sección está vacía. Si lo está, se retorna un mensaje de error utilizando el objeto
error
.
- Se utiliza la función
-
Validación del ID del grupo:
- Se verifica si el ID del grupo es mayor que cero. Si no lo es, se retorna un mensaje de error utilizando el objeto
error
.
- Se verifica si el ID del grupo es mayor que cero. Si no lo es, se retorna un mensaje de error utilizando el objeto
-
Generación del filtro:
- Se crea un array llamado
$filtro
que contendrá las condiciones del filtro. - Se asignan las condiciones del filtro basadas en los parámetros proporcionados y el estado activo de las entidades.
- Se crea un array llamado
-
Retorno:
- Se retorna el array
$filtro
que contiene el filtro generado.
- Se retorna el array
Ejemplos
// Ejemplo: Generación de un filtro para la consulta de permisos
$accion = 'editar';
$grupo_id = 1;
$seccion = 'usuarios';
$filtro_permisos = $objeto->filtro($accion, $grupo_id, $seccion);
echo "Filtro generado para la consulta de permisos:";
print_r($filtro_permisos);
Código de la Función
private function filtro(string $adm_accion, int $adm_grupo_id, string $adm_seccion): array
{
$adm_accion = trim($adm_accion);
if($adm_accion === ''){
return $this->error->error(mensaje: 'Error adm_accion esta vacia',data: $adm_accion, es_final: true);
}
$adm_seccion = trim($adm_seccion);
if($adm_seccion === ''){
return $this->error->error(mensaje: 'Error adm_seccion esta vacia',data: $adm_seccion, es_final: true);
}
if($adm_grupo_id <= 0){
return $this->error->error(mensaje: 'Error adm_grupo_id debe ser mayor a 0',data: $adm_grupo_id);
}
$filtro['adm_grupo.id'] = $adm_grupo_id;
$filtro['adm_accion.descripcion'] = $adm_accion;
$filtro['adm_grupo.status'] = 'activo';
$filtro['adm_accion.status'] = 'activo';
$filtro['adm_seccion.descripcion'] = $adm_seccion;
$filtro['adm_seccion.status'] = 'activo';
return $filtro;
}