Commit graph

726 commits

Author SHA1 Message Date
Martin Pépin f13d1072c7 Add simple tests for the stat views
We check that we can get all the stats views with the appropriate
permissions.
2017-04-03 23:21:42 +01:00
Aurélien Delobelle ce2a05766d Add set_many methods to kfet_config
- Fix addcost updates (from K-Psul)
2017-04-03 23:06:47 +02:00
Ludovic Stephan 5020037103 api_lock inside kfet.js 2017-04-03 16:08:40 -03:00
Ludovic Stephan 51acb4e00a Use new WS class 2017-04-03 16:05:18 -03:00
Ludovic Stephan 32474a6865 Don't update input when unchecking 2017-04-03 16:03:22 -03:00
Ludovic Stephan f46ba0dd6c Merge branch 'master' into Aufinal/inventaires 2017-04-03 16:01:51 -03:00
Aurélien Delobelle 7384465cbd fix migrations order 2017-04-03 21:01:36 +02:00
Aurélien Delobelle 921dce1f35 Merge branch 'master' into aureplop/kfet_config 2017-04-03 20:58:57 +02:00
Ludovic Stephan 5607d7c9a4 Migration pour kfet_forms 2017-04-03 15:54:02 -03:00
Ludovic Stephan ad2c8537e3 Add Runpython (oops) 2017-04-03 15:50:18 -03:00
Aurélien Delobelle 85caa6b058 Use django-djconfig for kfet app.
Old configuration(/settings), based on Settings model, system is
deleted: SettingsForm, Settings.
New system use `django-djconfig` module.

- `kfet.config` module provides `kfet_config` to access configuration concerning
kfet app.
- Views, forms, models, etc now use this object to retrieve conf values.
- Views no longer add config values to context, instead templates use
  `kfet_config` provided by a new context_processor.
- Enhance list and update views of settings.
- Fix: settings can directly be used without having to visit a specific
  page...

Misc
- Delete some py2/3 imports
- Delete unused imports in kfet.models and kfet.views
- Some PEP8 compliance
2017-04-03 20:32:16 +02:00
Aurélien Delobelle 10d2b58fa7 clean some comments
- fix: error if actions are empty in balance stats
2017-04-03 17:06:32 +02:00
Aurélien Delobelle 6d2e150aa0 clean align 2017-04-03 16:56:44 +02:00
Aurélien Delobelle 903da795ab clean kfet statistic.js
- no longer dictToArray where it isn't necessary (because already an
  array)
- fix chart height:
  - previous charts were causing bugs
  - height is fixed (even with window resizing)
- clean whitespaces
2017-04-03 16:53:28 +02:00
Ludovic Stephan 40da3bc299 Listen on input 2017-04-03 11:21:05 -03:00
Ludovic Stephan b113a57b74 Fix update function 2017-04-03 11:20:56 -03:00
Aurélien Delobelle 87bc90ec8b Begin/end balance stat graph
- Anytime begin at account creation datetime
- Others doesn't take care of account creation
- Add check to avoid to bug on actions list length
2017-04-03 16:07:31 +02:00
Aurélien Delobelle 769c37634d delete debug msg 2017-04-03 15:43:56 +02:00
Aurélien Delobelle 1bb83ccdd7 simplify StatScale 2017-04-03 15:10:53 +02:00
Aurélien Delobelle 7dc233c0e2 Merge branch 'Aufinal/editions' into 'master'
K-Fêt
- Fix: Les éditions ne touchent plus la caisse
- Fix: Seuls les achats sont possibles sur LIQ

See merge request !198
2017-04-03 14:39:53 +02:00
Aurélien Delobelle b157ffac4c Merge branch 'Aufinal/kfet_forms' into 'master'
K-Fêt
- Affichage des formulaires amélioré

See merge request !203
2017-04-03 13:40:41 +02:00
Aurélien Delobelle b3a9ad8a96 clean mixin 2017-04-03 13:24:04 +02:00
Aurélien Delobelle d97a7be819 stats: fix begin of balances graphs
- graph begin at first operation or later
2017-04-03 03:15:07 +02:00
Aurélien Delobelle c01de558e1 Clean Article stats
kfet.statistic
- delete no longer used defs
- new mixin - ScaleMixin
  - get scale args from GET params
  - chunkify querysets according to a scale

Article stats
- use SingleResumeStat for manifest
- use ScaleMixin for sales
- update urls
- update permission required: teamkfet

Account stats
- update permission required: teamkfet
- operations use ScaleMixin
- fix manifests urls
2017-04-03 03:12:52 +02:00
Aurélien Delobelle f585247224 Refactor Account Operations stats
K-Fêt - Statistics

