Commit graph

65 commits

Author SHA1 Message Date
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
ddc81540c7 Affichage des erreurs lors d'une annulation 2016-08-20 17:56:38 +02:00
Aurélien Delobelle
97b54deb5d Affichage des erreurs lors d'une commande 2016-08-20 17:55:46 +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
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
5643e0c1d9 Correction event JS
- Chrome voulait pas d'événements keypress sur les touches fonctions
- Correction erreur pk/id
2016-08-19 03:07:21 +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
c6a24733f3 Correction pas joli 2016-08-19 01:57:54 +02:00
Aurélien Delobelle
127c98b2bf Correction réinitialisation de l'historique 2016-08-19 01:51:03 +02:00
Aurélien Delobelle
430cddae9a Virage de bordures pas très belles 2016-08-19 01:44:56 +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
b8ae482a60 Fin panier ?
- Ajout des infos panier en fonction du trigramme (LIQ ou compte)
- Mise à jour des infos panier si le compte sélectionné change
- Correction sur calcul d'un montant en UKF
2016-08-18 16:38:44 +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
8a85125fee K-Psul: resetBasket réinitialise le formset 2016-08-17 11:56: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
084b77f919 Panier K-Psul
- Ajout affichage panier
- Ajout possibilité d'ajouter des articles, charges et retraits au
  panier
- Ajout de l'affichage des articles correspondants à l'autocomplétion
  en cours
- Affichage compte + responsive
- Ajout raccourcis : F1 soft reset, F2 charge, F3 retrait, F10 hard
  reset
- Ajout suite focus automatiques:
  trigramme: si valide -> article sélection: si trouvé -> article nb: si
  enter et valide -> article sélection....
2016-08-17 00:46:31 +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
618f89525e correction js 2016-08-14 20:27:13 +02:00
Aurélien Delobelle
2c0bfd90e0 Suppression js inutile 2016-08-14 20:08:52 +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
820687c8af Correction JS K-Psul Account data 2016-08-13 10:07:35 +02:00
Aurélien Delobelle
10623646dd Style templates 2016-08-12 11:41:52 +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
fb8882d06e Rename model: Statement -> CheckoutStatement
Nom plus clair
2016-08-11 06:49:39 +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
5abffb099f Correction d'une permission dans le templace nav 2016-08-08 08:36:46 +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
f9c87088fc Validation commande K-Psul (compte gelé)
- Empêche l'enregistrement de commande sur un compte gelé sans la
  permission 'kfet.override_frozen_protection'
- Modifie les noms de deux permissions pour éviter d'avoir des 'can_...'
  partout
2016-08-08 03:49:10 +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
515a7ce28e Modèle settings
- Ajout de l'unicité du nom d'un paramètre

Ce qui a pour conséquence de rajouter un index sur le nom, ce qui est
bien
2016-08-07 18:41:09 +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