Commit graph

54 commits

Author SHA1 Message Date
Michele Orrù 376e829502 Reaching a point where I can query /k-fet.
Edit forms and views in app kfet to make the depend on gestion.Profile and not
on cof.CofProfile.
2017-02-11 15:07:45 +01:00
Michele Orrù 815a5f274c Fix some reviewing considerations.
- appropriate naming for migration
- remove __future__ imports.
- remove "CofProfile" left in kfet/models.py
2017-02-11 00:33:46 +01:00
Michele Orrù 25c3106168 Add some tests about how profiles types should relate to each other. 2017-02-11 00:33:36 +01:00
Michele Orrù 22da04c3e2 s/cofprofile/profile/g into k-fêt.
This commit also restores the only unittest present.
2017-02-11 00:32:58 +01:00
Ubuntu f39d1545f0 Generic profiles and migrations.
Creating profiles for BDS, COF and K-Fêt.
2017-02-10 22:12:03 +01:00
Martin Pépin 5aff771d9c Set the new structure of gestioCOF
- `cof` is renamed `gestioCOF`
- `gestioncof` become `cof` (yes it looks pretty stupid but it is not)
- `bds` is created
2017-02-09 21:28:36 +01:00
Aurélien Delobelle db4ae73dfd Fix acc neg 2016-09-05 19:19:09 +02:00
Aurélien Delobelle 16fe7eb994 Ajout champ création sur modèle Account 2016-09-05 13:59:14 +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 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 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 f1444b2462 Changer le pwd d'un account 2016-09-01 16:31:18 +02:00
Aurélien Delobelle 94989b0ad2 Oubli compat Py2 req (encore) 2016-09-01 01:02:15 +02:00
Aurélien Delobelle ba0a5d0d27 Py2 compatible 2016-09-01 00:45:44 +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 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 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 ab9bbac34f Nouvel article - Sélection(et/ou création) de fournisseurs 2016-08-26 23:44:57 +02:00
Aurélien Delobelle 27b0e3737d Ajout faire des transferts 2016-08-26 15:30:40 +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 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 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 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 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 ac61a6e5c6 Correction sélection annulation(s) 2016-08-20 21:22:24 +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 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 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 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 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 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 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
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 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 e9bbb35e66 Ajout d'un index sur Account.trigramme
En fait inutile car déjà créé du fait de la contrainte d'unicité
2016-08-04 17:38:58 +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 092c3ce5d4 Clarification attribut AccountNegative
- frozen -> is_frozen
- migration :
    - AccountNegative : frozen -> is_frozen
    - Rajout d'un default sur Checkout.balance
2016-08-04 06:00:47 +02:00