This is a much more sensible name since it contains configuration
applicable to both GestioCOF and GestioBDS.
The next logical step would be to rename the `gestioncof/` folder to
`cof/`.
On CI:
- black and isort in check mode must pass.
- flake8 only prints errors
WIP: make it also failed.
On pre-commit:
- black and isort will format staged files, if installed on path.
- flake8 prints its output if necessary.
K-Fêt
- Integrate wagtail to serve "static" pages of old K-Fêt website
- Fixture "kfetcms/kfet_wagtail_17_05" contains a copy of old website
(as in May 2017).
- Media files can be got until end of June 17 at
http://partage.eleves.ens.fr//files/604e6dea2ceebc66b1936c6b3f911744/kfet_media.tar.gz
Login/logout
- Update package django_cas_ng to last version.
- Clean COFCASBackend.
- Change CAS version to 3 (version used on eleves.ens). This enables
the logout redirection (for CAS ofc).
- Add messages and clean existing ones on login/logout (for both
outsider and cas users).
Misc
- Update settings to bypass an incompability between debug-toolbar and
wagtailmenus packages.
- Better management of dev/test-specific urls (if debug-toolbar wasn't in
INSTALLED_APPS, media files were not served).
- UI improvements.
Kerl/fix dev data
Les données de développement sont désormais réparties entre deux fixtures et un commande django-admin.
- Fixtures
- `gestion` : sondages, événéments, matières de petits cours et deux demandes de petits cours.
- `sites` : le site pour l'application `sites`.
- La commande `loaddevdata` : elle se découpe en deux parties.
- La première dont le code est dans `gestioncof/management/commands/loaddevdata.py` charge les utilisateurs dans la base de données et les inscrits aux petits cours. Si l'argument `--no-root` est passé, l'utilisateur privilégié `root` n'est pas créé.
- La deuxième, `loadbdadevdata` est appelée par la première. Elle instancie deux tirages et y inscrit tous les utilisateurs puis lance le premier tirage.
Comme on peut le constater dans `provisioning/prepare_django.sh`, les commandes à appeler pour setup l'environnement de dev sont
python manage.py loaddata gestion sites
python manage.py loaddevdata
Pour augmenter la liste des données à importer, compléter les fichiers contenus dans `{gestioncof,bda}/management/data/`
See merge request !160
On fait tourner GestioCOF avec daphne derrière un reverse-proxy Apache
sur la VM Vagrant tout comme sur le serveur de production. On peut tester
en local GestioCOF en “conditions réelles”.
Le serveur lancé avec `python manage.py runserver 0.0.0.0:8000` est toujours
accessible à la même url `localhost:8000`.
Le (nouveau) serveur apache est accessible à `localhost:8080`.
Pour appliquer les changements dans le code au serveur type prod, il faut
relancer le worker : `sudo supervisorctl restart worker`. Alors que le serveur
de dev se relance tout seul.
NB important : ce patch supprime le mot de passe sur le serveur redis en dev,
pour faire marcher ce nouveau setup avec un version précédente de la VM, il faut
lancer `sudo redis-cli config set requirepass ""`
Ce commit ajoute une configuration Vagrant permettant d'avoir un
environnement de développement facile à installer et réutilisable (cf
README.md).
En particulier :
- Vagrantfile est un fichier qui décrit une machine virtuelle Vagrant.
La configuration est assez proche des défauts, et n'introduit que
deux différences : les ports 8000 et 80 sont bindés sur les ports
8000 et 8080 (respectivement) sur la machine hôte, et le script
`provisioning/bootstrap.sh` est utilisé pour configurer une nouvelle
machine virtuelle.
- provisioning/bootstrap.sh est un script shell qui s'occupe
d'installer les paquets nécessaire et de configurer la machine
virtuelle pour que GestioCOF fonctionne.
- cof/settings_dev.py est un fichier de configuration minimal
permettant de faire fonctionner GestioCOF, configuré pour être
utilisé avec Vagrant mais facilement adaptable.