New base class - StatScale
- create scale, given chunk size (timedelta), start and end times
- get labels of
- get start and end datetimes of chunks

DayStatScale: Scale whose chunks interval is 1 day
WeekStatScale: same with 1 week
MonthStatScale: same with 1 month

AccountStatOperationList: manifest of operations stats of an account
- renamed from AccountStatLastAll
- updated according to SingleResumeStat

AccountStatOperation:
- renamed from AccountStatLast
- remove scale logic with use of StatScale objects
- used scale is given by `scale` and `scale_args` GET params
- add filter on operations types with `types` GET param

AccountStatLast(Day,Week,Month) are deleted ("merged" in
AccountStatOperation)
2017-04-03 00:40:52 +02:00
Aurélien Delobelle 31261fd376 set height canvas graph & fix graph display 2017-04-02 23:38:42 +02:00
Aurélien Delobelle 6ebea6557c Merge branch 'Aufinal/graph_size' into aureplop/fix_stats 2017-04-02 23:19:34 +02:00
Ludovic Stephan 48721b7dca Reduce graph size 2017-04-02 17:54:13 -03:00
Aurélien Delobelle df7e935390 Clean GET params in ajax calls
- Use `data` arg of `$.getJSON` for `format` param
- Delete `dictToArray` call on data returned by `SingleResumeStat` class view since this view now returns stats manifest as an array
2017-04-02 17:16:05 +02:00
Aurélien Delobelle 1ee993e1e1 Add permission check to AccountStatBalance
Only connected user can get its balance data
2017-04-02 17:14:36 +02:00
Aurélien Delobelle 87b9db520f Refactor py base stats and account balance stats
New mixin: PkUrlMixin
- use with SingleObjectMixin standard django mixin (used by
  DetailView...)
- `get_object` use field declared in `pk_url_kwarg` to get... the object

SingleResumeStat
- clean (part of) py code

AccountStatBalanceList
- renamed from `AccountStatBalanceAll`
- url modified
- add permission checking (only the connected user can get balance
  stats manifest)
- clean py code

AccountStatBalance
- cleaner filtering management
- merge urls using this class
- clean py code
2017-04-02 17:03:20 +02:00
Aurélien Delobelle f6022ecf7d Add str to Transfer model
+ PEP8 this model
2017-04-02 16:49:41 +02:00
Aurélien Delobelle 78aa5df350 fix template error 2017-04-02 12:55:44 +02:00
Aurélien Delobelle e8fdd083aa delete unused class-views 2017-04-02 05:34:34 +02:00
Aurélien Delobelle 96597aa146 clean some kfet templates 2017-04-02 05:17:26 +02:00
Ludovic Stephan c9973cde75 Help text for password length 2017-04-01 23:25:47 -03:00
Aurélien Delobelle 55116f7179 Merge branch 'Aufinal/stat_article' into 'master'
Fix article stat display

See merge request !207
2017-04-02 02:49:54 +02:00
Martin Pépin e4d51de569 Merge branch 'hotfix/autocomplete_no_value' 2017-04-01 22:11:36 +01:00
Ludovic Stephan 91a057873d Merge migrations 2017-04-01 18:10:51 -03:00
Ludovic Stephan 944a73eef7 Merge remote-tracking branch 'origin/master' into Aufinal/editions 2017-04-01 18:09:23 -03:00
Martin Pépin a793e9a2e7 exclude empty strings from ldap results
The uid attribute in a LDAP's entry cannot be an empty string. We need
to get an actual identifier.
2017-04-01 22:07:32 +01:00
Martin Pépin 9cdf064005 Handle incomplete values from the LDAP
Sometime `uid` is not set in the objects fetched from the LDAP. This
case has to be handled. Also, the `.uid` and `.cn` attributes of these
objects in the python abstractions have a `.value` method which we
should use.
2017-04-01 21:45:05 +01:00
Ludovic Stephan cce0411ee9 Merge both 0048 migrations 2017-04-01 17:37:29 -03:00
Ludovic Stephan bbb517fbd3 Fix article stat display 2017-04-01 10:37:40 -03:00
Ludovic Stephan 6797c92a1f Ok ok je me rends 2017-04-01 09:35:37 -03:00
Ludovic Stephan 4af2562121 More clarity in argument names 2017-04-01 09:34:02 -03:00
Ludovic Stephan 29836fd15c Remove deprecated option 2017-04-01 09:24:18 -03:00
Ludovic Stephan e20ab2f352 Use set delete() 2017-04-01 09:18:40 -03:00
Ludovic Stephan 271654b447 No need for intermediate error reporting 2017-04-01 08:47:09 -03:00
Ludovic Stephan ccf5f80685 Merge remote-tracking branch 'origin/master' into Aufinal/editions 2017-04-01 02:43:19 -03:00
Ludovic Stephan 8da832c1f7 Use nice authentication in orders too 2017-04-01 00:36:39 -03:00
Ludovic Stephan 063446efb5 Use columns for authentication and submit 2017-04-01 00:32:09 -03:00
Ludovic Stephan cf03fba1cc Remove whitespace by using elif 2017-03-31 23:54:38 -03:00
Ludovic Stephan 2774dbb5de Merge branch 'Aufinal/refactor_articles' into Aufinal/refactor_history 2017-03-31 23:51:13 -03:00
Ludovic Stephan 7d93d91af9 Merge remote-tracking branch 'origin/aureplop/kpsul_js_refactor' into Aufinal/refactor_articles 2017-03-31 23:50:33 -03:00
Ludovic Stephan 9c9ad21d73 Add variable for article line 2017-03-31 23:46:10 -03:00
Ludovic Stephan 92fd94d1f9 Merge remote-tracking branch 'origin/master' into Aufinal/fix_stock_ws 2017-03-31 23:43:19 -03:00
Aurélien Delobelle 1286606f7a Merge branch 'Aufinal/hotfix/liq_withdraw' into 'master'
K-Fêt :
- Empêche les retraits/charges sur LIQ

See merge request !205
2017-03-31 23:49:33 +02:00
Ludovic Stephan aa29621c7c Prevents special opes on LIQ 2017-03-31 18:28:03 -03:00
Ludovic Stephan 236dcb4644 Tweaks to UserDialog 2017-03-31 18:10:06 -03:00
Ludovic Stephan 582cdebaa1 Better callback management 2017-03-31 17:49:22 -03:00
Ludovic Stephan ab15dbae76 Add handler management 2017-03-31 17:37:39 -03:00
Ludovic Stephan 38bfccf331 Change class name 2017-03-31 15:57:15 -03:00
Ludovic Stephan 8bf1bd5343 Websocket as member 2017-03-31 15:45:15 -03:00
Ludovic Stephan 413df0806d Add url get method 2017-03-31 15:10:41 -03:00
Ludovic Stephan 49c84076de Manage help_text and errors 2017-03-31 15:01:31 -03:00
Ludovic Stephan 1d8e084a19 websocket update when addcost 2017-03-31 14:37:00 -03:00
Ludovic Stephan 499c081565 Websocket class and instance 2017-03-31 12:23:27 -03:00
Ludovic Stephan fdcd2e864c Use widget_tweaks everywhere 2017-03-31 11:24:38 -03:00
Ludovic Stephan 530aafad19 Use widget_tweaks 2017-03-31 11:07:37 -03:00
Ludovic Stephan 6ac1241bd3 Listen to submit instead 2017-03-31 10:07:42 -03:00
Ludovic Stephan 50cb6e51a1 Use Set() natively 2017-03-31 10:06:02 -03:00
Ludovic Stephan e54324e9f1 Use col-offset 2017-03-31 09:50:37 -03:00
Ludovic Stephan ebf133d9af Lowercase model verbose names 2017-03-30 21:38:16 -03:00
Ludovic Stephan 20561eb515 Idem for account_update 2017-03-30 21:31:16 -03:00
Ludovic Stephan c1b8849cb8 Idem for supplier_form 2017-03-30 21:16:47 -03:00
Ludovic Stephan 91d5fe234c Idem for checkoutstatements 2017-03-30 21:10:50 -03:00
Ludovic Stephan 8e65298c7c Idem for article_update 2017-03-30 19:34:22 -03:00
Ludovic Stephan 079666c0db Use verbose names and form snippets for article_create 2017-03-30 19:32:11 -03:00
Ludovic Stephan 0c21238391 Change misc field when updating 2017-03-30 18:39:13 -03:00
Ludovic Stephan 998838ca3e Add update button 2017-03-30 13:31:16 -03:00
Ludovic Stephan 31888e33ce simpler jquery selection 2017-03-30 13:30:55 -03:00
Ludovic Stephan 56b5fd6279 Always randomize supplier articles 2017-03-29 23:22:18 -03:00
Ludovic Stephan 95c59de4fc Add supplier to dev data 2017-03-29 23:16:40 -03:00
Ludovic Stephan eb7d436b90 Add "count finished" checkbox 2017-03-29 20:43:48 -03:00
Ludovic Stephan ca6e120a38 Fix ws stock update 2017-03-29 09:43:10 -03:00
Ludovic Stephan e6a1d16860 Websocket to manage possible kpsul conflicts 2017-03-29 00:58:47 -03:00
Ludovic Stephan 3b793dc726 Add first improvements for inventory 2017-03-28 23:47:41 -03:00
Ludovic Stephan 08c752f1b3 Simplify addcost management 2017-03-26 18:10:26 -03:00
Ludovic Stephan 5101400f64 Use callback_as_dict for addcost 2017-03-26 17:57:51 -03:00
Ludovic Stephan c1f70d9d0a Add capslock support for inputs 2017-03-26 17:51:55 -03:00
Ludovic Stephan 6d92df4155 Merge branch 'aureplop/kpsul_js_refactor' of git.eleves.ens.fr:cof-geek/gestioCOF into Aufinal/dialog_utils 2017-03-26 15:21:33 -03:00
Ludovic Stephan 946182f1fe Simpler migration revert 2017-03-26 15:06:45 -03:00
Aurélien Delobelle 842f2cecc1 fix import, fix ope with addcost enabled, move Config location 2017-03-26 15:12:03 +02:00
Aurélien Delobelle bc6ecda0c8 fix addcost kspul 2017-03-26 14:59:21 +02:00
Aurélien Delobelle 24f72ae7d4 add missing ; 2017-03-26 14:52:23 +02:00
Aurélien Delobelle b81b33c056 allow chaining on container in display method 2017-03-26 14:51:16 +02:00
Aurélien Delobelle 485ae86a42 add update method to ModelObject 2017-03-26 14:46:46 +02:00
Ludovic Stephan 3bf7a066a2 Adapt history.html to new functions 2017-03-26 00:33:33 -03:00
Ludovic Stephan 3f07bf56fa Remove console log 2017-03-26 00:25:51 -03:00
Ludovic Stephan dbcfc6df46 Remove duplicate kfet.js import 2017-03-26 00:21:17 -03:00
Ludovic Stephan 87943ea7b9 Adapt kpsul to new functions 2017-03-26 00:20:47 -03:00
Ludovic Stephan 6be2f086df Add generic functions for confirm dialogs 2017-03-26 00:20:28 -03:00
Ludovic Stephan a1c976185c Fix transfer sort 2017-03-25 13:44:35 -03:00
Ludovic Stephan 0997d85083 Merge branch 'aureplop/kpsul_js_refactor' of git.eleves.ens.fr:cof-geek/gestioCOF into Aufinal/refactor_history 2017-03-25 12:39:30 -03:00
Ludovic Stephan 5ff8f69bfa Merge branch 'aureplop/kpsul_js_refactor' of git.eleves.ens.fr:cof-geek/gestioCOF into Aufinal/refactor_articles 2017-03-25 12:35:04 -03:00
Ludovic Stephan 06a89055c4 Simpler migration 2017-03-25 10:46:18 -03:00
Ludovic Stephan 9a081ddae0 PEP8 on Operation model 2017-03-25 10:43:02 -03:00
Ludovic Stephan f645121fb1 Add error when editing LIQ 2017-03-25 10:39:53 -03:00
Ludovic Stephan 14e0d8090f Add euros symbols 2017-03-25 10:01:35 -03:00
Ludovic Stephan d8f572bb01 Remove group check in is_checkout 2017-03-25 09:57:44 -03:00
Ludovic Stephan bc0affc038 Remove autocomplete leftovers 2017-03-25 09:56:36 -03:00
Aurélien Delobelle ae82c34023 add missing migration 2017-03-25 11:21:21 +01:00
Aurélien Delobelle 215d4a63ad Merge branch 'Aufinal/create_opes' into 'master'
K-Fêt - Dev :
- new command - createopes: Création d'opérations et transferts aléatoires

