Files
whatsapp/modules/turnero/api/resetear_consentimiento.php
Lizandro GuarnizoandClaude Sonnet 4.6 fcfdcccba9 fix(consentimiento): resetear firma conserva datos_respuestas para re-firma
El usuario puede modificar y volver a firmar sin perder lo llenado.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-29 20:49:23 -05:00

38 lines
1.1 KiB
PHP

<?php
/**
* POST /modules/turnero/api/resetear_consentimiento.php
* Descarta firma y datos de un consentimiento → estado 'enviado' para re-firma.
* Body JSON: { token: string }
*/
require_once __DIR__ . '/_helpers.php';
requireMethod('POST');
requireTurnero();
$body = inputJson();
$token = trim($body['token'] ?? '');
if (!$token) jsonError('token requerido.');
$pdo = db();
$stmt = $pdo->prepare(
"SELECT tc.id, t.sesion_id
FROM turnero_consentimientos tc
JOIN turnero_turnos t ON t.id = tc.turno_id
WHERE tc.token = ? LIMIT 1"
);
$stmt->execute([$token]);
$tc = $stmt->fetch(PDO::FETCH_ASSOC);
if (!$tc) jsonError('Consentimiento no encontrado.', 404);
$pdo->prepare(
"UPDATE turnero_consentimientos
SET estado = 'enviado',
firma_svg = NULL,
firmado_at = NULL,
firma_profesional_svg = NULL,
firmado_profesional_at = NULL
WHERE token = ?"
)->execute([$token]);
notificarSSE((int)$tc['sesion_id']);
jsonOk([], 'Consentimiento reiniciado correctamente.');