Commit graph

335 commits

Author SHA1 Message Date
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
f46ba0dd6c Merge branch 'master' into Aufinal/inventaires 2017-04-03 16:01:51 -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
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
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
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
e8fdd083aa delete unused class-views 2017-04-02 05:34:34 +02: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
aa29621c7c Prevents special opes on LIQ 2017-03-31 18:28:03 -03:00
Ludovic Stephan
1d8e084a19 websocket update when addcost 2017-03-31 14:37:00 -03:00
Ludovic Stephan
3b793dc726 Add first improvements for inventory 2017-03-28 23:47:41 -03:00
Ludovic Stephan
f645121fb1 Add error when editing LIQ 2017-03-25 10:39:53 -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
Qwann
de724a2c0d PEP8 for perform_operation 2017-03-17 19:53:23 +01:00
Qwann
fcc2ab8810 frontend working 2017-03-17 19:17:36 +01:00
Ludovic Stephan
3793863bab Merge remote-tracking branch 'origin/k-fet' into Aufinal/merge_k-fet 2017-03-15 22:58:54 -03:00
Qwann
d0938dfae7 Merge branch 'k-fet' into qwann/k-fet/category_addcost 2017-03-11 15:10:04 +01:00
Qwann
ee6de35627 category addcost added 2017-03-10 18:29:15 +01:00
Qwann
f52aba8ca6 Merge branch 'k-fet' into qwann/k-fet/home 2017-03-05 19:21:20 +01:00
Aurélien Delobelle
95b129e396 resolved merge conflict in kfet views imports 2017-02-25 02:00:56 +01:00
Evarin
0fcb29252b Frontend tout en JS 2017-02-15 21:01:54 +01:00
Qwann
1c90608f6d some cleaning 2017-02-15 14:21:00 +01:00
Aurélien Delobelle
2e8fc45a1b Merge branch 'Aufinal/own_password' into 'k-fet'
Changement de son propre mot de passe

Permet à un K-Fêteux (disposant de la permission `kfet.is_team`) de modifier son propre mot de passe sur la page `account/XXX/edit`.

Accessoirement, la fonction `account_update` est maintenant conforme à PEP8.

Fix #121

See merge request !148
2017-02-13 16:32:40 +01:00
Ludovic Stephan
46e9e82da8 move account save 2017-02-13 12:19:47 -02:00
Qwann
9cae3ad0bd Merge branch 'k-fet' into qwann/k-fet/stats 2017-02-13 14:37:29 +01:00
Aurélien Delobelle
db4786abf8 Merge branch 'manet/correction-commandes' into 'k-fet'
Manet/correction commandes

- Fix création de commandes (fournisseur)