See merge request !193
2017-03-25 11:08:22 +01:00
Aurélien Delobelle 6afbcb44a1 delete array comprehesion 2017-03-25 10:26:45 +01:00
Aurélien Delobelle 967748ded3 details link to read instead of update
- It was the old behaviour.
2017-03-25 09:58:20 +01:00
Aurélien Delobelle 72970c6be7 Fix api call on new transfers
- Use django-js-reverse
- Replace old url (deleted) with standard url
2017-03-25 09:44:55 +01:00
Ludovic Stephan aa6a50a6e7 Simplify JS-Python interface for cancel_ops 2017-03-24 23:57:27 -03:00
Ludovic Stephan 794527772f Add more explicit migration name 2017-03-24 23:41:33 -03:00
Ludovic Stephan 5f3f044084 Add revert function to migration 2017-03-24 23:27:55 -03:00
Ludovic Stephan 608e67fe6a Add RunPython script to migration 2017-03-24 21:23:04 -03:00
Ludovic Stephan 44fbc92893 Merge branch 'master' of git.eleves.ens.fr:cof-geek/gestioCOF into Aufinal/editions 2017-03-24 21:07:32 -03:00
Ludovic Stephan d7740e66fe adapt code to is_checkout removal 2017-03-24 20:52:49 -03:00
Ludovic Stephan cadaf43131 Remove is_checkout field from Operation model 2017-03-24 18:50:57 -03:00
Aurélien Delobelle ac18cbd9d9 fix by on last statement 2017-03-24 22:10:34 +01:00
Aurélien Delobelle 0d02d47d33 move utils functions 2017-03-24 22:05:04 +01:00
Aurélien Delobelle 2e3bd5bd7a fix search box 2017-03-24 21:41:34 +01:00
Aurélien Delobelle abce961d91 use django-js-reverse 2017-03-24 21:28:33 +01:00
Aurélien Delobelle a9d1a6aae9 clean array iteration 2017-03-24 21:24:06 +01:00
Aurélien Delobelle f063c3470c Merge branch 'Aufinal/fix_password_freeze' into 'master'
K-Psul:
- fix freeze when no-team password

