Commit graph

13 commits

Author SHA1 Message Date
c2db12a735 add simple (ngi) favicon to fedi panel, fixes 404 not found error (#167)
Reviewed-on: Fediversity/Fediversity#167
Reviewed-by: Valentin Gagarin <valentin.gagarin@tweag.io>
Co-authored-by: Kiara Grouwstra <kiara@procolix.eu>
Co-committed-by: Kiara Grouwstra <kiara@procolix.eu>
2025-02-19 23:10:33 +01:00
92563d387a test login/logout redirection (#163)
this concludes Fediversity/Fediversity#72 with a test covering most of the user story.

test in the devshell:
```
manage test panel
```

test in full isolation:
```
nix-build -A tests
```

Reviewed-on: Fediversity/Fediversity#163
Reviewed-by: kiara Grouwstra <kiara@procolix.eu>
2025-02-19 23:07:51 +01:00
59122901ce make login link part of global navigation
this makes navigation uniform and the information architecture easier to
reason about
2025-02-19 15:43:45 +01:00
fc586273dc implement login URL as templatetag
this eases testing as it allows generating that URL inside a test
instead of scraping HTML output
2025-02-19 15:40:51 +01:00
65782c65ba add debug toolbar 2025-02-18 18:25:37 +01:00
857e1b12f5 add more fresh-start instructions (#151)
Reviewed-on: Fediversity/Fediversity#151
Reviewed-by: kiara Grouwstra <kiara@procolix.eu>
2025-02-18 18:21:58 +01:00
a3365eb508 more conventional naming for views and templates 2025-02-18 17:29:06 +01:00
73c9c884d7 redirect to current page after login/logout 2025-02-18 17:15:55 +01:00
ed4912800f Add page showing account info
Co-authored-by: lois <lois@procolix.eu>
Co-authored-by: Kiara Grouwstra <kiara.grouwstra@gmail.com>
2025-02-18 15:44:15 +01:00
ffd6213549 Add login indicator 2025-02-18 11:01:09 +01:00
Kiara Grouwstra
ec4e802124
add .envrc files 2025-02-13 14:48:21 +01:00
f97dc7e121 fix settings and add dummy view
This introduces customisation to `settings.py` that
- allow controlling the relevant parameters from our systemd wrapper
  (more brittle and non-obvious than it should be, see TODOs)
- correctly configure SASS processing and static file compression
  (not as easy as it sounds)
2025-02-13 00:26:28 +01:00
7c33e8aaf3 scaffold Django web service
This setup is greatly inspired by the one used for [0], although with
notable modifications, such as:
- a SASS preprocessor and CSS compressor
- more streamlined NixOS integration tests
- cleaned up service configuration
- a few notes on how to do things better in the future

[0]: https://github.com/Nix-Security-WG/nix-security-tracker/

Apart from cloning the Nix setup, there were additional steps:
- Create an empty `src` directory, since the package requires it
- In the development shell, run `django-admin startproject panel src`

Note that while you can already do

```bash
manage migrate
manage runserver
```

the NixOS integration tests will fail, since `settings.py` needs
careful massaging to expose knobs that can be turned from our systemd
wrapper. The required changes are introduced in the next commit to make
them observable.

Noteworthy related work:

- https://github.com/sephii/django.nix

  Rather mature setup with a clean interface, uses Caddy as reverse proxy.

- https://git.dgnum.eu/mdebray/djangonix

  A work-in-progress attempt to capture more moving parts through the
  module system, in particular secrets.

- https://github.com/DavHau/django-nixos

  Out of date and somewhat simplistic, but serves as a reasonable
  example for what can be done

I chose the variant I'm intimately familiar with in order to be able to
pass on knowledge or help with maintenance. But for the future
I strongly recommend picking the good bits from the other
implementations that control complexity in static configuration parts
through Nix expressions.
2025-02-13 00:26:28 +01:00