This repository has been archived on 2026-10-23. You can view files and clone it. You cannot open issues or pull requests or push a commit.
nikolark b9aebcec13 chore: Modernize frontend
- Ditch gulp and move to rspack
 - Upgrade to node v20
2025-05-31 22:34:34 +02:00
2025-05-30 11:33:40 +02:00
2025-05-31 22:34:34 +02:00
2025-05-30 11:33:40 +02:00
2025-05-31 22:34:34 +02:00
2025-05-31 22:34:34 +02:00
2025-05-31 22:34:34 +02:00
2025-05-30 11:33:40 +02:00
2025-05-30 11:36:16 +02:00
2015-06-17 21:19:42 +02:00
2025-05-30 11:33:40 +02:00
2025-05-30 11:36:16 +02:00
2025-05-30 11:33:40 +02:00

kassa

Kassa helps you register purchased membership cards and memberships. It's a tool for volunteers and bar employees at The Norwegian Student Society.

TODO

  • replace nunjucks with something that is maintained
  • autoprefixer
  • bootstrap 4.x
  • Loading state on submit buttons
  • Galtinn/LDAP auth

Installation

apt install libldap2-dev libsasl2-dev # pyldap deps
uv run manage.py migrate
uv run manage.py runserver

Development tasks

npm run build:templates  # regenerate nunjucks templates

Configuration

Create a user in Galtinn with the following permissions:

  • galtinn | User | Can view User
  • galtinn | Member card | Can change Member card
  • galtinn | Member card | Can view Member card
  • galtinn | Membership | Can add Membership
  • galtinn | Membership | Can view Membership
  • galtinn | Order | Can view Order

Fetch GALTINN_API_KEY:

curl -H "Content-Type: application/json" -X POST -d '{"username":"apiuser","password":"test"}' GALTINN_API_URL/auth/obtain-token/

If developing you can disable calls to Tekstmelding in local_settings.py:

TEKSTMELDING_ENABLED = False

LDAP

sudo docker run -e LDAP_DOMAIN=neuf.no -e LDAP_ORGANISATION="Neuf" -e LDAP_ADMIN_PASSWORD="toor" -p 389:389 -d nikolaik/openldap
ldapadd -D "cn=admin,dc=neuf,dc=no" -w "toor" -f test/testdata.ldif  # Testdata
# Verify import
ldapsearch -x -b dc=neuf,dc=no
# Login with test@example.com:test
S
Description
No description provided
Readme
1.3 MiB
0 Stars 9 Watchers 0 Forks
Languages
JavaScript 44.5%
Python 32.2%
HTML 17.7%
SCSS 4.7%
Shell 0.9%