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 5.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. # -*- coding: utf-8 -*-
  2. from __future__ import unicode_literals
  3. from django.db import models, migrations
  4. import oscar.models.fields.autoslugfield
  5. from django.conf import settings
  6. class Migration(migrations.Migration):
  7. dependencies = [
  8. ('catalogue', '0001_initial'),
  9. migrations.swappable_dependency(settings.AUTH_USER_MODEL),
  10. ]
  11. operations = [
  12. migrations.CreateModel(
  13. name='CommunicationEventType',
  14. fields=[
  15. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  16. ('code', oscar.models.fields.autoslugfield.AutoSlugField(populate_from='name', unique=True, verbose_name='Code', editable=False, separator='_', max_length=128, help_text='Code used for looking up this event programmatically', blank=True)),
  17. ('name', models.CharField(verbose_name='Name', max_length=255, help_text='This is just used for organisational purposes')),
  18. ('category', models.CharField(default='Order related', max_length=255, verbose_name='Category', choices=[('Order related', 'Order related'), ('User related', 'User related')])),
  19. ('email_subject_template', models.CharField(verbose_name='Email Subject Template', max_length=255, blank=True, null=True)),
  20. ('email_body_template', models.TextField(blank=True, verbose_name='Email Body Template', null=True)),
  21. ('email_body_html_template', models.TextField(verbose_name='Email Body HTML Template', blank=True, help_text='HTML template', null=True)),
  22. ('sms_template', models.CharField(verbose_name='SMS Template', max_length=170, help_text='SMS template', blank=True, null=True)),
  23. ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date Created')),
  24. ('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date Updated')),
  25. ],
  26. options={
  27. 'verbose_name_plural': 'Communication event types',
  28. 'verbose_name': 'Communication event type',
  29. 'abstract': False,
  30. },
  31. bases=(models.Model,),
  32. ),
  33. migrations.CreateModel(
  34. name='Email',
  35. fields=[
  36. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  37. ('subject', models.TextField(max_length=255, verbose_name='Subject')),
  38. ('body_text', models.TextField(verbose_name='Body Text')),
  39. ('body_html', models.TextField(verbose_name='Body HTML', blank=True)),
  40. ('date_sent', models.DateTimeField(auto_now_add=True, verbose_name='Date Sent')),
  41. ('user', models.ForeignKey(verbose_name='User', related_name='emails', to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE)),
  42. ],
  43. options={
  44. 'verbose_name_plural': 'Emails',
  45. 'verbose_name': 'Email',
  46. 'abstract': False,
  47. },
  48. bases=(models.Model,),
  49. ),
  50. migrations.CreateModel(
  51. name='Notification',
  52. fields=[
  53. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  54. ('subject', models.CharField(max_length=255)),
  55. ('body', models.TextField()),
  56. ('category', models.CharField(max_length=255, blank=True)),
  57. ('location', models.CharField(default='Inbox', max_length=32, choices=[('Inbox', 'Inbox'), ('Archive', 'Archive')])),
  58. ('date_sent', models.DateTimeField(auto_now_add=True)),
  59. ('date_read', models.DateTimeField(blank=True, null=True)),
  60. ('recipient', models.ForeignKey(related_name='notifications', to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE)),
  61. ('sender', models.ForeignKey(to=settings.AUTH_USER_MODEL, null=True, on_delete=models.CASCADE)),
  62. ],
  63. options={
  64. 'ordering': ('-date_sent',),
  65. 'verbose_name_plural': 'Notifications',
  66. 'verbose_name': 'Notification',
  67. 'abstract': False,
  68. },
  69. bases=(models.Model,),
  70. ),
  71. migrations.CreateModel(
  72. name='ProductAlert',
  73. fields=[
  74. ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
  75. ('email', models.EmailField(max_length=75, db_index=True, verbose_name='Email', blank=True)),
  76. ('key', models.CharField(max_length=128, db_index=True, verbose_name='Key', blank=True)),
  77. ('status', models.CharField(default='Active', max_length=20, verbose_name='Status', choices=[('Unconfirmed', 'Not yet confirmed'), ('Active', 'Active'), ('Cancelled', 'Cancelled'), ('Closed', 'Closed')])),
  78. ('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Date created')),
  79. ('date_confirmed', models.DateTimeField(blank=True, verbose_name='Date confirmed', null=True)),
  80. ('date_cancelled', models.DateTimeField(blank=True, verbose_name='Date cancelled', null=True)),
  81. ('date_closed', models.DateTimeField(blank=True, verbose_name='Date closed', null=True)),
  82. ('product', models.ForeignKey(to='catalogue.Product', on_delete=models.CASCADE)),
  83. ('user', models.ForeignKey(null=True, verbose_name='User', related_name='alerts', to=settings.AUTH_USER_MODEL, blank=True, on_delete=models.CASCADE)),
  84. ],
  85. options={
  86. 'verbose_name_plural': 'Product alerts',
  87. 'verbose_name': 'Product alert',
  88. 'abstract': False,
  89. },
  90. bases=(models.Model,),
  91. ),
  92. ]