Commit graph

774 commits

Author SHA1 Message Date
Ludovic Stephan f32e4a9b0d Fix error 2019-04-12 17:03:42 +02:00
Ludovic Stephan 5fd4cb5c78 Change django.core.urlresolvers imports
-- compatible with 1.11 --
2019-03-19 10:18:56 +01:00
Robin Champenois 0eccfcf886 Merge branch 'Aufinal/webfonts' into 'master'
Sert les polices en local

See merge request klub-dev-ens/gestioCOF!354
2019-02-18 22:40:10 +01:00
Evarin 1043e5725a Fix content-type fixtures K-Fêt 2019-02-18 21:54:26 +01:00
Ludovic Stephan 85642d00d8 Sert les polices en local 2019-02-13 16:54:42 +01:00
Evarin 4f6579c3d1 Fixtures à jour pour Wagtail2 et wagtail-translation 0.9 2019-02-11 21:10:11 +01:00
Ludovic Stephan 1c45dd833d Black + isort 2019-02-09 15:16:40 +01:00
Evarin 0f1e05acdd Migration vers Wagtail 2.3 et Wagtail-modeltranslation 0.9
Toutes les pages Wagtail doivent désormais être traduites
Suppression du modèle COFUtilPage devenu inutile
Réinitialisation des migrations de Wagtail à cause des changements de ModelTranslation
2019-02-04 22:56:48 +01:00
Aurélien Delobelle b65d37b141 style: black 2019-01-13 13:56:03 +01:00
Martin Pépin 670fda3c9c migrations nécessaires en prod ?!? wtf 2019-01-07 23:30:56 +01:00
Aurélien Delobelle 5d14fef032 kfet.tests -- More isolated tests for kfet.open 2019-01-06 13:49:07 +01:00
Aurélien Delobelle 7ca0144004 kfet.tests -- Deterministic responses for cancel_operation 2019-01-06 13:49:07 +01:00
Martin Pepin e0e75b53bb Merge branch 'aureplop/ci_parallel' into 'master'
core.ci -- Run tests in parallel

See merge request klub-dev-ens/gestioCOF!327
2019-01-05 19:36:20 +01:00
Aurélien Delobelle aba0be7960 kfet.test -- Isolate kfet_open in testcases to avoid cache collisions 2019-01-05 19:19:58 +01:00
Aurélien Delobelle b69f1b6dbc kfet.tests -- Add tests for cancel_operations view 2018-10-21 13:07:44 +02:00
Aurélien Delobelle d7ca072af3 kfet.tests -- Add factories for many kfet models
- Article
- ArticleCategory
- Checkout
- CheckoutStatement
- Inventory
- InventoryArticle
- Operation
- OperationGroup
2018-10-21 12:50:09 +02:00
Aurélien Delobelle 402b544393 core -- Fix flake8 errors 2018-10-06 13:15:33 +02:00
Aurélien Delobelle fdd2b35289 core -- Apply black + isort to all files 2018-10-06 13:15:33 +02:00
Aurélien Delobelle 507a59c914 kfet.tests -- Add tests for perform_operations view 2018-10-04 11:25:10 +02:00
Aurélien Delobelle 22011faba9 kfet -- Init KFetConfig, even without request, for easy testing 2018-10-04 11:25:10 +02:00
Aurélien Delobelle 0f688a8f1c kfet -- Stack errors of KPsulOperationForm
Delete an error never raised, and avoid duplicate messages.
2018-10-04 11:25:10 +02:00
Aurélien Delobelle 93d3c124fd kfet -- Add fixme related to available checkouts in K-Psul 2018-10-04 11:25:10 +02:00
Aurélien Delobelle 79c26c9dd6 kfet -- Remove unused view 2018-10-01 15:37:41 +02:00
Martin Pépin a750c62baf New year, new promotion: 2018 2018-09-02 23:27:21 +02:00
Aurélien Delobelle 645c01ebd1 kfet -- As a kfet staff, remove the requirement to…
provide a password in the edit view of an account.
2018-06-16 12:33:51 +02:00
Ludovic Stephan 837b48af36 Fix js path for autocomplete 2018-05-29 14:39:29 +02:00
Martin Pépin b0301f0304 fix slugurl name error 2018-05-28 00:07:34 +02:00
Martin Pépin ea737dab29 Merge branch 'Kerl/drop_py2_compat' of git.eleves.ens.fr:cof-geek/gestioCOF into Kerl/drop_py2_compat 2018-04-16 14:18:21 +02:00
Martin Pépin a73736bf41 Merge branch 'master' into Kerl/drop_py2_compat 2018-04-16 14:12:36 +02:00
Martin Pépin 53a4c78903 Remove duplicate line 2018-04-07 14:21:07 +02:00
Martin Pépin 158b19778b also sort the unsold table 2018-04-07 14:20:41 +02:00
Martin Pépin 6d0ec6de43 Merge branch 'master' into qwann/separate_list 2018-04-07 14:09:48 +02:00
Martin Pépin 71b4e6253d Merge branch 'master' into aureplop/cof-tests_calendar 2018-04-07 13:42:19 +02:00
Martin Pépin fba105fdd1 Merge branch 'master' into aureplop/kfet-sticky_thead 2018-04-07 13:32:20 +02:00
Martin Pépin bf464f9378 Merge branch 'master' into aureplop/cof-tests_event 2018-04-06 00:16:08 +02:00
Martin Pépin 35e17a81a6 New year -> new promo -> migration in k-fet 2018-04-05 23:48:53 +02:00
Qwann cc27e4d964 show not sold article in a different list 2018-03-22 15:25:03 +01:00
Martin Pepin d88ce44989 Merge branch 'aureplop/fix-autocomplete-js' into 'master'
Fix autocomplete in registration views.

