Commit graph

59 commits

Author SHA1 Message Date
Aurélien Delobelle
9d2298a089 Merge branch 'master' into aureplop/kpsul_js_refactor
Not chill.
2017-04-04 00:51:49 +02:00
Aurélien Delobelle
a9cb50b38d Better k-fet js and more
JavaScript
----------
- Basic classes that can be inherited to define a new class for a
  django model in javascript.
- Formatters classes are used to render properties and attributes of
  the instances of models classes.
- New classes to handle Account, Checkout, Statement models.
- Refactor K-Psul JS (part n/m).
- Better file organization.

Views
-----
- 'kpsul.checkout_data' is cleaner. Last statement is added to the JSON
  response with GET paramater 'last_statement'.
- 'account.read.json' is merged in account.read. JSON response is sent if
  GET parametter 'format' is set to 'json'.
- Fix PEP8 of concerned views.

New requirement: django-js-reverse
----------------------------------
Used to resolve the URLs defined in the project in JavaScript.
See https://github.com/ierror/django-js-reverse
2017-02-23 22:07:38 +01:00
Martin Pépin
6e55905781 Merge branch 'master' into Kerl/use_django_custommail 2017-02-11 03:20:29 +01:00
Martin Pépin
993b8ae87b Merge branch 'master' into Kerl/use_django_custommail 2017-01-13 01:02:01 +01:00
Martin Pépin
540b6f38b8 Merge branch 'master' into Kerl/ldap 2017-01-09 15:47:12 +01:00
Aurélien Delobelle
792c4177ec Merge branch 'master' into k-fet 2017-01-07 00:38:54 +01:00
Martin Pépin
3c7558c853 The end of Clipper
GestioCOF fetches the clipper accounts from an LDAP database and doesn't
need to store clippers in a table anymore.
2016-12-25 11:57:50 +01:00
Martin Pépin
fe8f18ff78 Utilise django_custommail
- On installe le package depuis le dépôt COF-Geek
- On supprime tous les fichiers texte des mails
- On charge dans la bdd les mails nécessaires au fonctionnement de
  GestioCOF
- On supprime le modèle CustomMail obsolète de gestioncof
2016-12-22 03:45:03 +01:00
Aurélien Delobelle
f5ebe3f166 Merge branch 'master' into k-fet 2016-12-03 21:44:33 +01:00
Martin Pépin
5a2fc9d1e5 Cesse d'utiliser des fichiers statiques custom 2016-11-20 20:09:12 +01:00
Martin Pepin
d6dd7b346c Merge branch 'Elarnon/mail_bda' into 'master'
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
2016-11-20 16:53:29 +01:00
Martin Pépin
debc10213e Typo + docstrings inutiles 2016-11-20 16:52:07 +01:00
Martin Pépin
f93b095e0f Styling
Ou comment faire plaisir à pylint sur les bouts de code concernés
par cette MR
2016-11-20 16:39:26 +01:00
Martin Pepin
297164aae0 Merge branch 'Elarnon/ci' into 'master'
Lance les tests de gestioCOF sur gitlab-ci



See merge request !116
2016-11-14 06:41:27 +01:00
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
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
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
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
43d938edd0 initial 2016-08-02 10:40:46 +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
Basile Clement
210c6d7712 Update Py3 compat 2016-07-15 00:20:08 +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
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
34fc334987 Ajoute le backend 'console' pour les mails en dev. 2016-06-10 00:49:04 +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
8f05489c5d Merge branch 'Elarnon/django_cas_ng' 2016-06-03 12:32:10 +02:00