Closes #153

See merge request !196
2017-03-24 20:53:44 +01:00
Aurélien Delobelle ff5959638b fix missing bracket 2017-03-24 20:32:04 +01:00
Aurélien Delobelle cb13280458 Merge branch 'master' into 'Aufinal/merge_k-fet'
# Conflicts:
#   kfet/static/kfet/css/index.css
2017-03-24 20:23:32 +01:00
Ludovic Stephan 7520effe53 Fix K-Psul freeze when no-team password
L'erreur 403 est renvoyée dans ce cas par le décorateur
`@teamkfet_required`, donc sans data associé, ce qui faisait buguer
`getErrorsHtml`. On rajoute donc le cas correspondant.
2017-03-24 15:45:47 -03:00
Martin Pepin 33b3d558b5 Merge branch 'Aufinal/decorators' into 'master'
Utilise les bons décorateurs

See merge request !195
2017-03-21 00:25:50 +01:00
Ludovic Stephan 5e802217fd Remove lambda operators 2017-03-20 20:24:44 -03:00
Ludovic Stephan dd4d1f3061 Improves creation efficiency 2017-03-20 20:19:04 -03:00
Ludovic Stephan aa247b465a Fix search box (hackish) 2017-03-20 19:08:48 -03:00
Martin Pepin ae38b5d1e7 Merge branch 'hotfix/prevent_ldap_injection' into 'master'
Hotfix/prevent ldap injection

Closes #150

See merge request !188
2017-03-20 23:06:59 +01:00
Martin Pépin 59f57793ba typo 2017-03-20 22:05:48 +00:00
Martin Pépin 0aed975615 Fix the empty-query test in autocomplete
If there is no valid word to search in the LDAP database, no query is
performed. Since 74f0b63e, that behaviour was broken because of a typo
2017-03-20 08:14:20 +00:00
Ludovic Stephan 6d36d50e9a Fix 'at' property for transfergroups 2017-03-20 01:56:59 -03:00
Ludovic Stephan 1fcd53d780 Continue renaming node.type to node.modelname 2017-03-20 00:42:12 -03:00
Ludovic Stephan fe965875f7 Merge branch 'Aufinal/refactor_articles' into Aufinal/refactor_history 2017-03-20 00:33:30 -03:00
Ludovic Stephan 3465dd7045 Change node.type to node.modelname for clarity 2017-03-20 00:26:11 -03:00
Ludovic Stephan 2c63e6b667 Use django.contrib.auth decorators 2017-03-20 00:11:50 -03:00
Ludovic Stephan 36dc6439a8 Plug createopes into loadkfetdevdata 2017-03-19 16:03:39 -03:00
Ludovic Stephan 0356ec34ae Add createopes command 2017-03-19 16:03:19 -03:00
Martin Pépin 74f0b63e96 Change ldap query behaviour if multiple inputs
It is now consistent with the other lookups over the User database
2017-03-19 15:10:08 +00:00
Martin Pépin dc50a23b10 Escape the content of the regex in highligh_text 2017-03-19 14:48:04 +00:00
Martin Pépin 4899bba1f7 Replace list comprehensions by iterators in dal 2017-03-19 14:05:25 +00:00