feat(turnero): gestión de dispositivos/tablets en configuración
Sección nueva en tab Lugares con tabla CRUD de turnero_dispositivos: IP, nombre, lugar asignado, estado activo/inactivo. API save_dispositivo.php para crear/editar/eliminar. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
fb0e77523c
commit
bad3d42a92
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
/**
|
||||
* modules/turnero/api/save_dispositivo.php
|
||||
* POST {ip, nombre, lugar_id, activo} → crear
|
||||
* POST {id, ip, nombre, lugar_id, activo} → actualizar
|
||||
* POST {id, _delete: true} → eliminar
|
||||
*/
|
||||
require_once __DIR__ . '/_helpers.php';
|
||||
requireTurnero();
|
||||
requireMethod('POST');
|
||||
|
||||
$input = inputJson();
|
||||
$id = (int)($input['id'] ?? 0);
|
||||
$delete = !empty($input['_delete']);
|
||||
|
||||
if ($delete) {
|
||||
if (!$id) jsonError('ID requerido');
|
||||
db()->prepare('DELETE FROM turnero_dispositivos WHERE id = ?')->execute([$id]);
|
||||
jsonOk([], 'Dispositivo eliminado');
|
||||
}
|
||||
|
||||
$ip = trim($input['ip'] ?? '');
|
||||
$nombre = trim($input['nombre'] ?? '');
|
||||
$lugarId = (int)($input['lugar_id'] ?? 0);
|
||||
$activo = (int)($input['activo'] ?? 1);
|
||||
|
||||
if ($ip === '') jsonError('La IP es requerida');
|
||||
if ($nombre === '') jsonError('El nombre es requerido');
|
||||
if ($lugarId <= 0) jsonError('Debes asignar un lugar');
|
||||
|
||||
if ($id) {
|
||||
$stmt = db()->prepare(
|
||||
'UPDATE turnero_dispositivos SET ip=?, nombre=?, lugar_id=?, activo=? WHERE id=?'
|
||||
);
|
||||
$stmt->execute([$ip, $nombre, $lugarId, $activo, $id]);
|
||||
jsonOk(['id' => $id], 'Dispositivo actualizado');
|
||||
} else {
|
||||
$stmt = db()->prepare(
|
||||
'INSERT INTO turnero_dispositivos (ip, nombre, lugar_id, activo) VALUES (?, ?, ?, ?)
|
||||
ON DUPLICATE KEY UPDATE nombre=VALUES(nombre), lugar_id=VALUES(lugar_id), activo=VALUES(activo)'
|
||||
);
|
||||
$stmt->execute([$ip, $nombre, $lugarId, $activo]);
|
||||
jsonOk(['id' => (int)db()->lastInsertId()], 'Dispositivo creado');
|
||||
}
|
||||
Reference in New Issue
Block a user