feat(alta): borrador, pre-llenado desde cotización y liga remota de firma

- Borradores por vendedor (guardar/continuar/eliminar), se limpia al registrar
- Pre-llenado con ?cotizacion=<id> (cliente, contacto, proyecto, montos);
  botón 'Iniciar alta' en Mis cotizaciones del cotizador
- Liga remota pública /client/firma/<token> (JWT scope firma-remota, 72h,
  rate limit, solo datos mínimos sin PLD): firma digital + subida de
  documentos que prende checkboxes en Monday Apartado
- Tokens de liga no sirven como sesión y viceversa
- Tests: api 228, alta 82, cotizador 82
This commit is contained in:
2026-08-28 07:29:22 +00:00
parent 4f31d1c171
commit 59944668a8
18 changed files with 1589 additions and 33 deletions

View File

@@ -134,6 +134,18 @@ export function useAltaCliente() {
const anterior = () => setPaso((p) => Math.max(p - 1, 0))
const irAPaso = (p: number) => setPaso(p)
/** Restaura el estado completo (p. ej. desde un borrador) y salta a un paso */
const restaurar = (nuevosDatos: ReturnType<typeof estadoInicial>, pasoDestino = 0) => {
setDatos(nuevosDatos)
setPaso(pasoDestino)
}
/** Vuelve al estado inicial (alta nueva) */
const reiniciar = () => {
setDatos(estadoInicial())
setPaso(0)
}
return {
paso,
siguiente,
@@ -142,6 +154,8 @@ export function useAltaCliente() {
datos,
alta,
actualizar,
restaurar,
reiniciar,
agregarDocumento,
quitarDocumento,
}