Inloggen mislukte met DJANGO_SECURE=1 achter een reverse proxy die TLS
afhandelt, terwijl het inlogscherm zelf wel laadde.
- nginx.conf gaf `X-Forwarded-Proto $scheme` door. Achter een TLS-proxy
komt het verzoek als http binnen, dus overschreef nginx de `https` van
de proxy met `http`. Django zag de verbinding daardoor als onveilig en
stuurde elk verzoek naar /api en /admin door naar https, waarna de
proxy het weer als http aanleverde: een oneindige redirect-lus.
- nginx neemt nu de X-Forwarded-Proto van de proxy over via een map, en
valt alleen terug op $scheme als die header ontbreekt. Werkt daardoor
zowel achter een externe proxy als bij TLS op nginx zelf.
- .env.example: voorbeelden voor CSRF-origin en frontend-URL op https
gezet, DJANGO_SECURE standaard op 1, met uitleg waarom een http-origin
het inloggen met een CSRF-fout laat stranden.
- DEPLOY.md: checklist "Draaien achter TLS" toegevoegd met de drie
vereisten (proxy-header, CSRF-origin, allowed hosts), commando's om te
controleren of de header aankomt, en het advies poort 8080 aan de
loopback te binden zodat de app niet buiten TLS om bereikbaar is.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FAQ4Np13v8fwbTtKHKnwDz
Roostermaker en roosterweergave hebben een rustiger, moderne opmaak
gekregen zonder informatie te verliezen.
- Minder geneste kaders: kolom, tijdvak, splitsing en vakkaart stapelden
vier randen; nu dragen alleen de dagkolom en de vakkaart een rand en
scheiden de rest met witruimte en haarlijnen.
- Vakkaart groeit mee met de inhoud in plaats van een vaste hoogte, zodat
lokaal, begeleiding en opmerkingen niet meer afgekapt worden.
- Meta-regel (locatie, lokaal, begeleiders) zonder pil-achtergronden;
lange vaknamen lopen door over twee regels met tooltip.
- Bewerkknoppen (vervallen, bewerken, verwijderen) staan gebundeld
rechtsboven op de kaart en verschijnen bij hover, zodat de vaknaam de
volle breedte houdt; op aanraakschermen blijven ze zichtbaar.
- Tijdvak toont nu begin- en eindtijd; lege tijdvakken in de weergave
krijgen een subtiele markering.
- Dagkop is compacter en markeert "vandaag"; dagacties verschijnen bij
hover. Diagonale arcering bij vrije dagen vervangen door een getinte
kolom met dagtype-label.
- Subgroep-vertakking en doelgroepkop in neutrale haarlijnen in plaats
van blauwe kaders.
- Conflicten met een rode rand in plaats van een harde binnenschaduw;
bij volledig gekleurde vakken blijft de vakkleur staan met rode ring.
- Toolbar, weeknavigatie, detailkeuze en scopebalk strakker uitgelijnd.
- Afdrukken meegenomen: geen sticky dagkop, neutrale randen, en bij
"vakken in kleur" kleuren lokaal en begeleiding mee.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FAQ4Np13v8fwbTtKHKnwDz