Fix #97
See merge request !128
2017-02-11 22:00:45 +01:00
Qwann
a4fdb99267 Revert "WS : quand la K-Fêt est ouverte ?"
This reverts commit ce9f717f06.
2017-02-08 12:42:07 +01:00
Qwann
ce9f717f06 WS : quand la K-Fêt est ouverte ? 2017-01-27 21:46:21 +01:00
Qwann
0ac1eaf414 fixing decimal_issue 2017-01-27 13:08:50 +01:00
Qwann
5cedabf5a8 Merge branch 'qwann/k-fet/stats' into qwann/k-fet/home 2017-01-27 12:15:47 +01:00
Qwann
2f1fe15be3 fixing decimal_issue merging 2017-01-27 12:08:18 +01:00
Qwann
aa1afccf1f adding argumement hidden to Article
in order to avoid some articles to appear in the menu
2017-01-26 19:22:38 +01:00
Qwann
3ca38bd8e9 Carte done. 2017-01-26 17:19:42 +01:00
Qwann
a63966b2f6 carte styling done 2017-01-25 23:41:16 +01:00
Martin Pépin
bd7f767953 Cleanup
- Un peu de PEP8
- Suppression d'une partie de la py2 compat
- Typos
2017-01-25 23:23:53 +01:00
Qwann
df2a9bb1b3 factorising BalanceStat views 2017-01-24 16:56:26 +01:00
Qwann
232b293052 typos fixed 2017-01-20 20:27:24 +01:00
Qwann
f8c49ae90c docstring instead of comments 2017-01-20 20:19:28 +01:00
Qwann
de3db1405e Merge branch 'qwann/decimal_fixes' into qwann/k-fet/stats 2017-01-20 18:53:49 +01:00
Qwann
8b4f7ad60c decimal cast for operation.amount 2017-01-20 18:34:45 +01:00
Qwann
bdbb252a05 Revert "first fixes"
This reverts commit 5877218af5.
2017-01-17 17:16:53 +01:00
Qwann
5877218af5 first fixes 2017-01-14 16:23:45 +01:00
Ludovic Stephan
fabd0949e2 correct imports
Signed-off-by: Ludovic Stephan <lstephan@clipper.ens.fr>
2017-01-10 15:15:53 -02:00
Ludovic Stephan
6315ddf6b8 move pwd change to method
Signed-off-by: Ludovic Stephan <lstephan@clipper.ens.fr>
2017-01-10 12:58:35 -02:00
Martin Pépin
540b6f38b8 Merge branch 'master' into Kerl/ldap 2017-01-09 15:47:12 +01:00
Ludovic Stephan
7dc7d57a5e restrict to team even if malicious POST edit 2017-01-07 13:57:54 -02:00
Ludovic Stephan
fcf76b4af8 can change own password (actually working now) 2017-01-07 13:32:05 -02:00
Ludovic Stephan
2a20beeb59 pep8 2017-01-07 13:28:53 -02:00
Ludovic Stephan
1c5c1fe94d can change own password 2017-01-07 12:47:43 -02: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
Qwann
219835be17 putting away some code for future improvments 2016-12-24 12:42:35 +01:00
Qwann
de9387c6ad cleaning: PEP8, html, permissions 2016-12-24 12:34:11 +01:00
Qwann
7070129add evolution de la balance\n premier jet 2016-12-21 11:51:08 +01:00
Qwann
ccf7c4a484 ma conso added 2016-12-20 22:46:38 +01:00
Qwann
0c3c41a812 small changes 2016-12-19 16:36:23 +01:00
Qwann
4da9327666 Merge branch 'k-fet' of git.eleves.ens.fr:cof-geek/gestioCOF into qwann/k-fet/stats 2016-12-11 20:45:52 +01:00
Qwann
14f021b5b0 WIP articleCategory stat 2016-12-10 23:06:38 +01:00
Qwann
d19daa04b1 resuming views for stat 2016-12-10 17:33:24 +01:00
Qwann
3a7ffefacf week & day stat 2016-12-09 21:45:34 +01:00
Hugo Manet
92ec85dbbd Ajout d'un .distinct() dans la selection des articles liés à un supplier 2016-12-07 21:35:27 +01:00
Ludovic Stephan
a7f3b85b25 exclut #13 du négatif total 2016-12-01 01:44:41 -02:00
Ludovic Stephan
45cc7cfa33 correction négatif total 2016-12-01 01:39:16 -02:00
Aurélien Delobelle
f39e1a653e Ajout account pour compte générique
Lors de la connexion avec l'utilisateur kfet standard, un Account avec le
trigramme GNR est créé pour cet utilisateur

+ Clean et comment
2016-09-29 21:36:17 +02:00
Aurélien Delobelle
3a777a7045 Merge branch 'issue63' into k-fet 2016-09-24 18:51:41 +02:00
Aurélien Delobelle
59dcb72542 K-Psul - Fix erreur 500 caisse inexistante 2016-09-24 18:49:40 +02:00
Aurélien Delobelle
3ead35e171 clean 2016-09-24 18:27:40 +02:00
Aurélien Delobelle
1ce16f48f6 Annulation transferts
Possibilité d'annuler un (ou plusieurs) transferts depuis la page
"Transferts"
2016-09-24 14:18:26 +02:00
Martin Pépin
c79456e958 Syntaxe py3
`except e1, e2:` n'est pas valide en python3, il faut des parenthèses.
2016-09-12 23:24:18 +02:00
Aurélien Delobelle
f614051365 Fix création compte 2016-09-06 19:49:28 +02:00
Aurélien Delobelle
5569b7d154 Fix encodage password 2016-09-06 15:30:51 +02:00
Aurélien Delobelle
58cb6015fc fix transfers 2016-09-05 22:12:58 +02:00
Aurélien Delobelle
468098ae7b Sélection par défaut de la caisse lorsqu'il n'y en a qu'une seule disponible 2016-09-05 20:07:08 +02:00
Aurélien Delobelle
db4ae73dfd Fix acc neg 2016-09-05 19:19:09 +02:00
Aurélien Delobelle
cd64f20275 fix checkout data 2016-09-05 18:09:34 +02:00
Aurélien Delobelle
6c54d582ed Limite de l'historique chargé sur K-Psul 2016-09-05 14:39:31 +02:00
Aurélien Delobelle
1125b553d0 Fix perms perform_transfers 2016-09-05 13:31:09 +02:00
Aurélien Delobelle
4ff963b5cb Fix account_update 2016-09-05 08:19:28 +02:00
Aurélien Delobelle
f538f27843 Création compte avec balance initiale
- Utile pour la migration des anciens comptes vers le nouveau système
- Fix JS page historique
2016-09-05 07:31:54 +02:00
Aurélien Delobelle
a78ad8c4ef Fix perm account_update 2016-09-05 01:24:38 +02:00
Aurélien Delobelle
04932dd22a Ajout modif 'is_frozen' sur account create et update 2016-09-03 22:52:55 +02:00
Aurélien Delobelle
f50d5a30cd Fix order_to_inventory et clean js inutile 2016-09-03 22:34:42 +02:00
Aurélien Delobelle
16d4a89023 Fix message 2016-09-03 19:41:44 +02:00
Aurélien Delobelle
0c210aa48c Fix négatif lors d'annulations/transferts 2016-09-03 18:32:12 +02:00
Aurélien Delobelle
88aad45fbb Amélioration début du form account_create 2016-09-03 15:21:26 +02:00
Aurélien Delobelle
a432230128 Fixs annulations
- Fix oublie de @staticmethod pour Settings.CANCEl_DURATION()
- Mise en cache de Settings.CANCEL_DURATION
- Fix sur cancel_operations : mauvais modèles et at
2016-09-03 13:50:40 +02:00
Aurélien Delobelle
d12dfe2f56 Passage de sha1 à sha256 pour le pwd sur Account 2016-09-03 02:54:02 +02:00
Aurélien Delobelle
f1444b2462 Changer le pwd d'un account 2016-09-01 16:31:18 +02:00
Aurélien Delobelle
17723f6ea1 Fix account create (encore) 2016-09-01 15:03:33 +02:00
Aurélien Delobelle
14713ea630 Fix account create 2016-09-01 14:46:10 +02:00
Aurélien Delobelle
9534771cd9 Rework account create
- Affichage des erreurs en cas... d'erreurs !
2016-09-01 05:01:59 +02:00
Aurélien Delobelle
ba0a5d0d27 Py2 compatible 2016-09-01 00:45:44 +02:00
Aurélien Delobelle
e927ad5801 Création décorateur pour perm kfet.is_team
- Un accès sur une vue protégée nécessitant d'être de l'équipe envoie
  vers la page de connexion si l'utilisateur n'est pas connecté
