mirror of
https://codeberg.org/angestoepselt/homepage.git
synced 2025-05-24 14:46:16 +00:00
Add toggle for turning the application form on an off
This commit is contained in:
parent
38c95df9d9
commit
04b43c6660
6 changed files with 25 additions and 3 deletions
|
|
@ -35,6 +35,7 @@ RUN apk add --no-cache lighttpd && \
|
||||||
COPY --from=build /build/dist /www/
|
COPY --from=build /build/dist /www/
|
||||||
COPY cgi-bin /cgi-bin/
|
COPY cgi-bin /cgi-bin/
|
||||||
COPY sites/${SITE}/httpd.conf /httpd.conf
|
COPY sites/${SITE}/httpd.conf /httpd.conf
|
||||||
|
COPY sites/${SITE}/_data/config.json /config.json
|
||||||
|
|
||||||
# Patch the lighttpd config file. These placeholders expect a Nix derivation
|
# Patch the lighttpd config file. These placeholders expect a Nix derivation
|
||||||
# path, so the Python binary used in the end is at @python@/bin/python. The
|
# path, so the Python binary used in the end is at @python@/bin/python. The
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import mimetypes
|
||||||
import re
|
import re
|
||||||
import os
|
import os
|
||||||
import secrets
|
import secrets
|
||||||
|
import json
|
||||||
from typing import Any, Optional, overload
|
from typing import Any, Optional, overload
|
||||||
|
|
||||||
import itsdangerous
|
import itsdangerous
|
||||||
|
|
@ -25,6 +26,13 @@ def fail(status: str, reason: str) -> None:
|
||||||
exit(0)
|
exit(0)
|
||||||
|
|
||||||
|
|
||||||
|
try:
|
||||||
|
with open("/config.json", "r") as config_file:
|
||||||
|
CONFIG = json.load(config_file)
|
||||||
|
except IOError:
|
||||||
|
CONFIG = {}
|
||||||
|
|
||||||
|
|
||||||
HONEYPOT_FIELD_NAME = "addressline1"
|
HONEYPOT_FIELD_NAME = "addressline1"
|
||||||
|
|
||||||
SITE_DIRECTORY = os.environ.get("SITE_DIRECTORY", "")
|
SITE_DIRECTORY = os.environ.get("SITE_DIRECTORY", "")
|
||||||
|
|
@ -57,6 +65,8 @@ else:
|
||||||
signed_csrf_token = serializer.dumps(csrf_token)
|
signed_csrf_token = serializer.dumps(csrf_token)
|
||||||
|
|
||||||
form_disabled = request_uri.startswith("/anmelden")
|
form_disabled = request_uri.startswith("/anmelden")
|
||||||
|
if request_uri.startswith("/computer-beantragen/privat") and CONFIG.get("applicationsClosed"):
|
||||||
|
form_disabled = True
|
||||||
|
|
||||||
match os.environ.get("REQUEST_METHOD", "").upper():
|
match os.environ.get("REQUEST_METHOD", "").upper():
|
||||||
case "GET":
|
case "GET":
|
||||||
|
|
|
||||||
3
sites/angestoepselt/_data/config.json
Normal file
3
sites/angestoepselt/_data/config.json
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"applicationsClosed": true
|
||||||
|
}
|
||||||
|
|
@ -17,6 +17,9 @@ Auf dieser Seite kannst du einen Antrag einreichen, um einen Computer von uns zu
|
||||||
erhalten. Bitte teile uns zunächst deine Kontaktdaten mit.
|
erhalten. Bitte teile uns zunächst deine Kontaktdaten mit.
|
||||||
|
|
||||||
<form method="post" action="/computer-beantragen/privat" enctype="multipart/form-data">
|
<form method="post" action="/computer-beantragen/privat" enctype="multipart/form-data">
|
||||||
|
{% if config.applicationsClosed %}
|
||||||
|
<fieldset disabled="disabled" class="blanked-out-form">
|
||||||
|
{% endif %}
|
||||||
<label class="form-input">
|
<label class="form-input">
|
||||||
<span>Name:</span>
|
<span>Name:</span>
|
||||||
<input type="text" name="contactname" required placeholder="Vorname Nachname" />
|
<input type="text" name="contactname" required placeholder="Vorname Nachname" />
|
||||||
|
|
@ -37,7 +40,6 @@ Welches Gerät würdest du gerne von uns erhalten?
|
||||||
<div class="form-input">
|
<div class="form-input">
|
||||||
<label for="hardware-bare-laptop">Laptop ohne Akku</label>
|
<label for="hardware-bare-laptop">Laptop ohne Akku</label>
|
||||||
</div>
|
</div>
|
||||||
<fieldset disabled="disabled" class="blanked-out-form">
|
|
||||||
<input type="radio" id="hardware-laptop" class="radio-input" name="hardware" required disabled value="Laptop" />
|
<input type="radio" id="hardware-laptop" class="radio-input" name="hardware" required disabled value="Laptop" />
|
||||||
<div class="form-input">
|
<div class="form-input">
|
||||||
<label for="hardware-laptop">
|
<label for="hardware-laptop">
|
||||||
|
|
@ -45,7 +47,6 @@ Welches Gerät würdest du gerne von uns erhalten?
|
||||||
<em>Aktuell nicht verfügbar | Voraussichtlich erst wieder ab Juni</em>
|
<em>Aktuell nicht verfügbar | Voraussichtlich erst wieder ab Juni</em>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
|
||||||
|
|
||||||
Damit du einen Computer von uns erhalten kannst, benötigen wir von dir einen
|
Damit du einen Computer von uns erhalten kannst, benötigen wir von dir einen
|
||||||
Nachweis der Bedürftigkeit. Das ist eines dieser Papiere, die von offiziellen
|
Nachweis der Bedürftigkeit. Das ist eines dieser Papiere, die von offiziellen
|
||||||
|
|
@ -116,4 +117,8 @@ installiert. Es gibt ein Programm zum Schreiben
|
||||||
<div class="form-submit">
|
<div class="form-submit">
|
||||||
<input type="submit" value="Abschicken" />
|
<input type="submit" value="Abschicken" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{% if config.applicationsClosed %}
|
||||||
|
</fieldset>
|
||||||
|
{% endif %}
|
||||||
</form>
|
</form>
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,9 @@ Wir schaffen Zugang in die digitale Welt
|
||||||
<a href="/computer-beantragen">
|
<a href="/computer-beantragen">
|
||||||
<div>
|
<div>
|
||||||
<h3>Computer bekommen</h3>
|
<h3>Computer bekommen</h3>
|
||||||
<em class="inline-callout">Aktuell keine Notebooks verfügbar. Nur Desktop Computer und Notebooks ohne Akku.</em>
|
{% if config.applicationsClosed %}
|
||||||
|
<em class="inline-callout">Aktuell nur eingeschränkt verfügbar.</em>
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<svg class="action-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 219 175">
|
<svg class="action-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 219 175">
|
||||||
<linearGradient id="emphasis-gradient-sun" class="emphasis-gradient">
|
<linearGradient id="emphasis-gradient-sun" class="emphasis-gradient">
|
||||||
|
|
|
||||||
1
sites/coderdojo/_data/config.json
Normal file
1
sites/coderdojo/_data/config.json
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
{}
|
||||||
Loading…
Add table
Reference in a new issue