See merge request cof-geek/gestioCOF!288
2018-02-05 22:49:18 +01:00
Martin Pepin c94a9ecb44 Merge branch 'aureplop/kfet_initial-statement' into 'master'
kfet -- Create initial statement on checkout save

See merge request cof-geek/gestioCOF!283
2018-02-05 22:42:04 +01:00
Martin Pepin a3295ca6a3 Merge branch 'aureplop/fix-184' into 'master'
Fix available checkouts in K-Psul

Closes #184

See merge request cof-geek/gestioCOF!282
2018-02-05 22:35:04 +01:00
Aurélien Delobelle 4084444dc3 Fix autocomplete in registration views.
django-autocomplete-light v3.x doesn't include anymore the
$('').yourlabsAutocomplete() function, leading to issues in cof
registration and kfet account creation views.

Adding jquery-autocomplete-light fixes these issues.

See:
- (dal) https://github.com/yourlabs/django-autocomplete-light
- (jal) https://github.com/yourlabs/jquery-autocomplete-light
2018-01-20 17:29:15 +01:00
Aurélien Delobelle 42e762bc4a Py3 allows to shorten super() 2018-01-16 16:50:27 +01:00
Aurélien Delobelle 478f56d94b kfet -- Create initial statement on checkout save
- Why? Because it should be the actual behavior.
- To allow using arithmetic operations with values of DecimalField when
object are not retrieved from DB, some strings are replaced by Decimal
or int.
If you wonder why it's not automatically done, see:
https://code.djangoproject.com/ticket/27825
2018-01-16 16:49:02 +01:00
Aurélien Delobelle 525bb4d16d kfet -- Fix available checkouts in K-Psul
The checkout validity is checked using the current datetime (when
requesting the kpsul page).
2018-01-15 17:03:57 +01:00
Aurélien Delobelle e23e1bdba6 kfet -- Add test to check the choices of checkouts in K-Psul
Particularly, it adds a regression test for #184.
2018-01-15 17:01:06 +01:00
Aurélien Delobelle 6059ca067b Speed up tests
~20% less using MD5 and force_login in kfet testcase.
~77% less by disabling the debug tollbar.
2018-01-15 05:41:51 +01:00
Martin Pépin 5a5b60ec4d Merge branch 'master' into Kerl/drop_py2_compat 2018-01-10 20:12:59 +01:00
Aurélien Delobelle 44eee9be38 Merge branch 'aureplop/py34-compat' into 'master'
py34 compat

