Commit graph

127 commits

Author SHA1 Message Date
Basile Clement a5ee17d0b5 Lance les tests de gestioCOF sur gitlab-ci 2016-11-13 15:16:57 +01:00
Basile Clement 567c9a0a6d Meilleur affichage des dates
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.
2016-11-12 11:00:18 +01:00
Basile Clement a63f1da2e1 Mise à jour de django_debug_toolbar 2016-11-06 19:48:11 +01:00
Basile Clement d77a4dde3e GestioCOF devrait fonctionner sur / aussi bien que sur /gestion 2016-11-06 19:47:31 +01:00
Martin Pépin 0cca9f0861 Mise à jour de django_debug_toolbar 2016-11-06 15:39:14 +01:00
Martin Pépin b40fc6204f Changements mineurs
- Suppression de la variable `ALLOWED_HOSTS` de `cof/settings.dev` de
sorte quand django utilise le default (qui est adapté à notre usage)
- Correction d'indentation
- Suppression d'un "-e" dans le fichier `requirements.txt`
2016-11-05 22:01:38 +01:00
Martin Pépin 1a6b86703a Merge branch 'master' into Kerl/settings_syntax 2016-10-03 01:58:55 +02:00
Aurélien Delobelle d559549c06 Fix oubli auth backend kfet_genericteam user dans settings_dev 2016-09-29 23:17:42 +02:00
Martin Pépin 7abdccfbdb Meilleure gestion des données mails
Les valeurs de champs FROM, REPLY-TO et BCC des mails envoyés par
GestioCOF sont enregistrées dans un dictionnaire `settings.MAIL_DATA`
plutôt que d'être toutes enregistrées comme variables indépendantes
2016-09-27 17:57:53 +02:00
Ludovic Stephan 103b2880f7 BdA 2016-09-27 16:57:39 +02:00
Ludovic Stephan 7984eb132b Merge branch 'master' of https://git.eleves.ens.fr/cof-geek/gestioCOF into Aufinal/bda_revente 2016-09-26 15:56:35 +02:00
Martin Pépin 3bf4e6ae06 Modif pour la production
- Suppression du dossier `apache` devenu inutile.
- On utilise `cof.settings` dans le fichier `asgi.py` par défaut
- Correction dans les urls du fichier de settings en lien avec les
nouvelles urls en `/gestion/...`
2016-09-24 21:46:35 +02:00
Martin Pépin bd3d67dd13 Merge branch 'Kerl/prefix_urls' 2016-09-24 19:04:13 +02:00
Martin Pépin 38bb59b004 Permet l'ajout d'un préfixe dans les urls 2016-09-24 19:03:48 +02:00
Martin Pépin f37bdd90b7 Crée un setup proche de celui en production
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 ""`
2016-09-12 16:49:37 +02:00
Ludovic Stephan 7f2717c10c Merge branch 'master' of https://git.eleves.ens.fr/cof-geek/gestioCOF into Aufinal/bda_revente 2016-09-11 14:15:38 +02:00
Martin Pépin 9979072c13 Config redis
Le provisionning ajoute un mot de passe sur le serveur redis
2016-09-11 13:49:10 +02:00
Ludovic Stephan 0282f62886 Merge branch 'master' of https://git.eleves.ens.fr/cof-geek/gestioCOF into Aufinal/bda_revente 2016-09-08 16:29:42 +02:00
Aurélien Delobelle 9236ab0a77 ajout django-widget-tweaks 2016-09-03 16:29:32 +02:00
Ludovic Stephan dbd81ac625 Merge branch 'master' of https://git.eleves.ens.fr/cof-geek/gestioCOF into Aufinal/bda_revente 2016-09-03 01:39:33 +02:00
Aurélien Delobelle cbf9018bb9 Ajout password redis-server 2016-09-01 01:58:46 +02:00
Martin Pépin 3d25d1ab77 Merge branch 'master' into k-fet 2016-08-31 23:52:31 +02:00
Martin Pépin f25243b082 Ajout d'une vue : membres d'un club
- Liste des membres inscrits à un club.
- Vue accessible aux membres du burô et aux respos des clubs concernés.
2016-08-23 18:57:59 +02:00
Aurélien Delobelle 1ad265ef0f Fix 404 widget media
Avec ça, ça marche. Mais si qqn trouve mieux, et bien c'est bien
2016-08-21 16:30:22 +02:00
Aurélien Delobelle 8507072c8f Auth spéciale
- Le backend d'auth K-Fêt est étendu pour aussi identifier une personne
  dans le cas dans d'un formulaire en récupérant le password contenu
  dans l'input de nom `KFETPASSWORD`
- Le middleware d'auth K-Fêt enregistre l'utilisateur connecté de
  manière normale dans `request.real_user`
- Ajout d'un processeurs de contextes `kfet.context_processors.auth` qui
  qui remplace `user` et `perms` par l'utilisateur connecté de manière
  normale (`request.real_user`) et non celui connecté temporairement
- Modification de la vue de modif d'un compte pour s'adapter à l'auth
- Modification du template de modification d'un compte pour utiliser ce
  moyen d'authentification
- Séparation du JS conservant le côté gauche d'une page à l'écran
- Séparation de l'encart gauche contenant les infos d'un comtpe dans un
  autre template (`left_account`) pour l'utiliser dans `account_read` et `account_update`
- `base_nav` utilise user (qui est donc le vrai utilisateur connecté) au
  lieu de `request.user` qui peut aussi bien être le vrai utilisateur
qu'un utilisateur temporaire
2016-08-20 23:31:30 +02:00
Aurélien Delobelle 3e96932a5b Authentification K-Psul
Si une (des) permission(s) sont nécessaires pour enregistrer/annuler des
opérations, une demande d'authentification apparaît où l'utilisateur
doit mettre le mot de passe d'un compte ayant la (les) permission(s)
requise(s).

Ce mot de passe est envoyé dans la requête AJAX via le header
`KFetPassword`.
Le middleware `KFetAuthenticationPassword` est appelée à chaque requête.
Il appelle lui même le backend `KFetBackend` qui est chargé de
retrouver le user dont le compte K-Fêt correspond au mot de passe défini
dans le header `KFETPASSWORD`.
Si le header n'est pas présent ou
qu'aucun utilisateur ne correspond à ce mot de passe, le middleware ne
fait... rien !
Dans le cas où un user est trouvé, il est "chargé" dans
`request.user` permettant ainsi de connecter l'utilisateur pour ce cycle
requête/réponse sans déconnecter l'utilisateur connecté de manière
normale.
2016-08-19 06:20:37 +02:00
Aurélien Delobelle 7c2a18bb5d Ajout de channels 2016-08-14 20:31:22 +02:00
Aurélien Delobelle 8256c96ffb K-Psul - Historique + synchronisation
- Ajoute l'affichage de l'historique dans K-Psul
- Ajoute la synchronisation du montant des caisses et de l'historique
  entre les interfaces K-Psul ouvertes par le package 'channels' et
  l'utilisation de websockets
- Corrige l'obligation de l'article sur K-Psul (pas d'article pour les
  charges et retraits)
- Corrige type renvoyé par perms_to_perform_operations
- Rangement de js.cookie.js dans static/kfet/js/
- Ajout de dépendances
2016-08-14 19:59:36 +02:00
Aurélien Delobelle 43d938edd0 initial 2016-08-02 10:40:46 +02:00
Martin Pépin 7020d6a646 Merge branch 'master' into Kerl/deprec 2016-07-30 00:27:59 +02:00
Martin Pépin 2632c9dff8 Merge branch 'master' into Kerl/calendar 2016-07-29 20:17:04 +02:00
Ludovic Stephan 5b18eace20 send mail 2016-07-29 01:50:08 +02:00
Qwann fa4308b91e Merge branch 'master' of git.eleves.ens.fr:cof-geek/gestioCOF into qwann/zolicss 2016-07-20 18:36:09 +02:00
Martin Pépin 55ae827304 Réécrit les urls
En accord avec
https://docs.djangoproject.com/en/1.9/releases/1.8/#passing-a-string-as-view-to-url
2016-07-18 18:46:48 +02:00
Martin Pépin 3d0e9d32c3 Merge branch 'master' into Kerl/calendar 2016-07-16 18:28:20 +02:00
Martin Pépin 8af49a1020 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.
2016-07-15 01:06:33 +02:00
Basile Clement 210c6d7712 Update Py3 compat 2016-07-15 00:20:08 +02:00
Basile Clement 21b8b6042f Compatibilité python 3
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.
2016-07-14 23:40:31 +02:00
Qwann 29a125f4e4 Merge branch 'master' of git.eleves.ens.fr:cof-geek/gestioCOF into qwann/zolicss 2016-07-11 22:56:55 +02:00
Qwann e92295ee12 home fini, début du reste 2016-07-11 21:48:11 +02:00
Martin Pépin f6d3106110 Merge branch 'master' into Kerl/mails_rappel 2016-07-10 13:19:10 +02:00
Théophile Bastian f177ef93af Style and security changes
According to MR discussion.
2016-07-09 23:55:03 +01:00
Théophile Bastian cd73d4e96d Ajout de MEDIA_{ROOT,URL} 2016-07-09 23:53:06 +01:00
Théophile Bastian 88bccc0e60 PEP8: Enforced other rules, including 80 cols 2016-07-09 21:39:11 +01:00
Théophile Bastian c7a3656ded PEP8: fixed ' = ' → '=' on parameters
'unexpected spaces around keyword / parameter equals'
2016-07-09 20:19:37 +01:00
Martin Pépin d97708a2ee Merge branch 'master' into Kerl/mails_rappel 2016-07-08 21:53:21 +02:00
ludo 93e7fbf87d redirige admin/logout vers /logout 2016-06-23 18:07:01 +02:00
Martin Pépin a2701f6727 Merge branch 'master' into Kerl/mails_rappel 2016-06-11 00:32:07 +02:00
Martin Pépin 22b30fe87a Corrige l'url après déplacement de la vue 2016-06-11 00:25:40 +02:00
Basile Clement 0caaf88a78 Merge branch 'Kerl/move_urls' into 'master'
Sépare les urls entre les différentes apps

Ajoute des commentaires dans `cof/urls` qui donnent des indications sur
les groupes d'urls.
Enjolive le code

See merge request !24
2016-06-10 23:38:02 +02:00
Martin Pépin ab8afc000a Déplace la config des mails bda dans settings.py 2016-06-10 23:33:52 +02:00
Martin Pépin b222c944f6 Change la redirection après '/outsider/logout'
On change `/gestion/` en `home` qui fait la même chose mais fonctionne
à la fois en dev et en prod.
2016-06-10 23:16:39 +02:00
Martin Pépin 031712d840 Merge branch 'master' into Kerl/mails_rappel 2016-06-10 02:03:21 +02:00
Martin Pépin 34fc334987 Ajoute le backend 'console' pour les mails en dev. 2016-06-10 00:49:04 +02:00
Martin Pépin 8ab7fac3be Premier jet pour les mails de rappel
La vue `bda.mails.send_rappel/<id>` envoie des mails aux participants
du spectacle référencé par `<id>`. Elle doit être déclenchée
manuellement.

Le template du mail est dans `bda/templates/mail-rappel.txt`. Tant que
GestioCOF ne sait pas si les spectacles sont sur listing ou non, il
reste une partie pas très belle.
2016-06-10 00:43:48 +02:00
Martin Pépin 6dfe363717 Merge master 2016-06-09 01:58:03 +02:00
Martin Pépin 12118a6161 Fixe la vue de changement de mot de passe
La vue par défaut cherchait l'url `password_change_done`. Ce fix
créer un alias `password_change_done` qui pointe vers la bonne vue.
2016-06-09 01:17:54 +02:00
Martin Pépin 8142ef2ee5 Sépare les urls entre les différentes apps
Ajoute des commentaires dans `cof/urls` qui donnent des indications sur
les groupes d'urls.
Enjolive le code
2016-06-08 22:28:38 +02:00
Martin Pépin 9728384629 Réparation des dernières vues
- Les liens utiles du BdA affichent tous les tirages en cours.
- La listes des spectacles s'affiche
2016-06-06 18:43:56 +02:00
Martin Pépin 7c8f63d756 Corrections dans les urls 2016-06-06 00:13:10 +02:00
Martin Pépin fa7de0b7c7 Adaptation des vues aux nouveaux modèles 2016-06-05 02:18:12 +02:00
Martin Pépin ac641a5d95 Suppression de deux lignes vides inutiles 2016-06-04 13:30:48 +02:00
Martin Pépin 12dfe20313 Supprime des imports inutiles
Les application `bda2` et `bda3` n'existent plus, le fichier `urls.py` y
faisait encore référence.
2016-06-03 14:35:38 +02:00
Martin Pépin 1fc6afca07 Oubli : suppression de bda{2,3} de INSTALLED_APPS 2016-06-03 14:16:41 +02:00
Martin Pépin e270855823 Merge branch 'master' into Kerl/fusion_bda
Résolution des conflits :

* Suppression des applis `bda2` et `bda3`
* Choix d'une date arbitraire pour le début du tirage
2016-06-03 13:57:04 +02:00
Martin Pépin 8f05489c5d Merge branch 'Elarnon/django_cas_ng' 2016-06-03 12:32:10 +02:00
Basile Clement 21641c9468 Migration vers django_cas_ng
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.
2016-06-03 01:19:37 +02:00
Basile Clement 01891bfd6c Enlève eav-django qui n'est plus utilisé
Fixes #5.
2016-06-03 01:17:44 +02:00
Basile Clement 498fa2809b Merge branch 'Kerl/useless' into 'master'
Suppression des apps rezo et pads

Ce patch supprime les applications vierges non utilisées `rezo` et `pads`.

See merge request !12
2016-06-03 00:56:11 +02:00
Clément Pascutto d1d00742ad Précise le codage de cof/settings_dev.py 2016-06-03 00:34:36 +02:00
Martin Pépin f01bcfa562 Enlève les applications inutiles des settings 2016-06-01 16:23:56 +02:00
Martin Pépin 4858fe0fb7 Modification des urls 2016-06-01 16:08:15 +02:00
Basile Clement 7f18b2f698 Affiche la debug-toolbar dans Vagrant
Ce patch enlève la vérification faite par django-debug-toolbar pour ne
s'afficher que si l'IP source est dans l'option de configuration
INTERNAL_IPS. Ceci permet son fonctionnement avec Vagrant.

Fixes #8.
2016-05-27 01:06:37 +02:00
Basile Clement f627916784 Revert "Affiche la debug-toolbar dans Vagrant"
This reverts commit 3074071dff.
2016-05-27 01:06:04 +02:00
Basile Clement 3074071dff Affiche la debug-toolbar dans Vagrant
Ce patch enlève la vérification faite par django-debug-toolbar pour ne
s'afficher que si l'IP source est dans l'option de configuration
INTERNAL_IPS. Ceci permet son fonctionnement avec Vagrant.

Fixes #8.
2016-05-27 01:04:35 +02:00
Basile Clement 1bd92f7ff7 Ajoute un environnement de développement
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.
2016-05-26 20:52:03 +02:00
Guillaume Seguin 392be324f6 Commit gore : premier push vers git.eleves 2016-05-21 23:57:36 +02:00