2016-08-31 02:52:13 +02:00
Aurélien Delobelle
3444426114 K-Psul - Edition
- Via "F8", possible de faire des charges sans modifier la caisse si
  l'utilisateur a la permission `kfet.edit_balance_account`. Un
commentaire est alors nécessaire sur la commande.
2016-08-31 01:36:58 +02:00
Aurélien Delobelle
95fd6ed655 article. passe à True si l'article est reçu lors d'une livraison 2016-08-31 01:06:48 +02:00
Aurélien Delobelle
7ea0998bdb Nouveau compte fix
- Pour un compte qui n'est pas du tout déjà présent dans la BDD,
  username doit faire 9 caractères minimum (ty @mpepin) et le champ cof
et login clipper ne sont plus modifiables
2016-08-31 00:36:23 +02:00
Aurélien Delobelle
42cca8f9cf Page détails inventaire 2016-08-30 23:32:54 +02:00
Aurélien Delobelle
db5734ce70 Page article read
- Ajout de l'historique des prix fournisseurs
- Ajout de l'historique des inventaires
2016-08-30 18:56:42 +02:00
Aurélien Delobelle
8a14643ad4 Liste articles 2016-08-30 18:16:57 +02:00
Aurélien Delobelle
925f233e3f Création d'un relevé avec la balance initiale lors de la création d'une
caisse
2016-08-30 17:24:11 +02:00
Aurélien Delobelle
fefa6ca5e2 Création d'un inventaire avec stock initial lors de la création d'un
article
2016-08-30 17:16:00 +02:00
Aurélien Delobelle
3c5f8c49aa Détails commande
- Ajout du détails d'une commande sur sa page
- Réorganisation de la vue `order.read`
- Optimisation queries DB avec select_related sur `OrderList`
2016-08-30 17:07:51 +02:00
Aurélien Delobelle
9467103879 Inventaire depuis une commande
- Possible de générer un inventaire à partir d'une commande passée.
  Préremplissage avec les valeurs commandées.
- Possible d'indiquer les prix d'achat pour avoir l'historique des prix
  d'un article chez un fournisseur. Et bientôt, une proposition
  automatique de prix.
- L'erreur sur le stock d'un article lors d'un inventaire n'est pas mise
  à jour dans le cas où l'inventaire est généré à partir d'une commande.
- Ajout d'un champ `at` au modèle `SupplierArticle` afin de conserver
  l'historique des prix d'achat
- Fix sur la vue `order_create`
2016-08-30 15:35:30 +02:00
Aurélien Delobelle
61feb9bbcd Ajout livraison
- Possible de passer une livraison à un fournisseur
- Proposition de quantités générées à partir des ventes sur les 5
  dernières semaines
