12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- # -*- coding: utf-8 -*-
- import datetime
- import calendar
- from django.db import models
- from coin.offers.models import Offer
- class Invoice(models.Model):
- INVOICES_STATUS_CHOICES = (
- ('open', 'A payer'),
- ('closed', 'Reglée'),
- ('trouble', 'Litige')
- )
- status = models.CharField(max_length=50, choices=INVOICES_STATUS_CHOICES,
- default='open',
- verbose_name='Statut')
- amount = models.DecimalField(max_digits=5, decimal_places=2,
- verbose_name='Montant')
- date = models.DateField(default=datetime.date.today, null=True)
- period_from = models.DateField(
- default=datetime.date(datetime.date.today().year,
- datetime.date.today().month, 1),
- null=True,
- verbose_name='Début de période de facturation')
- period_to = models.DateField(
- default=(datetime.date(datetime.date.today().year,
- datetime.date.today().month + 1, 1) -
- datetime.timedelta(days=1)),
- null=True,
- verbose_name='Fin de période de facturation')
- date_due = models.DateField(
- default=(datetime.date(datetime.date.today().year,
- datetime.date.today().month + 1, 1) -
- datetime.timedelta(days=1)),
- null=True,
- verbose_name='Date d\'échéance de paiement')
- offer = models.ForeignKey(Offer, verbose_name='Offre')
- class Meta:
- verbose_name = 'facture'
- class InvoiceDetail(models.Model):
- label = models.CharField(max_length=100)
- amount = models.DecimalField(max_digits=5, decimal_places=2,
- verbose_name='Montant')
- quantity = models.IntegerField(null=True, verbose_name='Quantité')
- tax = models.IntegerField(null=True, default=0, verbose_name='TVA')
- invoice = models.ForeignKey(Invoice, verbose_name='Facture')
- def __unicode__(self):
- return self.label
- class Meta:
- verbose_name = 'détail de facture'
- class Payment(models.Model):
- payment_means = models.CharField(max_length=100, null=True,
- verbose_name='Moyen de paiement')
- amount = models.DecimalField(max_digits=7, decimal_places=2, null=True,
- verbose_name='Montant')
- date = models.DateField(default=datetime.date.today)
- invoce = models.ForeignKey(Invoice, verbose_name='Facture')
- class Meta:
- verbose_name = 'paiement'
|