- 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.
61 lines
2.9 KiB
HTML
61 lines
2.9 KiB
HTML
{{template "arriba" .}}
|
|
|
|
<section class="pantalla" aria-label="Pedir una fecha">
|
|
<h2>Pedir una fecha</h2>
|
|
<ul class="pedir-reglas">
|
|
<li>Entre el <strong>{{.Primero.Legible}}</strong> y el <strong>{{.Ultimo.Legible}}</strong>.</li>
|
|
{{- if .EsExternas}}
|
|
<li>Cada evento es de un colectivo de fuera: poned cuál y un contacto suyo.</li>
|
|
<li>La asamblea de externas no tiene cupo. La fecha queda en naranja hasta que la asamblea de la Enre la confirme.</li>
|
|
{{- else}}
|
|
<li>Como mucho <strong>{{.Reglas.CupoDias}} días por colectivo</strong> en esos {{.Reglas.MesesVentana}} meses. Os quedan {{.Restantes}}.</li>
|
|
<li>Si el evento es de un colectivo de fuera, decid cuál: vuestro colectivo lo amadrina y responde por él.</li>
|
|
{{- end}}
|
|
<li>Las fechas se piden para el finde: viernes, sábado o domingo.</li>
|
|
</ul>
|
|
|
|
<form class="pedir-form" method="post" action="/pedir/nueva">
|
|
<input type="hidden" name="csrf" value="{{.CSRF}}">
|
|
<p>
|
|
<label for="titulo">Nombre del evento</label>
|
|
<input id="titulo" name="titulo" type="text" required maxlength="80" value="{{.Sol.Titulo}}">
|
|
</p>
|
|
<p>
|
|
<label for="desde">Primer día</label>
|
|
<input id="desde" name="desde" type="date" required
|
|
min="{{.Primero}}" max="{{.Ultimo}}" value="{{.Sol.Desde}}">
|
|
</p>
|
|
<p>
|
|
<label for="hasta">Último día</label>
|
|
<input id="hasta" name="hasta" type="date"
|
|
min="{{.Primero}}" max="{{.Ultimo}}" value="{{.Sol.Hasta}}">
|
|
<span class="pista">Dejadlo vacío si es un solo día.</span>
|
|
</p>
|
|
<p>
|
|
<label for="hora">Hora de inicio</label>
|
|
<input id="hora" name="hora" type="time" value="{{.Sol.Hora}}">
|
|
</p>
|
|
<p>
|
|
{{- if .EsExternas}}
|
|
<label for="amadrinado">Colectivo de fuera</label>
|
|
<input id="amadrinado" name="amadrinado" type="text" required maxlength="80" value="{{.Sol.Amadrinado}}">
|
|
{{- else}}
|
|
<label for="amadrinado">Colectivo de fuera al que amadrináis</label>
|
|
<input id="amadrinado" name="amadrinado" type="text" maxlength="80" value="{{.Sol.Amadrinado}}">
|
|
<span class="pista">Vacío si el evento es vuestro.</span>
|
|
{{- end}}
|
|
</p>
|
|
<p>
|
|
<label for="contacto">Contacto de ese colectivo</label>
|
|
<input id="contacto" name="contacto" type="text" maxlength="120" value="{{.Sol.Contacto}}">
|
|
<span class="pista">Correo o teléfono de quien responde por ellos.</span>
|
|
</p>
|
|
<p>
|
|
<label for="notas">Notas para la asamblea</label>
|
|
<textarea id="notas" name="notas" rows="4" maxlength="500">{{.Sol.Notas}}</textarea>
|
|
</p>
|
|
<p><button type="submit">Pedir la fecha</button></p>
|
|
</form>
|
|
</section>
|
|
|
|
{{template "abajo" .}}
|