diff --git a/docs/manuel/src/03-existant/modules/payment.md b/docs/manuel/src/03-existant/modules/payment.md index db3b742f..e976322e 100644 --- a/docs/manuel/src/03-existant/modules/payment.md +++ b/docs/manuel/src/03-existant/modules/payment.md @@ -20,6 +20,14 @@ automatiquement à la création d'un tournoi (et plus tard, d'un créneau pizza) Ils contiennent plusieurs info comme le nom, le prix, la description, les dates de début et de fin de vente, etc. +## Discount + +Les réductions sont créées manuellement par les admins. Elles font le lien entre +un utilisateur et un produit. La valeur de la réduction et une description sont +également stockées dans ce modèle. Les réductions doivent être ajoutés en amont +du paiement et peuvent être utilisées une seule fois. Cela peut permettre de +réduire le prix d'un pour certains joueurs. + ## Transaction Les transactions sont créées à chaque fois qu'un utilisateur initie un paiement diff --git a/insalan/payment/models.py b/insalan/payment/models.py index 032a920a..93f482a0 100644 --- a/insalan/payment/models.py +++ b/insalan/payment/models.py @@ -420,7 +420,11 @@ class Meta: Product, null=True, on_delete=models.SET_NULL, verbose_name=_("Produit") ) discount = models.DecimalField( - null=False, max_digits=5, decimal_places=2, verbose_name=_("Réduction") + null=False, + max_digits=5, + decimal_places=2, + min_value=Decimal("0.00"), + verbose_name=_("Réduction") ) reason = models.CharField(max_length=200, verbose_name=_("Motif")) creation_date = models.DateTimeField(