Virtualenv
Ce patch introduit un virtualenv dans le setup de dev. Cela permet notamment de passer à python 3 sans
avoir à remplacer toutes ses commandes `python manage.py ...` par `python3 manage.py ...`.
Il faut relancer le provisionning de la VM pour appliquer ce patch : `vagrant reload --provision`
See merge request !109
Améliore les mails automatiques du BdA
Les mails du BdA sont maintenant tous chargés depuis des templates gérés par le système de templates de Django, et plus par de l'interpolation de chaîne de caractères. Ceci permet en particulier d'utiliser (et de configurer) la localisation de Django afin d'afficher les dates de façon uniforme (et sans "hack" à la `date_no_seconds`) dans un format comportant un "à" entre le jour et l'heure.
See merge request !113
Supprime Spectacle.__repr__
La méthode `bda.models.Spectacle.__repr__` est buggée (elle retourne
une chaîne unicode alors que `__repr__` doit *toujours* renvoyer une
chaîne ASCII) et pose des problèmes de crash lors de l’affichage
d’objets `Spectacle` dans le REPL python. La méthode `__repr__`
héritée de `django.db.models.Model` devrait être suffisante.
See merge request !112
Configure la localisation (i10n) de Django afin d’afficher un format
plus user-friendly par défaut pour les dates (par exemple, afficher
"21 septembre 2016 à 15:00" plutôt que "21 septembre 2016
15:00"). Ceci permet d’éliminer les utilisations de `date_no_seconds`
pour simplement les remplacer par l’affichage de la date, le format
par défaut étant maintenant satisfaisant.
Attention : le bon fonctionnement de ceci nécessite de changer les
settings afin d’utiliser le module `cof.locale` comme module de
localisation (définir `FORMAT_MODULE_PATH = "cof.locale"`). Le module
`cof.locale` définit le format d’affichage des dates+heures
(`DATETIME_FORMAT`) afin d’incorporer le "à" qui n'est pas présent
dans la localisation française de Django.
La méthode `bda.models.Spectacle.__repr__` est buggée (elle retourne
une chaîne unicode alors que `__repr__` doit *toujours* renvoyer une
chaîne ASCII) et pose des problèmes de crash lors de l’affichage
d’objets `Spectacle` dans le REPL python. La méthode `__repr__`
héritée de `django.db.models.Model` devrait être suffisante.
Il restait un unique email (envoyé lors de l’achat d’une place au
shotgun) dont le texte est inscrit en dur dans `bda.views`. Pour
éviter d’avoir trop de systèmes d’envoi de mails différents, il
utilise maintenant une template dans `bda/mails` comme le reste des
emails envoyés par l’application bda.
GestioCOF définit une fonction `render_template` qui permet de calculer
l'interpolation d'un gabarit en une chaîne de caractères, par exemple
pour l'envoi de mails. Ce patch supprime cette fonction et remplace son
utilisation par la fonction `django.template.loader.render_to_string` au
comportement identique.