KFetGroup model
- Provides a distinction from non-kfet Groups.
- Convert code appropriately.
- Initially filled from Groups containing K-Fêt (this was the previous
distinction) in the kfetauth.0002 migration.
Permission proxy model (kfetauth app)
- Proxy of the django.contrib.auth Permission model.
- Adds the 'kfet' manager which returns only kfet-related permissions.
KeepUnselectableModelFormMixin
- Helps to keep the unselectable items of many-to-many field for
ModelForm.
- 'kfetauth' forms (related to KFetGroup) use this mixin.
Using KFetGroup allows to simplify the 'kfet/account_group_form.html' template.
A bug is also fixed in 'kfet/form_field_snippet.html', which could lead to
prevent field displays if they used CheckboxSelectMultiple widget.
Setup de développement local
Développement sans Vagrant
- Ajoute un fichier de settings pour développer en local sans vagrant :
'cof/settings/local.py'. Il s'agit du fichier utilisé par défaut
si 'DJANGO_SETTINGS_MODULE' n'est pas dans l'environnement.
- Simplifie le README en conséquence.
Vagrant
La conf de production étant en cours de modification, on répercute ici
certaines de ces modifications.
- Front server: passe à nginx (à la place de apache).
- DB: passe à postgresql (à la place de mysql).
- La conf nginx sert le site (port 8080) derrière '/gestion/', à
l'exception des fichiers 'static' et 'media'.
- Ajout de `SERVER_EMAIL` dans les secrets pour pouvoir l'éditer en
production.
- Changement de `STATIC_ROOT` en production.
See merge request !242
Status is mainly computed in Python. That fix inconsistent datetime between
client and server.
Client only receives status and keep timestamp of last received ws msg.
kfet.open app
- Base data (raw_open, last_update...) is stored and shared through cache system.
- 2 websockets groups: one for team users, one for other users.
- UI is initialized and kept up-to-date with WS.
- raw_open and force_close can be updated with standard HTTP requests.
At this time, there isn't any restriction on raw_open view. Common sense tell us
to change this behavior.
Misc
- Clean channels routing.
- 'PermConsumerMixin': user who sent the message is available as argument in
connection_groups method, which returns groups to which the user should be
appended on websocket connection (and discarded on disconnection).
- New kfet.utils module: should be used for mixins, whatever is useful and not concerns
the kfet app.
- Clean JS dependencies.
Copie des mails de rappel pour le BdA
* Le BdA est en copie des mails de rappel (création d'un utilisateur générique BdA à cette fin)
* Un lien vers la page d'envoi manuel des mails de rappel est ajouté à la page qui récapitule les situations des participants au spectacle
* Quelques modification mineures de cette page
* Un test très simple vérifie que les pages mentionnées plus haut sont accessibles à un utilisateur COF authentifié
See merge request !238