Commit dd49cc1b authored by Hamza Dely's avatar Hamza Dely

[consos/models] Suppression des modèles Paiement, Action, Categorie

parent 8cc0d054
......@@ -4,11 +4,12 @@
from rest_framework import routers
from consos.views import NoteViewSet
from consos.views import NoteViewSet, BoutonViewSet, TransactionViewSet
router = routers.DefaultRouter()
router.register(r'notes', NoteViewSet)
#router.register(r'adherents', AdherentViewSet)
router.register(r'boutons', BoutonViewSet)
router.register(r'transactions', TransactionViewSet)
urlpatterns = router.urls
......@@ -7,7 +7,14 @@ import itertools
from django import forms
from django.db.models import F
from consos.models import Bouton, Action, Paiement, Categorie, Note, Transaction
from consos.models import Bouton, Note, Transaction
MOYENS_DE_PAIEMENT_CONSOS = [
(Transaction.NOTE, Transaction.NOTE),
(Transaction.ESPECES, Transaction.ESPECES),
(Transaction.VIREMENT, Transaction.VIREMENT),
(Transaction.CB, Transaction.CB),
]
class BoutonConsoForm(forms.Form):
"""
......
......@@ -68,27 +68,52 @@ class Transaction(models.Model):
"""
Une transaction stockée dans la base de données.
- date [tstz] : Date de la transaction
- action [int*] : Action effectuée (Crédit, Débit, ...)
- moyen [int*] : Moyen de paiement utilisé
- quantite [int] : Quantité de produit échangée
- montant [Decimal] : Prix unitaire du produit
- catégorie [int*] : Catégorie du produit
- description [varchar] : Commentaire/Description de la transaction
- valide [boolean] : La transaction est-elle valide ?
- emetteur [int*] : Émetteur de la transaction
- destinataire[int*] : Destinataire de la transaction
"""
- date [tstz] : Date de la transaction
- action [varchar(255)] : Action effectuée (Crédit, Débit, ...)
- moyen [varchar(255)] : Moyen de paiement utilisé
- quantite [int] : Quantité de produit échangée
- montant [Decimal] : Prix unitaire du produit
- categorie [varchar(255)] : Catégorie du produit
- description [varchar] : Commentaire/Description de la transaction
- valide [boolean] : La transaction est-elle valide ?
- emetteur [int*] : Émetteur de la transaction
- destinataire[int*] : Destinataire de la transaction
"""
## Moyens de paiement
NOTE = "note"
CHEQUE = "chèque"
ESPECES = "espèces"
VIREMENT = "virement"
CB = "carte bancaire"
MOYENS_DE_PAIEMENT = [
(NOTE, NOTE),
(CHEQUE, CHEQUE),
(ESPECES, ESPECES),
(VIREMENT, VIREMENT),
(CB, CB),
]
## Actions
CREDIT = "crédit"
RETRAIT = "retrait"
TRANSFERT = "transfert"
ACTIONS = [
(CREDIT, CREDIT),
(RETRAIT, RETRAIT),
(TRANSFERT, TRANSFERT),
]
## Champs du modèle
date = models.DateTimeField(auto_now_add=True, null=False)
action = models.ForeignKey('consos.Action', on_delete=models.CASCADE, null=False, blank=False)
moyen = models.ForeignKey('consos.Paiement', on_delete=models.CASCADE, null=False, blank=False)
action = models.CharField(max_length=255, null=False, blank=False, choices=ACTIONS)
moyen = models.CharField(max_length=255, null=False, blank=False, choices=MOYENS_DE_PAIEMENT)
quantite = models.IntegerField(
"quantité", null=False, blank=False, validators=[quantite_minimale] # XXX: Valeur par défaut = 1 ?
)
montant = models.DecimalField(max_digits=11, decimal_places=2, null=False, blank=False)
categorie = models.ForeignKey(
'consos.Categorie', on_delete=models.CASCADE, null=False, blank=False
)
categorie = models.CharField(max_length=255, null=False, blank=False)
description = models.TextField(null=False, blank=True)
valide = models.BooleanField(default=True)
emetteur = models.ForeignKey(
......@@ -135,9 +160,7 @@ class Bouton(models.Model):
"""
etiquette = models.CharField(max_length=255, null=False, blank=False, unique=True)
description = models.TextField(null=False, blank=True)
categorie = models.ForeignKey(
'consos.Categorie', on_delete=models.CASCADE, null=False, blank=False
)
categorie = models.CharField(max_length=255, null=False, blank=False)
montant = models.DecimalField(max_digits=11, decimal_places=2, null=False, blank=False)
credite = models.ForeignKey('consos.Note', on_delete=models.CASCADE, null=True, blank=True)
actif = models.BooleanField(default=True)
......@@ -154,53 +177,12 @@ class Bouton(models.Model):
def __str__(self):
return "%s (%s)" % (self.etiquette, self.montant)
class Categorie(models.Model):
"""
Une catégorie pour un produit.
- nom [varchar(255)] : Nom de la catégorie
- description [varchar] : Description de la catégorie
"""
nom = models.CharField(max_length=255, null=False, blank=False, unique=True)
description = models.TextField(null=False, blank=True)
class Meta:
default_permissions = []
def __str__(self):
return self.nom
class Paiement(models.Model):
"""
Un moyen de paiement enregistré dans la note
- moyen [varchar(255)] : Libellé du moyen de paiement
- description [varchar] : Description du moyen de paiement
"""
moyen = models.CharField(max_length=255, null=False, blank=False, unique=True)
description = models.TextField(null=False, blank=True)
class Meta:
default_permissions = []
def __str__(self):
return self.description
class Action(models.Model):
"""
Une action possible décrivant une transaction (crédit, débit, ...)
- action [varchar(255)] : Libellé de l'action
- description [varchar] : Description de l'action
"""
action = models.CharField(max_length=255, null=False, blank=False, unique=True)
description = models.TextField(null=False, blank=True)
class Meta:
default_permissions = []
def __str__(self):
return self.description
def save(self, *args, **kwargs):
"""
Enragistre un nouveau bouton, et la nouvelle catégorie à laquelle il appartient
le cas échéant.
"""
return super().save(*args, **kwargs)
class Cotisation(models.Model):
"""
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment