kfet.tests.testcases embed mixins for TestCase:
- TestCaseMixin provides assertion helpers,
- ViewTestCaseMixin provides a few basic tests, which are common to
every view.
kfet.tests.utils provides helpers for users and permissions management.
Each kfet view get a testcase (at least very basic) in
kfet.tests.test_views.
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
Move event-related models from 'cof' app to 'gestion' app.
Add 'Association' model to register name, related groups (buro,
members), etc.
Club is now associated with a single Association instance.
Migrations take care of these changes.
Profile view
- Let the user see his information.
- List the clubs whose he is a member.
Profile edition view
- Renamed from previous "profile" view
- User can now change "occupation" field.
Club detail view
- Informations about a club.
- Accessible by staff members and "respos" of the club.
- List members, with subscription fee (if applicable).
Club admin
- Change memberships of clubs added.
- Nested inlines
- Limiting access to the events : you can only edit/create events linked to
associations you for which you have the `<assoc>.buro` permission.
BDS + COF
The permissions assignation is triggered by the `post_migrate` signal since the
permission table will only be populated after the migrations have been applied.
- Mark more strings for further translations
- in verbose names
- in the __str__ method
- Turn all verbose names into lowercase
- Add more verbose names
- Set an ordering on gestion.EventCommentField
- More database constraints on EventCommentValue
- `TextField` is not nullable
(https://docs.djangoproject.com/en/1.11/ref/models/fields/#null)
- `unique_together` constraint on the two fk
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.