diff --git a/store/migrations/0027_checklist_cdek_barcode_pdf_and_more.py b/store/migrations/0027_checklist_cdek_barcode_pdf_and_more.py new file mode 100644 index 0000000..1db8c79 --- /dev/null +++ b/store/migrations/0027_checklist_cdek_barcode_pdf_and_more.py @@ -0,0 +1,28 @@ +# Generated by Django 4.2.2 on 2023-07-05 01:56 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('store', '0026_remove_checklist_track_number_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='checklist', + name='cdek_barcode_pdf', + field=models.ImageField(blank=True, null=True, upload_to='docs', verbose_name='Штрих-код СДЭК в PDF'), + ), + migrations.AlterField( + model_name='checklist', + name='cheque_photo', + field=models.ImageField(blank=True, null=True, upload_to='docs', verbose_name='Фото чека'), + ), + migrations.AlterField( + model_name='checklist', + name='payment_proof', + field=models.ImageField(blank=True, null=True, upload_to='docs', verbose_name='Подтверждение оплаты'), + ), + ] diff --git a/store/migrations/0028_alter_checklist_cdek_barcode_pdf.py b/store/migrations/0028_alter_checklist_cdek_barcode_pdf.py new file mode 100644 index 0000000..a9e1ecc --- /dev/null +++ b/store/migrations/0028_alter_checklist_cdek_barcode_pdf.py @@ -0,0 +1,18 @@ +# Generated by Django 4.2.2 on 2023-07-05 02:00 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('store', '0027_checklist_cdek_barcode_pdf_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='checklist', + name='cdek_barcode_pdf', + field=models.FileField(blank=True, null=True, upload_to='docs', verbose_name='Штрих-код СДЭК в PDF'), + ), + ] diff --git a/store/migrations/0029_rename_cheque_photo_checklist_receipt_and_more.py b/store/migrations/0029_rename_cheque_photo_checklist_receipt_and_more.py new file mode 100644 index 0000000..84b4840 --- /dev/null +++ b/store/migrations/0029_rename_cheque_photo_checklist_receipt_and_more.py @@ -0,0 +1,23 @@ +# Generated by Django 4.2.2 on 2023-07-06 11:51 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('store', '0028_alter_checklist_cdek_barcode_pdf'), + ] + + operations = [ + migrations.RenameField( + model_name='checklist', + old_name='cheque_photo', + new_name='receipt', + ), + migrations.AlterField( + model_name='checklist', + name='status', + field=models.CharField(choices=[('draft', 'Черновик'), ('neworder', 'Новый заказ'), ('payment', 'Проверка оплаты'), ('buying', 'На закупке'), ('bought', 'Закуплен'), ('china', 'На складе в Китае'), ('chinarush', 'Доставка на склад РФ'), ('rush', 'На складе в РФ'), ('split_waiting', 'Сплит: ожидание оплаты 2й части'), ('split_paid', 'Сплит: полностью оплачено'), ('cdek', 'Доставляется СДЭК'), ('completed', 'Завершен')], default='neworder', max_length=15, verbose_name='Статус заказа'), + ), + ] diff --git a/store/models.py b/store/models.py index 457453c..b5a6d2c 100644 --- a/store/models.py +++ b/store/models.py @@ -217,10 +217,12 @@ class Checklist(models.Model): CHINA = "china" CHINA_RUSSIA = "chinarush" RUSSIA = "rush" + SPLIT_WAITING = "split_waiting" + SPLIT_PAID = "split_paid" CDEK = "cdek" COMPLETED = "completed" - PDF_AVAILABLE_STATUSES = (RUSSIA, CDEK, COMPLETED) + PDF_AVAILABLE_STATUSES = (RUSSIA, SPLIT_WAITING, SPLIT_PAID, CDEK, COMPLETED) CHOICES = ( (DRAFT, 'Черновик'), @@ -231,6 +233,8 @@ class Checklist(models.Model): (CHINA, 'На складе в Китае'), (CHINA_RUSSIA, 'Доставка на склад РФ'), (RUSSIA, 'На складе в РФ'), + (SPLIT_WAITING, 'Сплит: ожидание оплаты 2й части'), + (SPLIT_PAID, 'Сплит: полностью оплачено'), (CDEK, 'Доставляется СДЭК'), (COMPLETED, 'Завершен'), ) @@ -282,12 +286,14 @@ class Checklist(models.Model): # reveiverphone receiver_phone = models.CharField('Телефон получателя', max_length=100, null=True, blank=True) + is_split_payment = models.BooleanField('Оплата частями', default=False) + # paymenttype payment_method = models.ForeignKey('PaymentMethod', verbose_name='Метод оплаты', null=True, blank=True, on_delete=models.SET_NULL) - payment_proof = models.ImageField('Подтверждение оплаты', null=True, blank=True) # paymentproovement - cheque_photo = models.ImageField('Фото чека', null=True, blank=True) # checkphoto + payment_proof = models.ImageField('Подтверждение оплаты', upload_to='docs', null=True, blank=True) # paymentproovement + receipt = models.ImageField('Фото чека', upload_to='docs', null=True, blank=True) # checkphoto delivery = models.CharField('Тип доставки', max_length=10, choices=DeliveryType.CHOICES, null=True, blank=True) # trackid diff --git a/store/serializers.py b/store/serializers.py index 310e7c6..a21a3a5 100644 --- a/store/serializers.py +++ b/store/serializers.py @@ -93,11 +93,12 @@ class ChecklistSerializer(serializers.ModelSerializer): receivername = serializers.CharField(source='receiver_name', required=False, allow_null=True) reveiverphone = serializers.CharField(source='receiver_phone', required=False, allow_null=True) + split = serializers.BooleanField(source='is_split_payment', required=False) paymenttype = serializers.SlugRelatedField(source='payment_method', slug_field='slug', queryset=PaymentMethod.objects.all(), required=False, allow_null=True) paymentproovement = serializers.ImageField(source='payment_proof', required=False, allow_null=True) - checkphoto = serializers.ImageField(source='cheque_photo', required=False, allow_null=True) + checkphoto = serializers.ImageField(source='receipt', required=False, allow_null=True) trackid = serializers.CharField(source='poizon_tracking', required=False, allow_null=True) cdek_tracking = serializers.CharField(required=False, allow_null=True) delivery = serializers.CharField(source='get_delivery_display', required=False, allow_null=True) @@ -134,7 +135,7 @@ class ChecklistSerializer(serializers.ModelSerializer): 'fullprice', 'realprice', 'buyername', 'buyerphone', 'tg', 'receivername', 'reveiverphone', - 'paymenttype', 'paymentproovement', 'checkphoto', + 'split', 'paymenttype', 'paymentproovement', 'checkphoto', 'trackid', 'cdek_tracking', 'cdek_barcode_pdf', 'delivery', 'startDate', 'currentDate', )