- Mail généré à partir d'une commande (pas d'envoi auto)
- box_capacity et box_type passe de SupplierArticle à Article
2016-08-28 05:39:34 +02:00
Aurélien Delobelle
d531c7dd5b Fournisseur
- Liste des fournisseurs sur la page commande (`/orders/`)
- Possibilité d'éditer les infos d'un fournisseur depuis cette page
- Ajout vérification permission pour enregistrer un inventaire
- Fix messages sur vue inventaire create
2016-08-27 22:55:31 +02:00
Aurélien Delobelle
a0f1243690 Modif stock lors d'une annulation
- Le stock n'est pas modifié s'il y a eu un inventaire depuis la date de
  la commande annulée
- La méthode save d'ArticleInventory calcule elle-même l'erreur à partir
  de stock_old et stock_new
2016-08-27 21:43:19 +02:00
Aurélien Delobelle
ffa73c41c3 Ajout du listing et création d'inventaires 2016-08-27 14:12:01 +02:00
Aurélien Delobelle
cd436faf9b Sélection fournisseurs depuis détail d'un article 2016-08-27 00:14:49 +02:00
Aurélien Delobelle
ab9bbac34f Nouvel article - Sélection(et/ou création) de fournisseurs 2016-08-26 23:44:57 +02:00
Aurélien Delobelle
be8243c4ce Ajout liste transferts 2016-08-26 20:14:00 +02:00
Aurélien Delobelle
27b0e3737d Ajout faire des transferts 2016-08-26 15:30:40 +02:00
Aurélien Delobelle
c4fa4ea20c Historique d'un compte
- Reprise en utilisant `history.js`
- Fix csrf_token sur ajax POST K-Psul
- Fix annulation K-Psul
- Ajouts de select_related pour économiser de la requête BDD
2016-08-24 23:34:14 +02:00
Aurélien Delobelle
3b7c690f0b Page Historique
- Reprise du JS d'historique dans `kfet/static/kfet/js/history.js`
- Adapatation de K-Psul pour l'utiliser
- Création page historique avec filtres (dates, caisses, comptes)
2016-08-24 19:52:07 +02:00
Aurélien Delobelle
b380984a1e Reprise de la vue historique
- Ajout de paramètres à cette vue
- `opegroups` contient maintenant une liste de groupes d'opérations et
  non plus un dictionnaire contenant `opegroup.pk` => `opegroup`
