diff --git a/code/haitiwater/apps/financial/models.py b/code/haitiwater/apps/financial/models.py index 71a8362..4b680c5 100644 --- a/code/haitiwater/apps/financial/models.py +++ b/code/haitiwater/apps/financial/models.py @@ -1,3 +1,24 @@ from django.db import models +from ..consumers.models import Consumer +from ..water_network.models import Element -# Create your models here. + +class Invoice(models.Model): + + consumer = models.ForeignKey(Consumer, verbose_name="Consommateur", + related_name="invoices", on_delete=models.CASCADE) + water_outlet = models.ForeignKey(Element, verbose_name="Sortie d'eau", + related_name="invoices", on_delete=models.CASCADE) + creation = models.DateField("Date de la facture", auto_now=True) + expiration = models.DateField("Date d'expiration de la souscription") + amount = models.FloatField("Montant") + + +class Payment(models.Model): + + consumer = models.ForeignKey(Consumer, verbose_name="Consommateur", + related_name="payments", on_delete=models.CASCADE) + water_outlet = models.ForeignKey(Element, verbose_name="Sortie d'eau", + related_name="payments", on_delete=models.CASCADE) + date = models.DateField("Date de la facture", auto_now=True) + amount = models.FloatField("Montant") diff --git a/code/haitiwater/apps/water_network/models.py b/code/haitiwater/apps/water_network/models.py index 90d93d0..e19ab3d 100644 --- a/code/haitiwater/apps/water_network/models.py +++ b/code/haitiwater/apps/water_network/models.py @@ -69,6 +69,8 @@ class Element(models.Model): status = models.CharField("État", max_length=20, choices=[(i.name, i.value) for i in ElementStatus]) zone = models.ForeignKey(Zone, verbose_name="Zone de l'élément", related_name="elements", on_delete=models.CASCADE, default=1) location = models.CharField("Localisation", max_length=50) + price = models.FloatField("Prix de la souscription", default=0) + validity = models.IntegerField("Nombre de mois de validité de la souscription", default=12) def __str__(self): return self.name