Commit graph

1600 commits

Author SHA1 Message Date
Aurélien Delobelle
b42452080f Mass cleaning of kfet' authentication machinery
AccountBackend
- Should now work if used in AUTHENTICATION_BACKENDS settings.
- It does not retieve itself the password, as it should not be used
this way.

GenericBackend
- Delete useless 'username' arg of its 'authenticate()' method.
- Now delete the token in DB.

TemporaryAuthMiddleware
- New name of the middleware is more meaningful.
- Is now responsible to retrieve the password from the request, instead
of the AccountBackend.

GenericTeamToken model
- Add a manager' method to create token, avoiding possible error due to
unicity constraint.

GenericLoginView (authentication with the kfet generic user)
- Replace obscure system with a 100% HTTP handling.
- See comments for more information.

Misc
- More docstrings!
- More tests!
- Add some i18n.
- Add kfet/confirm_form.html template:
    Ask user to confirm sth via a form (which will send a POST request).
    Context variables:
        * title: the page title
        * confirm_url: action attribute for <form>
        * text: displayed confirmation text
- kfet.js : Add functions allowing to emit POST request from <a> tag.
- Non-link nav items from kfet navbar also get a 'title'.
- A utility has been found for the 'sunglasses' glyphicon!
2017-09-25 17:57:47 +02:00
Aurélien Delobelle
11e8cb1be2 Merge branch 'bdaAdminHotfix' into 'master'
Hotfix : répare l'admin, le champ "given" n'était pas affiché quand il faut

See merge request !254
2017-09-25 15:01:28 +02:00
Martin Pépin
db512a97f6 In /admin: displays "given" when it's relevant 2017-09-25 14:22:46 +02:00
Aurélien Delobelle
3fa7754ff4 KFet Backends inherit from BaseKFetBackend
Users who authenticate via a KFetBackend got extra select related.
It should save 2 db queries on each request for these users.
2017-09-23 20:48:28 +02:00
Aurélien Delobelle
e5d19811e8 Clean code related to kfet password 2017-09-22 23:31:46 +02:00
Aurélien Delobelle
1d19d1797c Clean setup/retrieve of kfet generic account 2017-09-22 01:24:44 +02:00
Martin Pépin
6f2652c485 Prod quick hack for Mega export 2017-09-20 18:23:36 +02:00
Martin Pépin
d89ba1efe5 Fix catalogue behaviour if id=0 2017-09-20 18:21:59 +02:00
Martin Pépin
4091185a68 import LDAP_SERVER_URL in settings 2017-09-20 18:19:15 +02:00
Aurélien Delobelle
bf61e41b50 Move auth-related from 'kfet' app to 'kfet.auth'. 2017-09-19 17:05:51 +02:00
Martin Pepin
7d16001ee5 Merge branch 'aureplop/fix_kfet_perms' into 'master'
K-Fêt' groups edits don't remove non-kfet app permissions.

Closes #168

See merge request !252
2017-09-12 22:35:30 +02:00
Martin Pépin
1921f05eba Move STATIC_ROOT in production 2017-09-12 09:22:54 +02:00
Martin Pépin
368ee3190f Update CI: use postgres 2017-09-12 00:14:52 +02:00
Aurélien Delobelle
9e61887868 K-Fêt' groups edits don't remove non-kfet app permissions.
Fixes #168.
2017-09-11 16:42:14 +02:00
Martin Pépin
faed7bff73 fix ?next=… on K-Fêt logout 2017-09-10 02:32:21 +02:00
Martin Pepin
f581279825 Merge branch 'aureplop/fix-kfet-navbar' into 'master'
Fix kfet navbar on small devices

See merge request !248
2017-09-10 02:12:49 +02:00
Martin Pépin
937a485704 Merge branch 'master' into Production 2017-09-09 22:03:32 +02:00
Martin Pépin
439f49c3ba We ♥ hardcoding stuff… 2017-09-05 15:21:19 +02:00
Martin Pépin
35b352ac1d Fix mistake introduced in 51f4bf3fb5 2017-09-04 14:50:12 +02:00
Martin Pépin
50432d969f Update available promos for account creation 2017-09-04 13:25:45 +02:00
Martin Pépin
51f4bf3fb5 Clipper logins may be > 8 characters 2017-09-04 13:25:09 +02:00
Aurélien Delobelle
fb5ba5fb1b Fix kfet navbar on small devices 2017-09-03 14:42:38 +02:00
Aurélien Delobelle
af97c0cda6 Improve users management on kfet TestCase, and Py34 compat 2017-09-01 16:37:14 +02:00
Aurélien Delobelle
997b63d6b6 More docs for kfet.tests.utils 2017-09-01 13:35:32 +02:00
Aurélien Delobelle
7d490f0253 Merge branch 'test/views' into test/views_kfet 2017-09-01 12:41:31 +02:00
Aurélien Delobelle
5220bb75d0 Merge branch 'test/views_kfet' of git.eleves.ens.fr:cof-geek/gestioCOF into test/views_kfet 2017-09-01 12:40:37 +02:00
Aurélien Delobelle
d8391e54a5 Add docs to kfet TestCases 2017-09-01 12:39:17 +02:00
Martin Pepin
b7502e51ed Merge branch 'aureplop/amend_supplier_model' into 'test/views_kfet'
Most data of suppliers should be optionnal.