See merge request !279
2018-01-10 17:30:44 +01:00
Aurélien Delobelle f58f120e7a py34 compat
(already present in prod)
2018-01-10 17:25:07 +01:00
Martin Pépin 62d8c2ffaf remove @py2_unicode_compat + six 2018-01-06 16:10:13 +01:00
Martin Pépin 97eed06b6f Remove builtins imports 2018-01-06 16:10:13 +01:00
Martin Pépin 57411ab46f Remove __future__ imports 2018-01-06 16:10:13 +01:00
Martin Pépin 475f1adec5 Remove "coding: utf8" line 2018-01-06 16:10:13 +01:00
Aurélien Delobelle 32720c56a6 kfet -- Tables are sortable
Many tables in kfet app templates become sortable:
account list, negative account list, article list, article inventory
list, article supplier list, article category list, checkout list,
checkout statement list, inventory list, inventory details, order list,
order creation, order details.

This is achieved thanks to the jQuery plugin 'tablesorter':
https://mottie.github.io/tablesorter/docs/

- Affected tables also got sticky headers (it stays visible on scroll).
- Dates format are modified in order to ease the date sorting with the
plugin (it avoids writing a custom parser, or an extractor from
additional hidden element in the table cells).
- Tables whose content is classified by category (of articles) now uses
several tbodies. This has minor effects on the tables style.
- Tags of the header help signs become 'i', instead of 'span', in order
to avoid weird spacing.
2017-11-27 18:24:22 +01:00
Aurélien Delobelle b0b0542407 Upgrade to Django 1.11
- Deprecation warnings using Django 1.8 are resolved.
- Deprecation warnings using Django 1.11 are resolved.

- Admin: grappelli is no longer used.
- Upgrade to django-autocomplete-light v3 (v2 is not 1.11 compatible).
  * autocomplete.modelform_factory being dropped, code uses dal Select2
    views and widgets.
2017-11-19 18:41:39 +01:00
Qwann 93fa79128c order table striped 2017-10-31 15:10:21 +01:00
Aurélien Delobelle 895f7e062c Delete GlobalPermissions model (migrations)
It is an old model which doesn't exist anymore in kfet.models module.

This adds its missing DeleteModel in migrations.
2017-10-27 03:38:28 +02:00
Aurélien Delobelle 8e8e9aa076 Fix migration history 2017-10-24 19:25:20 +02:00
Aurélien Delobelle af3a7cf697 Reapply fix to kfetauth (…) and fix tests 2017-10-24 17:56:14 +02:00
Aurélien Delobelle 1cc51f17a3 Prevent connection to LDAP when settings is None 2017-10-24 17:55:02 +02:00
Aurélien Delobelle 8673da1874 Fix migration conflict 2017-10-24 16:52:57 +02:00
Aurélien Delobelle 8cdb4c62fc Merge branch 'master' into test/views 2017-10-24 16:45:26 +02:00
Martin Pépin fccad5edee rename root -> kfet_genericteam in fixtures 2017-10-16 14:31:02 +02:00
Aurélien Delobelle 85657591f5 Fix fields cleaning with unreachable items when…
… object is being created.
2017-10-12 11:10:30 +02:00
Martin Pépin e0ab7f5f94 Fix migration conflict 2017-10-10 21:21:28 +02:00
Martin Pépin 116b4da1a5 Merge branch 'test/views_kfet' into test/views 2017-10-10 21:15:49 +02:00
Martin Pépin 3d22a1b029 Merge branch 'master' into test/views 2017-10-10 15:39:18 +02:00
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 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
Aurélien Delobelle bf61e41b50 Move auth-related from 'kfet' app to 'kfet.auth'. 2017-09-19 17:05:51 +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 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
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
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 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 c9aac8a49d [WIP] Tests for kfet views 2017-08-10 15:02:08 +02:00
Aurélien Delobelle 878c617cc7 fix PermConsumerMixin 2017-06-25 22:29:12 +02:00
Martin Pépin 68c1b45342 Add missing migrations 2017-06-25 16:30:49 +01:00
Aurélien Delobelle 455b730cc3 Merge branch 'master' into aureplop/kfet_cms 2017-06-23 02:53:05 +02:00
Aurélien Delobelle 815ba50603 fix for small devices 2017-06-22 16:59:41 +02:00
Aurélien Delobelle 5673fabeff Better status management.
Status is mainly computed in Python. That fix inconsistent datetime between
client and server.

Client only receives status and keep timestamp of last received ws msg.
2017-06-22 16:36:08 +02:00
Aurélien Delobelle 19847ac9d8 add token check to raw_open edit view 2017-06-22 15:48:45 +02:00
Aurélien Delobelle 98f5f0c391 update refresh/unknown interval 2017-06-22 05:44:05 +02:00