Meilleure gestion des permissions
Il n'est plus possible de modifier l'attribut `is_superuser` dans
l'interface admin. les membres du burô ne doivent plus être super-
utilisateurs en prévision de l'arrivée de l'appli K-Fêt.
Pour donner les permissions adéquates au burô, il faut créer un groupe
COF avec tous les droits sur les applis `gestioncof` et `bda` ainsi que
les droits sur les d'utilisateurs et ajouter les membres du burô à ce groupe.
Fix#62
See merge request !75
Seul les superusers ont le contrôle sur les groupes et permissions.
Un membre du burô est automatiquement ajouté au groupe COF, lui même
créé automatiquement s'il n'existe pas.
Il n'est plus possible de modifier l'attribut `is_superuser` dans
l'interface admin. les membres du burô ne doivent plus être super-
utilisateurs en prévision de l'arrivée de l'appli K-Fêt.
Pour donner les permissions adéquates au burô, il faut créer un groupe
COF avec tous les droits sur les applis `gestioncof` et `bda` ainsi que
les droits sur les d'utilisateurs et ajouter les membres du burô à ce groupe.
À 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.