See merge request !246
2017-08-30 20:32:43 +02:00
Aurélien Delobelle
be1e67626c Most data of suppliers should be optionnal. 2017-08-30 15:35:20 +02:00
Martin Pepin
0afbd577b1 Merge branch 'aureplop/fix_view_account_search' into 'test/views_kfet'
View 'search account' should be restricted.

See merge request !245
2017-08-29 20:41:49 +02:00
Martin Pepin
afda1ba2ca Merge branch 'test/views_fix_msg' into 'test/views'
Fix kfet.open.tests

See merge request !241
2017-08-29 20:39:31 +02:00
Martin Pepin
6e140e540d Merge branch 'aureplop/fix_perms_settings' into 'test/views_kfet'
Fix kfet config-related permissions

See merge request !244
2017-08-29 20:37:48 +02:00
Aurélien Delobelle
b4338ce8db View 'search account' should be restricted. 2017-08-16 22:54:40 +02:00
Aurélien Delobelle
22d8317dee Fix kfet.open.tests
Due to messages sent in signals handlers, the tests were failing.
2017-08-16 22:43:52 +02:00
Aurélien Delobelle
b4b15ab371 Tests of kfet config views pass 2017-08-16 22:30:17 +02:00
Aurélien Delobelle
414b0eb433 Add missing perms to view/edit kfet config 2017-08-16 21:28:16 +02:00
Aurélien Delobelle
a3bb9852be Merge branch 'master' into test/views 2017-08-16 18:28:59 +02:00
Aurélien Delobelle
2cfce1c921 Add tests for kfet views.
kfet.tests.testcases embed mixins for TestCase:
- TestCaseMixin provides assertion helpers,
- ViewTestCaseMixin provides a few basic tests, which are common to
every view.

kfet.tests.utils provides helpers for users and permissions management.

Each kfet view get a testcase (at least very basic) in
kfet.tests.test_views.
2017-08-16 17:45:59 +02:00
Aurélien Delobelle
343b52f986 Merge branch 'master' into test/views_kfet 2017-08-14 21:18:46 +02:00
Aurélien Delobelle
1d9310236b Merge branch 'Kerl/setup' into 'master'
Setup de développement local

Développement sans Vagrant

- Ajoute un fichier de settings pour développer en local sans vagrant :
  'cof/settings/local.py'. Il s'agit du fichier utilisé par défaut
  si 'DJANGO_SETTINGS_MODULE' n'est pas dans l'environnement.
- Simplifie le README en conséquence.

Vagrant

La conf de production étant en cours de modification, on répercute ici
certaines de ces modifications.

- Front server: passe à nginx (à la place de apache).
- DB: passe à postgresql (à la place de mysql).
- La conf nginx sert le site (port 8080) derrière '/gestion/', à
  l'exception des fichiers 'static' et 'media'.
- Ajout de `SERVER_EMAIL` dans les secrets pour pouvoir l'éditer en
  production.
- Changement de `STATIC_ROOT` en production.

See merge request !242
2017-08-13 21:17:26 +02:00
Martin Pépin
2a519bfedf Add SCRIPT_NAME to the production-like server 2017-08-13 14:36:45 +01:00
Martin Pépin
4c08962e09 Hide more stuff in secret.py 2017-08-13 13:39:13 +01:00
Martin Pépin
4d026407d1 Quicker setup for local development 2017-08-11 23:56:02 +01:00
Martin Pépin
5923166196 Specify the full path of the sqlite database 2017-08-11 17:24:09 +01:00
Martin Pépin
853fa57ce4 In README.md: typo env -> venv 2017-08-11 15:45:19 +01:00
Martin Pépin
522acafb2e Add python dependency for Debian9 2017-08-10 16:56:20 +01:00
Martin Pépin
dae418af3d Handle websockets in nginx.conf 2017-08-10 16:56:03 +01:00
Martin Pépin
73296ea251 Setup django before launching daphne + Django 2017-08-10 16:55:36 +01:00
Martin Pépin
4075fcaa64 typo 2017-08-10 16:35:41 +01:00
Martin Pépin
bd1dace8e8 Fix symlink for secret.py 2017-08-10 16:31:09 +01:00