Commit graph

206 commits

Author SHA1 Message Date
Aurélien Delobelle
42f6144226 Fix reset cache lors d'un update settings 2016-09-03 18:07:43 +02:00
Aurélien Delobelle
6899476868 Fix calcul stock error inventaire 2016-09-03 18:04:00 +02:00
Aurélien Delobelle
ef7e520b72 Ajout redirection après déconnexion 2016-09-03 17:59:31 +02:00
Aurélien Delobelle
2cc488a710 Affichage COF/Non-COF K-Psul 2016-09-03 17:51:12 +02:00
Aurélien Delobelle
47146a2ced Fix lien vers gestion négatif depuis K-Psul 2016-09-03 17:42:27 +02:00
Aurélien Delobelle
8f2dd8dda0 Ajout transferts dans le menu admin 2016-09-03 16:47:22 +02:00
Aurélien Delobelle
4d75424a81 Fix account create majuscule trigramme 2016-09-03 16:41:02 +02:00
Aurélien Delobelle
f5e334afe0 Protocole websocket K-Psul
- Si https, le protocole du websocket est wss
- Sinon, ws
2016-09-03 16:07:33 +02:00
Aurélien Delobelle
f502814d82 Amélioration form account_create 2016-09-03 16:03:36 +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
0e90949f91 Ajout "K-Fêt" dans le nom d'un groupe
L'ajout automatique de "K-Fêt" dans le nom d'un groupe empêche de créer
un groupe sans "K-Fêt" et donc de ne pas le voir dans la liste des
groupes.
Une indication est ajouté dans le formulaire pour créer/modifier un
groupe pour indiquer que "K-Fêt" va être ajouté au début du nom du
groupe.
2016-09-03 14:06:51 +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
7bfd2e2f9a Ajout /ws/ for websocket path 2016-09-03 01:21:49 +02:00
Aurélien Delobelle
9aa0e8b89d Message 2016-09-02 14:50:09 +02:00
Aurélien Delobelle
13d576b3b5 Fix pwd account 2016-09-02 14:17:11 +02:00
Aurélien Delobelle
723a35b7ad Fix need account si request.user has_permkfet.is_team 2016-09-02 01:24:14 +02:00
Aurélien Delobelle
f1444b2462 Changer le pwd d'un account 2016-09-01 16:31:18 +02:00
Aurélien Delobelle
150731c2e9 Affichage promo liste accounts 2016-09-01 15:55:06 +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
04267ef76d Auth K-Fêt account_create 2016-09-01 05:07:17 +02:00
Aurélien Delobelle
9534771cd9 Rework account create
- Affichage des erreurs en cas... d'erreurs !
2016-09-01 05:01:59 +02:00
Martin Pépin
8c8f57b3e0 Merge branch 'k-fet' of git.eleves.ens.fr:cof-geek/gestioCOF into k-fet 2016-09-01 01:02:49 +02:00
Aurélien Delobelle
94989b0ad2 Oubli compat Py2 req (encore) 2016-09-01 01:02:15 +02:00
Martin Pépin
04161cd7d4 Petites corrections
- Ajout de migrations manquantes dans `gestioncof` et `bda`.
- `kfet/migrations/0001_initial.py` requiert désormais une migration qui existe.
- Paquet manquant dans l'approvisionnement Vagrant.
2016-09-01 00:59:50 +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
990643e5d4 Ajout raccourci K-Psul pour LIQ : flèche bas 2016-08-31 01:03:19 +02:00
Aurélien Delobelle
c27222c751 Fix requêtes AJAX simultanées K-Psul
- `lock` limite à 1 le nombre de requêtes AJAX critiques (perform/cancel
  operations) simultanées afin d'éviter de compter plusieurs la même
commande. Ce qui arrivait dans le cas où le panier était fait et en
tapant 2 fois enter rapidement (la 2nde requête était lancée avant que
la réponse de la 1ère ne revienne)
2016-08-31 00:54:16 +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
a59dabd114 Style/Mise en page 2016-08-30 20:32:00 +02:00
Aurélien Delobelle
e96bbe3c50 Ajout fournisseur à la liste des histos prix d'articles 2016-08-30 18:58:37 +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
72a4f5563e Nav + lien inventaire -> commande 2016-08-30 16:43:20 +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
022e1f3984 Fix 2016-08-26 15:38:44 +02:00
Aurélien Delobelle
27b0e3737d Ajout faire des transferts 2016-08-26 15:30:40 +02:00
Aurélien Delobelle
9b548c9e45 Annulations sur la page Historique
- Possibilité une (ou plusieurs) opération(s). L'affichage de
  l'annulation n'est pas encore en direct
2016-08-25 02:32:11 +02:00
Aurélien Delobelle
dc52e9570a Préparation annulation sur page Historique
- JS d'annulation de commande passé de `kpsul.html` vers `history.js`
- Fix orthographe
- Champs de filtres sur la page `Historique` plus propre
2016-08-25 01:52:20 +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
bbbfd4aef5 Moment.js sur les dates d'annulation K-Psul 2016-08-23 04:46:28 +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
8f76986f89 Affichage date dernier relevé K-Psul en heure locale 2016-08-23 03:39:33 +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
313764dcf4 Plus d'infos dans la liste des relevés d'une caisse 2016-08-23 03:07:47 +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
9a574941f0 Affichage annulation historique
- Les infos d'annulations apparaissent sur les historiques (K-Psul et
  standard)
- Les infos de validation apparaissent sur l'historique standard si la
  personne est de l'équipe
- Si la ligne contenant les données d'une opération est trop longue,
  celle-ci est scrollable (exemple : opé annulée sur K-Psul)
2016-08-22 17:39:07 +02:00
Aurélien Delobelle
170a827e99 Ajout validé par + Fix annulations
- La personne validant une commande apparaît dans l'historique K-Psul
- 2 fix annulation K-Psul
2016-08-22 17:01:26 +02:00
Aurélien Delobelle
abb4be62aa Le panier prend en compte la majoration 2016-08-22 16:42:03 +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
8b66294b41 Valeur supprimée du cache si paramètre updated 2016-08-22 04:25:44 +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
a6b961d2ab Texte dernier relevé ne s'affiche pas s'il n'y a en pas 2016-08-21 16:45:25 +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
ac61a6e5c6 Correction sélection annulation(s) 2016-08-20 21:22:24 +02:00
Aurélien Delobelle
25dd34e402 Correction annulation
Chrome ne voulait toujours pas de `keypress` sur `$(document)`
-> Corrigé avec un `keydown`
2016-08-20 21:15:14 +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
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