ENRE_WEB/gestor/plantillas/mis-fechas.tmpl.html
SITO 7d5dbeec60 Cuenta de externas, arreglos de seguridad, títulos arriba y despliegue
- Rol «externas» para la asamblea de externas: pide sin cupo, siempre con el
  colectivo de fuera y su contacto, y sus solicitudes salen en naranja hasta
  que la asamblea de la Enre las confirma.
- /pedir/ explica en una línea que los colectivos externos piden fecha en la
  asamblea de externas, los lunes de 19:00 a 20:00.
- Seguridad: argon2 limitado a dos cálculos a la vez y el intento se cuenta
  antes de calcular (60 accesos simultáneos llevaban el proceso a 3,8 GB);
  bloqueo por cuenta a 20 fallos para que no se pueda dejar fuera a la
  asamblea; avisos por sesión en vez de por URL; sig sin «..»; eventos de
  31 días como mucho; parámetros de argon2 acotados.
- Títulos pegados arriba en todas las páginas; la franja de la enredadera
  recupera ese alto para seguir llenando la pantalla.
- despliegue/: instalar.sh, cuenta.sh, servicio de systemd con el proceso
  encerrado, fragmento de nginx que además deja de servir .git y las notas
  internas, y configuración de ejemplo. Ninguna contraseña en el repositorio.
2026-09-23 12:15:33 +02:00

73 lines
2.9 KiB
HTML

{{template "arriba" .}}
<section class="pantalla" aria-label="Vuestro cupo">
{{- if .EsExternas}}
<h2>Asamblea de externas</h2>
<p class="pie">
Aquí se apuntan los eventos de colectivos de fuera que se hablan en la asamblea de
externas. No hay cupo. Quedan en naranja hasta que la asamblea de la Enre los confirme.
Se pueden pedir fechas hasta el {{.Hasta}}.
</p>
{{- else}}
<h2>Vuestro cupo</h2>
<p class="pie">
Os quedan <strong>{{.Restantes}}</strong> de {{.Reglas.CupoDias}} días dentro de los
próximos {{.Reglas.MesesVentana}} meses. Se pueden pedir fechas hasta el {{.Hasta}}.
{{- if .DiasUsados}} Ahora mismo ocupáis {{.DiasUsados}}.{{end}}
</p>
{{- end}}
<p><a class="pedir-boton" href="/pedir/nueva">Pedir una fecha</a></p>
</section>
<section class="pantalla" aria-label="Vuestras fechas">
<h2>Vuestras fechas</h2>
{{- if .Mias}}
<div class="tabla-envoltorio">
<table class="pedir-tabla">
<thead>
<tr>
<th scope="col">Fecha</th>
<th scope="col">Evento</th>
<th scope="col">Estado</th>
<th scope="col">Caduca</th>
<th scope="col"><span class="sr-only">Acciones</span></th>
</tr>
</thead>
<tbody>
{{- range .Mias}}
<tr>
<td>
{{.Legible}}{{if gt .Dias 1}} <span class="pista">({{.Dias}} días)</span>{{end}}
{{- if .Evento.Hora}}<br><span class="pista">a las {{.Evento.Hora}}</span>{{end}}
</td>
<td>
{{.Evento.Titulo}}
{{- if .Evento.Externo}}<br><span class="pista">amadrináis a {{.Evento.Amadrinado}}</span>{{end}}
</td>
<td><span class="estado estado-{{.Evento.Estado}}{{if .Externas}} estado-externas{{end}}">{{.Etiqueta}}</span></td>
<td>{{if .Caduca}}{{.Caduca}}{{else}}—{{end}}</td>
<td>
{{- if .Liberable}}
<form method="post" action="/pedir/liberar">
<input type="hidden" name="csrf" value="{{$.CSRF}}">
<input type="hidden" name="id" value="{{.Evento.ID}}">
<button type="submit" class="pedir-boton-flojo">Liberar</button>
</form>
{{- end}}
</td>
</tr>
{{- end}}
</tbody>
</table>
</div>
<p class="pie">
Una solicitud sin confirmar se borra sola a los {{.Reglas.DiasMaximoPendiente}} días,
o cuando falten menos de {{.Reglas.DiasMinimoConfirmar}} para la fecha. La columna
«caduca» dice cuándo, y al caducar la fecha queda libre para el resto.
</p>
{{- else}}
<p class="pie">No tenéis ninguna fecha pedida.</p>
{{- end}}
</section>
{{template "abajo" .}}