0001_initial.py 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. # -*- coding: utf-8 -*-
  2. from __future__ import unicode_literals
  3. from django.db import models, migrations
  4. import coin.billing.models
  5. import coin.utils
  6. import datetime
  7. import django.core.files.storage
  8. class Migration(migrations.Migration):
  9. dependencies = [
  10. ]
  11. operations = [
  12. migrations.CreateModel(
  13. name='Invoice',
  14. fields=[
  15. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  16. ('validated', models.BooleanField(default=False, verbose_name='valid\xe9e')),
  17. ('number', models.CharField(default=coin.billing.models.next_invoice_number, unique=True, max_length=25, verbose_name='num\xe9ro')),
  18. ('status', models.CharField(default='open', max_length=50, verbose_name='statut', choices=[('open', 'A payer'), ('closed', 'Regl\xe9e'), ('trouble', 'Litige')])),
  19. ('date', models.DateField(default=datetime.date.today, null=True, verbose_name='date')),
  20. ('date_due', models.DateField(default=coin.utils.end_of_month, null=True, verbose_name="date d'\xe9ch\xe9ance de paiement")),
  21. ('pdf', models.FileField(storage=django.core.files.storage.FileSystemStorage(location='/home/zorun/illyse/git/coin/smedia/'), upload_to=coin.billing.models.invoice_pdf_filename, null=True, verbose_name='PDF', blank=True)),
  22. ],
  23. options={
  24. 'verbose_name': 'facture',
  25. },
  26. bases=(models.Model,),
  27. ),
  28. migrations.CreateModel(
  29. name='InvoiceDetail',
  30. fields=[
  31. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  32. ('label', models.CharField(max_length=100)),
  33. ('amount', models.DecimalField(verbose_name='montant', max_digits=5, decimal_places=2)),
  34. ('quantity', models.DecimalField(default=1.0, null=True, verbose_name='quantit\xe9', max_digits=4, decimal_places=2)),
  35. ('tax', models.DecimalField(decimal_places=2, default=0.0, max_digits=4, help_text='en %', null=True, verbose_name='TVA')),
  36. ('period_from', models.DateField(default=coin.utils.start_of_month, help_text='Date de d\xe9but de p\xe9riode sur laquelle est factur\xe9 cet item', null=True, verbose_name='d\xe9but de p\xe9riode', blank=True)),
  37. ('period_to', models.DateField(default=coin.utils.end_of_month, help_text='Date de fin de p\xe9riode sur laquelle est factur\xe9 cet item', null=True, verbose_name='fin de p\xe9riode', blank=True)),
  38. ('invoice', models.ForeignKey(related_name='details', verbose_name='facture', to='billing.Invoice')),
  39. ],
  40. options={
  41. 'verbose_name': 'd\xe9tail de facture',
  42. },
  43. bases=(models.Model,),
  44. ),
  45. migrations.CreateModel(
  46. name='Payment',
  47. fields=[
  48. ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
  49. ('payment_mean', models.CharField(default='transfer', max_length=100, null=True, verbose_name='moyen de paiement', choices=[('cash', 'Esp\xe8ces'), ('check', 'Ch\xe8que'), ('transfer', 'Virement'), ('other', 'Autre')])),
  50. ('amount', models.DecimalField(null=True, verbose_name='montant', max_digits=5, decimal_places=2)),
  51. ('date', models.DateField(default=datetime.date.today)),
  52. ('invoice', models.ForeignKey(related_name='payments', verbose_name='facture', to='billing.Invoice')),
  53. ],
  54. options={
  55. 'verbose_name': 'paiement',
  56. },
  57. bases=(models.Model,),
  58. ),
  59. ]