You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

0001_initial.py 6.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. # -*- coding: utf-8 -*-
  2. from __future__ import unicode_literals
  3. from django.db import models, migrations
  4. import oscar.models.fields
  5. import oscar.models.fields.autoslugfield
  6. from django.conf import settings
  7. class Migration(migrations.Migration):
  8. dependencies = [
  9. ('catalogue', '0001_initial'),
  10. migrations.swappable_dependency(settings.AUTH_USER_MODEL),
  11. ('address', '0001_initial'),
  12. ]
  13. operations = [
  14. migrations.CreateModel(
  15. name='Partner',
  16. fields=[
  17. ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)),
  18. ('code', oscar.models.fields.autoslugfield.AutoSlugField(editable=False, verbose_name='Code', blank=True, max_length=128, populate_from='name', unique=True)),
  19. ('name', models.CharField(verbose_name='Name', blank=True, max_length=128)),
  20. ('users', models.ManyToManyField(verbose_name='Users', blank=True, to=settings.AUTH_USER_MODEL, null=True)),
  21. ],
  22. options={
  23. 'verbose_name': 'Fulfillment partner',
  24. 'verbose_name_plural': 'Fulfillment partners',
  25. 'permissions': (('dashboard_access', 'Can access dashboard'),),
  26. 'abstract': False,
  27. },
  28. bases=(models.Model,),
  29. ),
  30. migrations.CreateModel(
  31. name='PartnerAddress',
  32. fields=[
  33. ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)),
  34. ('title', models.CharField(verbose_name='Title', choices=[('Mr', 'Mr'), ('Miss', 'Miss'), ('Mrs', 'Mrs'), ('Ms', 'Ms'), ('Dr', 'Dr')], blank=True, max_length=64)),
  35. ('first_name', models.CharField(verbose_name='First name', blank=True, max_length=255)),
  36. ('last_name', models.CharField(verbose_name='Last name', blank=True, max_length=255)),
  37. ('line1', models.CharField(verbose_name='First line of address', max_length=255)),
  38. ('line2', models.CharField(verbose_name='Second line of address', blank=True, max_length=255)),
  39. ('line3', models.CharField(verbose_name='Third line of address', blank=True, max_length=255)),
  40. ('line4', models.CharField(verbose_name='City', blank=True, max_length=255)),
  41. ('state', models.CharField(verbose_name='State/County', blank=True, max_length=255)),
  42. ('postcode', oscar.models.fields.UppercaseCharField(verbose_name='Post/Zip-code', blank=True, max_length=64)),
  43. ('search_text', models.TextField(editable=False, verbose_name='Search text - used only for searching addresses')),
  44. ('country', models.ForeignKey(verbose_name='Country', to='address.Country')),
  45. ('partner', models.ForeignKey(verbose_name='Partner', to='partner.Partner')),
  46. ],
  47. options={
  48. 'verbose_name': 'Partner address',
  49. 'verbose_name_plural': 'Partner addresses',
  50. 'abstract': False,
  51. },
  52. bases=(models.Model,),
  53. ),
  54. migrations.CreateModel(
  55. name='StockAlert',
  56. fields=[
  57. ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)),
  58. ('threshold', models.PositiveIntegerField(verbose_name='Threshold')),
  59. ('status', models.CharField(verbose_name='Status', choices=[('Open', 'Open'), ('Closed', 'Closed')], default='Open', max_length=128)),
  60. ('date_created', models.DateTimeField(verbose_name='Date Created', auto_now_add=True)),
  61. ('date_closed', models.DateTimeField(verbose_name='Date Closed', blank=True, null=True)),
  62. ],
  63. options={
  64. 'verbose_name': 'Stock alert',
  65. 'verbose_name_plural': 'Stock alerts',
  66. 'ordering': ('-date_created',),
  67. 'abstract': False,
  68. },
  69. bases=(models.Model,),
  70. ),
  71. migrations.CreateModel(
  72. name='StockRecord',
  73. fields=[
  74. ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)),
  75. ('partner_sku', models.CharField(verbose_name='Partner SKU', max_length=128)),
  76. ('price_currency', models.CharField(verbose_name='Currency', default='GBP', max_length=12)),
  77. ('price_excl_tax', models.DecimalField(verbose_name='Price (excl. tax)', max_digits=12, decimal_places=2, blank=True, null=True)),
  78. ('price_retail', models.DecimalField(verbose_name='Price (retail)', max_digits=12, decimal_places=2, blank=True, null=True)),
  79. ('cost_price', models.DecimalField(verbose_name='Cost Price', max_digits=12, decimal_places=2, blank=True, null=True)),
  80. ('num_in_stock', models.PositiveIntegerField(verbose_name='Number in stock', blank=True, null=True)),
  81. ('num_allocated', models.IntegerField(verbose_name='Number allocated', blank=True, null=True)),
  82. ('low_stock_threshold', models.PositiveIntegerField(verbose_name='Low Stock Threshold', blank=True, null=True)),
  83. ('date_created', models.DateTimeField(verbose_name='Date created', auto_now_add=True)),
  84. ('date_updated', models.DateTimeField(verbose_name='Date updated', auto_now=True, db_index=True)),
  85. ('partner', models.ForeignKey(verbose_name='Partner', to='partner.Partner')),
  86. ('product', models.ForeignKey(verbose_name='Product', to='catalogue.Product')),
  87. ],
  88. options={
  89. 'verbose_name': 'Stock record',
  90. 'verbose_name_plural': 'Stock records',
  91. 'abstract': False,
  92. },
  93. bases=(models.Model,),
  94. ),
  95. migrations.AddField(
  96. model_name='stockalert',
  97. name='stockrecord',
  98. field=models.ForeignKey(verbose_name='Stock Record', to='partner.StockRecord'),
  99. preserve_default=True,
  100. ),
  101. migrations.AlterUniqueTogether(
  102. name='stockrecord',
  103. unique_together=set([('partner', 'partner_sku')]),
  104. ),
  105. ]