2016-08-24 02:05:05 +02:00
Aurélien Delobelle
54ff265b0f Affichage négatifs centralisés
- Accessibles depuis la page des comtpes et avec la perm `kfet.view_negs`
- Ajout du js moment avec timezone oublié précédemment
2016-08-23 20:31:31 +02:00
Aurélien Delobelle
79455193ca Affichage détail compte
- Ajout de l'affichage des totaux venant des majorations/jour
- Fix affichage valid_by historique
2016-08-23 18:15:41 +02:00
Aurélien Delobelle
4048c007ea Affichage des commentaires d'un groupe d'opés dans les historiques 2016-08-23 16:22:19 +02:00
Aurélien Delobelle
9e66137c09 Commandes sur #13
- Un commentaire est demandé. Une permission est nécessaire (afin
  d'enregistrer la personne ayant enregistré la commande)
- Fix annulation K-Psul. Appuyer sur Suppr appelait tout le temps
  `cancelOperations` même si aucune opération à supprimer n'était
sélectionné.
2016-08-23 15:43:16 +02:00
Aurélien Delobelle
f7e9cceb70 Utilisation de moment.js sur K-Psul
Parce que bon, ça fait un peu plus sérieux
2016-08-23 04:35:09 +02:00
Aurélien Delobelle
093c7ffb0e Annulation et balance de caisses
- Une opération annulée alors qu'il y a eu un relevé depuis ne modifie plus
la balance de la caisse
- Fix maj balance caisse lors d'une annulation sur LIQ
2016-08-23 03:27:02 +02:00
Aurélien Delobelle
6a175eee08 Relevés d'une caisse triéés par date desc 2016-08-23 03:00:09 +02:00
Aurélien Delobelle
b6c75fd84a Assistant sur nouveau relevé
- Reprise de l'affichage
- Affichage en direct des totaux et erreurs
- Possibilité de ne pas compter la caisse ajoutée (et identifiée par
  `not_count` dans le modèle Statement si tel est le cas)
2016-08-23 02:45:49 +02:00
Aurélien Delobelle
f73b25e65f Amélioration gestion des relevés
Nouveau relevé:

Il faut donner le détail du nombre de chaque
  pièces/billets pris et laissé en caisse pour calculer les valeurs
`balance_new` et `amount_taken` d'un relevé (`CheckoutStatement`).
L'erreur est directement calculée par rapport à la balance actuelle de
la caisse et ces 2 valeurs. Une erreur positive correspond à un surplus
d'argent et inversement.

Modification d'un relevé:

Il est possible de modifier les infos d'un ancien relevé. L'erreur est
ensuite recalculée à partir de ces infos.
Important: Dans le cas où `balance_new` est modifiée et qu'il s'agit du
relevé le plus récent sur cette caisse. Alors la balance de la caisse
est mise à jour en prenant en compte cette correction (et en conservant
les modifications s'il y a eu des mouvements sur la caisse)
2016-08-23 00:15:17 +02:00
Aurélien Delobelle
e89f8fd6a5 Gestion négatif d'un compte
- 3 paramètres ajustables : date jusqu'à, montant max, décalage de
  balance
2016-08-22 20:07:01 +02:00
Aurélien Delobelle
4e6f12bb6d Fix calcul majoration
La subvention COF s'applique correctement à une majoration
2016-08-22 18:08:44 +02:00
Aurélien Delobelle
44d9e8d8ed Affichage majoration sur les historiques 2016-08-22 17:57:08 +02:00
Aurélien Delobelle
44ea94520b Meilleure gestion des erreurs lors d'un ajout de majoration 2016-08-22 16:29:12 +02:00
Aurélien Delobelle
4941b11f56 Affichage majoration K-Psul
- Le fond change de couleur lorsqu'il y a une majoration. La majoration
  est indiquée dans le cadre sur la caisse (et clignote !)
- Meilleure prise en charge des paramètres sur K-Psul
2016-08-22 16:08:21 +02:00
Aurélien Delobelle
e27559d123 Majoration sur K-Psul
En appuyant sur F9, il est possible de définir une majoration destinée à
un compte en donnant le trigramme du compte destinataire et la valeur en
euro de la majoration par article
2016-08-22 05:41:31 +02:00
Aurélien Delobelle
7ca123e885 Création auto des settings si inexistant
- S'effectue en allant sur la page `Paramètres` (perm
  `kfet.change_settings` nécessaires même pour voir les paramètres)
- Correction websocket perform operations lorsqu'il n'y avait pas de
  majorations en cours
2016-08-22 04:21:10 +02:00
Aurélien Delobelle
ee998f8a24 Ajout lecture/édition des paramètres généraux 2016-08-22 03:57:13 +02:00
Aurélien Delobelle
b628808493 Auth et affichage caisses 2016-08-22 02:52:59 +02:00
Aurélien Delobelle
90e8ece783 Affichage et auth sur les caisses et relevés
- Auth K-Fêt fonctionne
- Affichage repris
2016-08-22 01:57:28 +02:00
Aurélien Delobelle
74c3f07c66 Ajout nouvelle catégorie/article + auth/article
- Lors de la création ou modification d'un article, il est possible de
  sélectionner une catégorie existante ou d'en créer une nouvelle.
- Autorisations pour la création/modif d'article prises en compte
  correctement. Si l'utilisateur identifié n'a pas la permission
add(ou change)_accoount, input password apparait et l'utilisateur est
identifié temporairement pour la validation de l'ajout/modif.
2016-08-21 18:10:35 +02:00
Aurélien Delobelle
8329c0b511 Ajout création/modification groupes K-Fêt 2016-08-21 05:51:55 +02:00
Aurélien Delobelle
e64a443fb3 Ajout groupes K-Fêt utilisateurs en lecture
- Pour voir les groupes, il faut la permission `kfet.manage_perms`
- Pour modifier les groupes auxquels fait parti un compte, il la faut
  également
2016-08-21 02:53:35 +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
a3ad34521c Correction connexion équipe standard
L'utilisateur est maintenant déconnecté de CAS au passage en utilisateur
standard
2016-08-20 21:08:33 +02:00
Aurélien Delobelle
6ec42edd60 Authentification utilisateur standard équipe
- Un utilisateur ayant la perm `kfet.is_team` peut se déconnecter et
  connecter à la place un utilisateur `kfet_genericteam` ne disposant
  que de la permission `kfet.is_team`
- Backend et vue associée à cette connexion créés
2016-08-20 19:35:45 +02:00
Aurélien Delobelle
ee583c3cfb Ajout historique d'un compte
- Création d'un style général pour les historiques
- Reprise de l'affichage historique K-Psul
2016-08-20 17:18:41 +02:00
Aurélien Delobelle
813b7230b6 Correction nouveau neg
- Echec d'indentation corrigé
- Plus de CSS pour les pages normales
2016-08-20 01:20:06 +02:00
Aurélien Delobelle
056fb610de Fix annulation K-Psul
Le cas où une commande est annulée dans le temps avant CANCEL_DURATION
ne pose plus problème.
2016-08-19 06:39:25 +02:00
Aurélien Delobelle
c12efee413 Ajout de boutons raccourcis pour les comptes et les caisses 2016-08-19 02:56:45 +02:00
Aurélien Delobelle
e9835c7cac Reprise de ce qu'affiche l'historique
- Ajout style sur l'historique
- Style: Le gris passe en background, plus de rouge en avant
- Opacité plus importante pour le fond pendant les charges et retraits
- Correction sur l'affichage de LIQ. La couleur de fond indiquait
  trigramme inexistant à cause de modifs récentes
- des parseFloat ont été ajoutés un peu de partout pour les problèmes de type
  de JS (il a des jours avec et des jours sans...)
- Ajout des montants en euros des charges et des retraits (en plus de
  ceux en UKF) dans le panier
- Les commandes sur LIQ dans l'historique n'affichent plus la diff de
  balance (puisque ça n'a pas vraiment de sens) mais les montants en
  euros
2016-08-19 01:08:57 +02:00
Aurélien Delobelle
e7f37351a7 Annulations sur K-Psul
- Ajout de l'annulation depuis l'historique
- La view kpsul_perform_operations envoie le statut cof pour le
  websocket. Cela sert à l'affichage de l'historique
2016-08-18 18:26:58 +02:00
Aurélien Delobelle
8c3488a610 - Affichage des prix/solde de compte en UKF (donc en prennant en compte le
statut COF)
- Possible de sélectionner des items (charges/retraits/achats) dans le
  panier et de les en enlever en pressant "Suppr"
- Possibilité de quitter la fenêtre de charge/retrait avec Echap
  (Correction effectuée dans jconfirm.js pour éviter le bug ou "Enter"
  ajoutait 2 fois la charge/retrait)
- Ajout/Modif de raccourcis: Shift+F2 reset le panier, F2 le compte
  sélectionné, F3 ouvre la fenêtre de charge, Shift+F3 celle de retrait
- JS : Clean des fonctions de reset/Renommage de fonctions pour être
  plus clair/Un peu de réorganisation
2016-08-18 05:33:42 +02:00
Aurélien Delobelle
a9cec3a920 Option sur les reset K-Psul pour donner le focus ou non à input
trigramme
2016-08-17 11:51:44 +02:00
Aurélien Delobelle
a5e571de97 Enregistrement des charges et retraits K-Psul
- Ajouter une charge ou un retrait l'ajoute au formset
- Envoi du panier en appuyant sur "Enter" si le focus est sur l'autocomplétion d'article puis soft reset
2016-08-17 11:44:58 +02:00
Aurélien Delobelle
82f0dd9638 Interface K-Psul
- Création style kpsul.css
- Affichage trigramme et données du compte. Couleurs en fonction de
  l'état du compte (négatif, pas beaucoup, gelé, ok)
- Affichage de la sélection et des données de la caisse
- Ajout des boutons pour les charges et retraits (juste les boutons)
- Ajout du champ d'autocomplétion pour les articles (et ça autocomplète bien)
- Correction css général
- K-Psul JS: utilisation de $.extend pour les données récupérées en
  ajax/websocket pour utiliser les valeurs par défaut (plus joli)
2016-08-16 03:36:14 +02:00
Aurélien Delobelle
39af9afd5b moins de print qui se baladent 2016-08-15 12:15:11 +02:00
Aurélien Delobelle
70eab07b8b Correctifs 2016-08-15 01:48:22 +02:00
Aurélien Delobelle
55fd10f9d4 Affichage articles dans K-Psul
- Ajout de la liste des articles dans K-Psul
- Synchro des stocks de cette liste avec les autres instances de K-Psul

- Utilisation des attributs "data-..." pour stocker les id des articles,
  groupes d'opérations et opérations dans K-Psul
- Correction de la vue kpsul_cancel_operations sur le calcul des
  nouvelles balances de caisses
- Même vue : multiples requêtes dans la récupération des nouveaux
  montants de groupes d'opérations remplacées par 1 seule requête pour
  le websocket
- Même vue : ajout des données de nouvelles balances de caisses pour le
  websocket
2016-08-14 23:37:05 +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
e30610701a Account/Checkout data K-Psul + Style
- Template: Ajout d'un style "Sogé" (couleurs de la K-Fêt...)
- K-Psul: Optimisation requête checkout data avec dernier relevé
- K-Psul: Rework JS account et checkout data
2016-08-12 10:03:39 +02:00
Aurélien Delobelle
996baa944c Ajout des relevés 2016-08-11 15:14:23 +02:00
Aurélien Delobelle
51c1767ffe Rework validation et enregistrement opés K-Psul
- Utilisations d'update pour les balances et autres afin d'éviter les
  lost update
- Validation tout en un puis enregistrement tout en un
- Ajout du lien vers K-Psul dans le nav
2016-08-11 06:13:31 +02:00
Aurélien Delobelle
7af7c03466 get_missing_perms dans perform K-Psul
Car plus performante en requête BDD
2016-08-09 11:06:42 +02:00
Aurélien Delobelle
2c2f82a0f7 Ajout des annulations sur K-Psul 2016-08-09 11:02:26 +02:00
Aurélien Delobelle
070752bd01 LIQ et caisse dans K-Psul
- Les charges et retraits sur des comptes modifient la balance de la
  caisse sélectionnée.
- Comportement particulier pour le compte LIQ :
    Pas de charge, pas de retrait. La balance de LIQ n'est jamais
    modifiée (donc pas d'entrée dans AccountNegative). Les achats sur LIQ
    modifient la balance de lacaisse.
2016-08-08 12:46:43 +02:00
Aurélien Delobelle
510e16eecf Gestion des commandes K-Psul donnant un négatif
* Settings
  - New: OVERDRAFT_AMOUNT
        Découvert autorisé par défaut
  - New: OVERDRAFT_DURATION
        Durée maximum d'un découvert par défaut
* K-Psul : Gestion des commandes aboutissant à un négatif
  - Si une commande aboutit à un nouveau solde négatif, demande la
      permission 'kfet.perform_negative_operations'
  - Si le total de la commande est négatif, vérifie que ni la
      contrainte de temps de découvert, ni celle de montant maximum
      n'est outrepassée. Si ce n'est pas le cas, la commande ne peut
      être enregistrée jusqu'à définir des "règles de négatif" pour le compte
      concerné.
      La durée maximum d'un découvert est celle dans AccountNegative si
      elle y est définie pour le compte concerné, sinon celle par défaut
      (Settings.OVERDRAFT_DURATION).
      Il en est de même pour le découvert maximum autorisé. Attention:
      le découvert doit être exprimé sous forme de valeur positive aussi
      bien dans AccountNegative que pour Settings.OVERDRAFT_AMOUNT.
  - Si les permissions nécessaires sont présentes, qu'il
      n'y a pas de blocage et que le compte n'a pas encore d'entrée dans
      AccountNegative, création d'une entrée avec start=now()
  - Si la balance d'un compte est positive après une commande, supprime
      l'entrée dans AccountNegative associée au compte si le "décalage
      de zéro" (donné par balance_offset) est nul. Sinon cela veut dire
      que le compte n'est pas réellement en positif.
* Modèles
    - Fix: Account.save() fonctionne dans le cas où data est vide
    - Modif: AccountNegative - Valeurs par défaut, NULL...
2016-08-08 07:44:05 +02:00
Aurélien Delobelle
897986fec8 Correction commit f9c8708 2016-08-08 04:11:08 +02:00
Aurélien Delobelle
4c8b23e999 Correction de l'usage de transaction dans K-Psul 2016-08-08 03:32:48 +02:00
Aurélien Delobelle
726f42c469 Correction code HTTP K-Psul
- Corrige le code HTTP de 400 (BAD REQUEST) à 403 (FORBIDDEN) dans le
  cas où l'utilisateur authentifié n'a pas les permissions nécessaires
  pour enregistrer une commande K-Psul
2016-08-08 03:15:11 +02:00
Aurélien Delobelle
11452d7633 Ajout des majorations (type concert)
- Ajout des paramètres (modèle Settings) "ADDCOST_AMOUNT" et
  "ADDCOST_FOR" indiquant respectivement le montant et le compte sur lequel
  compter la majoration. Définir l'un de ces paramètres à NULL indique
  qu'il n'y a pas de majoration en cours
- Prise en compte de ces 2 paramètres lors de la validation et
  l'enregistrement d'opérations d'achat (Operation.PURCHASE) dans K-Psul
- Modification du champ "addcost_amount" de Operation. S'il n'y a pas de
  majoration, celui-ci est NULL.
- Correction sur l'enregistrement de "valid_by" dans K-Psul. Celui-ci
  était systématiquement rempli par l'utilisateur connecté ce qui
  n'était pas le comportement souhaité. Il est maintenant rempli
  seulement si une permission autre que kfet.is_team était nécessaire
  pour valider la commande.
- Suppression d'une exception non utilisée dans le modèle Settings
2016-08-08 02:50:04 +02:00
Aurélien Delobelle
03aa26e34f Enregistrement d'opérations K-Psul
- Le stock des articles est mis à jour
2016-08-08 00:41:31 +02:00
Aurélien Delobelle
d065c7634c Enregistrement d'opérations K-Psul
- Le solde (balance) du compte sur lequel a été effectuée la commande
  est mis à jour
2016-08-08 00:34:09 +02:00
Aurélien Delobelle
e55d45b559 Corrections sur commit précédent 2016-08-08 00:24:46 +02:00
Aurélien Delobelle
e978209ebc Enregistrement des opérations dans K-Psul
- Ajout d'une transaction pour tous les save lors d'une commande K-Psul
  afin de préserver la cohérence de la BDD
2016-08-08 00:13:53 +02:00
Aurélien Delobelle
4cb89aa005 Gestion des permissions dans K-Psul
- Ajout d'une méthode sur Account pour connaître les permissions
  nécessaires pour enregistrer des opérations en fonction du futur solde
  du compte
- Ajout d'une permission pour effectuer une charge sur un compte
- Ajoute que l'utilisateur connecté doit avoir toutes les permissions
  nécessaires pour enregistrer un groupe d'opérations. Si ce n'est pas
le cas, aucune opération n'est enregistrée et les permissions manquantes
sont envoyées en réponse.
- Dans le cas d'une charge ou d'un retrait, "article" et "article_nb" de
  Operation sont définis à NULL
2016-08-07 23:41:46 +02:00
Aurélien Delobelle
346cbb2695 Calcul du montant des opérations achats
- Ajout d'un modèle settings
- Ajout de la prise en compte du statut COF dans le montant d'une
  opération achat avec la majoration définie dans le modèle settings
  (name="SUBVENTION_COF")
2016-08-07 18:37:06 +02:00
Aurélien Delobelle
49bb7d99cd Modification de l'enregistrement sur K-Psul
- Passe le calcul du montant d'un achat dans la vue au lieu du clean du
  form
- Corrige le calcul d'un achat et le calcul total du montant de la commande
- Ajoute l'enregistrement du statut COF de la personne associée à la
  commande

La subvention COF, la majoration possible (type concert), autres...
devront être prises en compte donc le calcul d'un achat doit être dans
la vue.
Les achats et les retraits doivent avoir un montant négatif tandis que
les charges ont un montant positif.
L'enregistrement du statut COF servira aux futures statistiques.
2016-08-07 17:22:39 +02:00
Aurélien Delobelle
5ff7ee51b3 Correction sur la validation dans K-Psul
- Validation d'un OperationGroup par le form associé et sa méthode
  is_valid
- Validation d'une Operation par la méthode clean() du form associé
  selon le type d'opération effectuée
2016-08-07 17:02:01 +02:00
Aurélien Delobelle
fdb105ab84 Vérification supplémentaire sur K-Psul
- Ajout d'une exception Checkout.IsProtected
- Rend impossible d'utiliser une caisse (Checkout) protégée
  (is_protected) dans K-Psul

Une caisse protégée est, par exemple, la caisse qui recevra les
rechargements par CB en ligne.
2016-08-06 23:59:44 +02:00
Aurélien Delobelle
ffc845aefa Correctifs
- Fix: décommente du code nécessaire et nom plus identifiable
- Fix: erreur de types dans les modèles OperationGroup et Operation
2016-08-06 23:44:58 +02:00
Aurélien Delobelle
6be65df654 Création de K-Psul
K-Psul est l'interface pour l'équipe K-Fêt servant à effectuer des
opérations sur les comtpes

General :
- Ajout d'un default sur le montant d'un groupe d'opérations

K-Psul :
- Création de l'interface pour enregistrer une opération
2016-08-06 22:19:52 +02:00
Aurélien Delobelle
5b3613b6f6 Gestion primitive des articles
- Gestion CRU des articles
2016-08-04 08:23:34 +02:00
Aurélien Delobelle
2786f834a5 Vues gestion caisses et amélioration Account
- General :
    - Ajout de la gestion des messages dans le template base
    - jQuery et bootstrap ajoutés au template base
    - Ajout de DateTimeWidget utilisant bootstrap-datetimepicker pour
      les champs DateTime
- Account :
    - Ajout de propriétés aux modèles pour accéder directement à
      certains éléments sans avoir à passer par les relations
    - Suppression d'une méthode inutile dans le modèle
    - Correction de permission dans la vue update
    - Utilisation des messages pour la création et l'édition d'un compte
- Checkout :
    - gestion initiale CRU
2016-08-04 05:21:04 +02:00
Aurélien Delobelle
49fdaa6824 Minor changes
- Création d'un template pour nav
- Modification des liens entre les pages account
- Correction de la balise form dans account_update.html
- Ajout d'un nom pour la résolution inversée de account
2016-08-03 06:33:27 +02:00
Aurélien Delobelle
b8fe555741 Gestion très primaire des utilisateurs 2016-08-03 04:57:28 +02:00
Aurélien Delobelle
43d938edd0 initial 2016-08-02 10:40:46 +02:00