À l'inscription on contraint les noms d'utilisateurs à dépasser 8
caractères seulement à la création de nouveaux utilisateurs pour
garantir la rétrocompatibilité.
On peut inscrire les utilisateurs aux différents clubs du COF. Le
formulaire d'inscription est inclus dans la page
“inscription d'un nouveau membre”.
À réfléchir comment ajouter des infos supplémentaires : chèque des caution,
commentaires, etc.
Lors de la création d'un compte exté via la vue `/registration` (i.e. compte
non associé à un clipper), deux champs sont ajoutés au formulaire pour la
création d'un mot de passe.
Il est toujours possible de changer ce mot de passe via l'admin s'il est perdu
par l'utilisateur.
- Ajout d'un FIXME dans `gestioncof/forms.py` au niveua de la surcharge de
la méthode privée `_construct_form` : ce trick ne sera plus nécessaire à
partir de Django 1.9
- Utilisation correcte des `form.is_valid` dans `gestioncof.views.registration`
- Changements mineurs dans `AdminEventForm`
- Ajout d'une base pour le formset : `BaseEventRegistrationFormset`
- Adaptation des vues de l'inscription et suppression d'une vue inutile.
- Le lien vers l'inscription à un tirage BdA disparaît après sa fermeture
- Les liens “mes places” et “revente” n'apparaissent qu'après la fermeture du
tirage.
- Le lien vers les ratios des demandes est déplacé dans la partie “Gestion des
tirages” pour servir d'archive au BdA.
Fixes#55
- La vue d'édition du profil n'est plus accessible aux non-COF
- Le calendrier dynamique étant réservé aux adhérents, le lien vers
l'inscription est caché aux non-adhérents.
- Séparation du compte root des autres comptes
- Mise à jour en fonction des derniers changements de la BDD :
- Les dates des events deviennent des datetime
- Changement de nom dans bda.models.Tirage : token -> tokens
- Changement dans les dates de spectacles pour se situer dans l'année
2016-2017
Ajout d'un calendrier dynamique
Ce patch propose aux adhérents du COF de télécharger un calendrier
dynamique (`.ics`).
Il est configurable :
- On peut s'abonner ou non aux événements du COF.
- On peut choisir les spectacles auxquels on veut s'abonner.
- Une checkbox permet d'ajouter d'un coup les spectacles pour lesquels on a obtenu une place
- On peut en ajouter d'autres
Pour faire fonctionner ce patch, il faut installer la bibliothèque python `icalendar` :
pip install --upgrade -r requirements.txt
Fixes#20Fixes#14
See merge request !63
- Indique a l'utilisateur comment utiliser le calendrier
- Utilise l'ORM Django plutôt que des `set` python pour avoir la bonne
liste des spectacles.
- Rajoute un lien vers le calendrier sur la page “mes places”
Plus besoin de s'authentifier pour accéder au calendrier : il suffit
d'entrer la bonne url qui contient un token aléatoire propre à chaque
utilisateur.
Ce token ne change pas lorsqu'on modifie son inscription
- Typos dans les modèles
- Choix d'un `OneToOneField` dans `CalendarSubscription`
- Suppressions d'un `except` catch-all
- Amélioration de la vue calendar
`gestioncof.views.registration` was using an `event` variable that was
not properly defined. Due to a semantics oddity of python2, the value
used was from a previous and (somewhat) unrelated list comprehension.
Ce patch propose aux adhérents du COF de télécharger un calendrier
dynamique (`.ics`).
Il est configurable :
- On peut s'abonner ou non aux événements du COF.
- On peut choisir les spectacles auxquels on veut s'abonner.
Rend GestioCOF compatible avec python 3. En particulier, il s'agit de :
- Utiliser la version "fonction" de `print` dans `sync_clipper` et
`tirage_bda`, avec le `from __future__ import print_function` pour
garder la compatibilité avec python 2
- Utiliser de l'unicode par défaut, même en python 2, avec
`from __future__ import unicode_literals` et le décorateur de
compatibilité `python_2_unicode_compatible` de Django pour les
modèles, comme décrit à
https://docs.djangoproject.com/en/1.9/topics/python3/#str-and-unicode-methods
- Utiliser `six.text_type` à la place de `unicode`
Fixes#2.
Tobast/pep8
Modification du code pour le rendre valide PEP8. J'avais beaucoup trop de rouge sur mon écran :D
Entre autres :
* 80 colonnes
* " = " → "=" pour les paramètres nommés de fonctions
* indentation
De plus, `$ pep8 {.,apache,bda,cof,gestioncof}/*.py` ne renvoie aucune erreur, et `python manage.py runserver` se lance sans raler. Les quelques pages que j'ai chargé au hasard se sont bien portées.
See merge request !57
Taken MR comments into account:
* `and` is considered a binary operator, thus put at the beginning of the line when splitting a line,
* same for `+`,
* same for `.` (different reasons).
Liens vers la liste des participants à un tirage
Ces nouveaux liens sont sur la page d'accueil dans la partie BdA en
bas de l'écran.
Fixes#37
See merge request !48
Corrige des urls
- Les urls vers les évéments et sondage avaient un `survey`/`event`
de trop : `/survey/survey/1`.
- On ajoute un `^` dans lers urls de `gestioncof.urls` pour demander
des urls exactes : `export/mega` et non `export/trucmega`
See merge request !47
- Les urls vers les évéments et sondage avaient un `survey`/`event`
de trop : `/survey/survey/1`.
- On ajoute un `^` dans lers urls de `gestioncof.urls` pour demander
des urls exactes : `export/mega` et non `export/trucmega`
Répare un lien vers une image.
Dans la vue qui affiche la liste des demandes de petits cours, l'image
`image/none.png` ne s'affichait pas à cause d'un lien invalide.
See merge request !46
Répare les sondages
Cause de l'erreur :
Lors du déplacement des formulaires vers de fichiers différents, une
méthode du formulaire des sondages a été oubliée.
Erreur localisée dans 65667f6652Fixes#42
See merge request !37
Cause de l'erreur :
Lors du déplacement des formulaires vers de fichiers différents, une
méthode du formulaire des sondages a été oubliée.
Erreur localisée dans 65667f6652
Kerl/fusion bda
Ce patch fusionne les trois applications `bda`, `bda2`, `bda3` existantes en une seule qui peut gérer autant de tirage que souhaité par le BdA.
Après avoir appliqué ce patch, il est nécessaire d'effectuer les migrations qui vont avec : `python manage.py migrate`
Fixes#3
See merge request !17
- Les tirages ont un champ `active` pour indiquer si le tirage doit
être affiché ou considéré comme archivé.
- La page d'accueil n'affiche que les tirages actifs.
- Le formulaire d'inscription ne propose plus que les spectacles du
tirage concerné.
GestioCOF utilisait une implémentation locale du module `csv` compatible
avec `unicode`. Il existe un module PyPy du même nom qui fait la même
chose, autant l'utiliser (par ailleurs, il fonctionne plus sainement
avec Python 3).
Précédemment, GestioCOF utilisait django-cas, qui n'est plus maintenu.
Ceci le remplace par django-cas-ng, un fork plus récent et maintenu.
En particulier, django-cas-ng est compatible avec Python 3,
contrairement à django-cas.
Les CSS, JS et Images sont désormais dans des dossiers
`$app/static/{css/js/images}` où `$app` désigne l'application qui les utilise,
en l'occurrence `gestioncof`, `bda`, `bda2` et `bda3`.