Coverage for src/backend/InvenTree/order/migrations/0020_auto_20200420_0940.py: 100%

9 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-10-07 17:47 +0000

1# Generated by Django 3.0.5 on 2020-04-20 09:40 

2 

3import InvenTree.fields 

4import InvenTree.models 

5from django.conf import settings 

6import django.core.validators 

7from django.db import migrations, models 

8import django.db.models.deletion 

9 

10 

11class Migration(migrations.Migration): 

12 

13 dependencies = [ 

14 ('company', '0021_remove_supplierpart_manufacturer_name'), 

15 migrations.swappable_dependency(settings.AUTH_USER_MODEL), 

16 ('order', '0019_purchaseorder_supplier_reference'), 

17 ] 

18 

19 operations = [ 

20 migrations.CreateModel( 

21 name='SalesOrder', 

22 fields=[ 

23 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 

24 ('reference', models.CharField(help_text='Order reference', max_length=64, unique=True)), 

25 ('description', models.CharField(help_text='Order description', max_length=250)), 

26 ('link', models.URLField(blank=True, help_text='Link to external page')), 

27 ('creation_date', models.DateField(blank=True, null=True)), 

28 ('status', models.PositiveIntegerField(choices=[(10, 'Pending'), (20, 'Placed'), (30, 'Complete'), (40, 'Cancelled'), (50, 'Lost'), (60, 'Returned')], default=10, help_text='Order status')), 

29 ('issue_date', models.DateField(blank=True, null=True)), 

30 ('complete_date', models.DateField(blank=True, null=True)), 

31 ('notes', models.TextField(blank=True, help_text='Order notes')), 

32 ('customer_reference', models.CharField(blank=True, help_text='Customer order reference code', max_length=64)), 

33 ('created_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), 

34 ('customer', models.ForeignKey(help_text='Customer', limit_choices_to={True, 'is_supplier'}, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='sales_orders', to='company.Company')), 

35 ], 

36 options={ 

37 'abstract': False, 

38 'verbose_name': 'Sales Order', 

39 }, 

40 ), 

41 migrations.AlterField( 

42 model_name='purchaseorder', 

43 name='supplier', 

44 field=models.ForeignKey(help_text='Supplier', limit_choices_to={'is_supplier': True}, on_delete=django.db.models.deletion.CASCADE, related_name='purchase_orders', to='company.Company'), 

45 ), 

46 migrations.AlterField( 

47 model_name='purchaseorder', 

48 name='supplier_reference', 

49 field=models.CharField(blank=True, help_text='Supplier order reference code', max_length=64), 

50 ), 

51 migrations.CreateModel( 

52 name='SalesOrderLineItem', 

53 fields=[ 

54 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 

55 ('quantity', InvenTree.fields.RoundingDecimalField(decimal_places=5, default=1, help_text='Item quantity', max_digits=15, validators=[django.core.validators.MinValueValidator(0)])), 

56 ('reference', models.CharField(blank=True, help_text='Line item reference', max_length=100)), 

57 ('notes', models.CharField(blank=True, help_text='Line item notes', max_length=500)), 

58 ('order', models.ForeignKey(help_text='Sales Order', on_delete=django.db.models.deletion.CASCADE, related_name='lines', to='order.SalesOrder')), 

59 ], 

60 options={ 

61 'abstract': False, 

62 'verbose_name': 'Sales Order Line Item', 

63 }, 

64 ), 

65 migrations.CreateModel( 

66 name='SalesOrderAttachment', 

67 fields=[ 

68 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 

69 ('attachment', models.FileField(help_text='Select file to attach', upload_to='attachments')), 

70 ('comment', models.CharField(help_text='File comment', max_length=100)), 

71 ('order', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='attachments', to='order.SalesOrder')), 

72 ], 

73 options={ 

74 'abstract': False, 

75 }, 

76 ), 

77 ]