codes:registroone
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| codes:registroone [2026/02/19 14:20] – [Inicios] ggaita | codes:registroone [2026/02/19 14:28] (actual) – ggaita | ||
|---|---|---|---|
| Línea 14: | Línea 14: | ||
| ==server.gs== | ==server.gs== | ||
| + | |||
| + | < | ||
| function doGet(e) { | function doGet(e) { | ||
| return HtmlService.createTemplateFromFile(' | return HtmlService.createTemplateFromFile(' | ||
| .evaluate() | .evaluate() | ||
| - | .setTitle(' | + | .setTitle(' |
| } | } | ||
| Línea 25: | Línea 27: | ||
| } | } | ||
| + | </ | ||
| Este módulo: | Este módulo: | ||
| Línea 35: | Línea 38: | ||
| ==index.html== | ==index.html== | ||
| + | < | ||
| < | < | ||
| <html lang=" | <html lang=" | ||
| Línea 40: | Línea 44: | ||
| <meta charset=" | <meta charset=" | ||
| <meta name=" | <meta name=" | ||
| - | < | + | < |
| <link rel=" | <link rel=" | ||
| <?!= include(' | <?!= include(' | ||
| Línea 52: | Línea 56: | ||
| <form id=" | <form id=" | ||
| <div class=" | <div class=" | ||
| - | < | + | < |
| < | < | ||
| - | <h2>Año 2026 - Primer Convocatoria</ | + | <h2>h2</ |
| - | <h3>Ministerio de Salud - Gobierno de La Pampa</ | + | <h3>h3</ |
| - | <img src="https:// | + | <img src="imagen que quieras" alt=" |
| - | < | + | < |
| </ | </ | ||
| <div class=" | <div class=" | ||
| Línea 84: | Línea 88: | ||
| </ | </ | ||
| <div class=" | <div class=" | ||
| - | <label for=" | + | <label for=" |
| <select id=" | <select id=" | ||
| <option value=""> | <option value=""> | ||
| Línea 95: | Línea 99: | ||
| <div class=" | <div class=" | ||
| <label for=" | <label for=" | ||
| - | <input type=" | + | <input type=" |
| </ | </ | ||
| <div class=" | <div class=" | ||
| Línea 125: | Línea 129: | ||
| </ | </ | ||
| </ | </ | ||
| + | </ | ||
| Este archivo es la interfaz de usuario de tu Web App, que muestra un formulario dinámico con validación básica y campos condicionales, | Este archivo es la interfaz de usuario de tu Web App, que muestra un formulario dinámico con validación básica y campos condicionales, | ||
| Línea 130: | Línea 135: | ||
| ==CSS.html== | ==CSS.html== | ||
| + | < | ||
| < | < | ||
| Línea 261: | Línea 267: | ||
| </ | </ | ||
| + | </ | ||
| Este modulo o archivo hace el estilo de la web app | Este modulo o archivo hace el estilo de la web app | ||
| Línea 266: | Línea 273: | ||
| ==JS.html== | ==JS.html== | ||
| + | < | ||
| < | < | ||
| document.getElementById(" | document.getElementById(" | ||
| Línea 432: | Línea 439: | ||
| }); | }); | ||
| </ | </ | ||
| + | </ | ||
| Este modulo: | Este modulo: | ||
| Línea 446: | Línea 454: | ||
| ==validator.gs== | ==validator.gs== | ||
| + | < | ||
| function registrarConductor(nombre, | function registrarConductor(nombre, | ||
| - | var ss = SpreadsheetApp.openById(' | + | var ss = SpreadsheetApp.openById(' |
| - | var sheet = ss.getSheetByName(' | + | var sheet = ss.getSheetByName(' |
| | | ||
| var registros = sheet.getDataRange().getValues(); | var registros = sheet.getDataRange().getValues(); | ||
| - | var MAX_CUPOS = 400; | + | var MAX_CUPOS = 400; // Puse un cupo, para tener un freno. |
| if ((registros.length - 1) >= MAX_CUPOS) { | if ((registros.length - 1) >= MAX_CUPOS) { | ||
| Línea 491: | Línea 500: | ||
| return " | return " | ||
| } | } | ||
| + | </ | ||
| Esta función es el controlador de negocio que valida cupos, previene duplicados y guarda la inscripción en Google Sheets, devolviendo estados específicos al frontend. | Esta función es el controlador de negocio que valida cupos, previene duplicados y guarda la inscripción en Google Sheets, devolviendo estados específicos al frontend. | ||
codes/registroone.1771510832.txt.gz · Última modificación: por ggaita
