@@ -189,41 +189,49 @@ public function save() {
}
public function ctrGetAvances($id) {
-
helper('auth');
- $userName = user()->username;
- $idUser = user()->id;
- $datos = $this->request->getPost();
-
- $auth = service('authentication');
- if (!$auth->check()) {
-
- echo "No ha iniciado Session";
- return;
+ if (!service('authentication')->check()) {
+ return $this->response->setJSON(['error' => 'No ha iniciado sesión']);
}
+
$request = service('request');
+ $fields = ['id', 'idActividad', 'fecha', 'descripcion', 'porcentaje', 'horas', 'created_at', 'updated_at', 'deleted_at'];
+
+ // --- Asegurar que $id es numérico ---
+ $id = (int) $id;
+ if ($id <= 0) {
+ return $this->response->setJSON([
+ 'draw' => (int) $request->getPost('draw'),
+ 'recordsTotal' => 0,
+ 'recordsFiltered' => 0,
+ 'data' => [],
+ ]);
+ }
+
+ // --- Total de registros sin filtro de búsqueda ---
+ $totalRecords = $this->avancesActividades
+ ->where('deleted_at', null)
+ ->where('idActividad', $id)
+ ->countAllResults(); // resetea el builder
+ // --- Construir la consulta para datos paginados ---
$builder = $this->avancesActividades
- ->select('id, idActividad, fecha, descripcion, porcentaje, horas, created_at, updated_at, deleted_at')
+ ->select($fields)
->where('deleted_at', null)
->where('idActividad', $id);
- // Parámetros de DataTables
+ // Parámetros DataTables
$search = $request->getPost('search')['value'] ?? '';
- $start = (int) $request->getPost('start') ?? 0;
- $length = (int) $request->getPost('length') ?? 10;
+ $start = (int) ($request->getPost('start') ?? 0);
+ $length = (int) ($request->getPost('length') ?? 10);
$orderCol = $request->getPost('order')[0]['column'] ?? 0;
$orderDir = $request->getPost('order')[0]['dir'] ?? 'asc';
- $columns = $request->getPost('columns');
-
Comentarios
Publicar un comentario