From 30b5f7d507961b370716740d3a9fcac475470515 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Wed, 13 May 2020 11:28:45 +1000 Subject: [PATCH] Drag and drop for order attachments --- .../migrations/0035_auto_20200513_0016.py | 23 +++++++++++++++++++ .../order/templates/order/po_attachments.html | 14 +++++++++++ .../order/templates/order/so_attachments.html | 14 +++++++++++ InvenTree/order/views.py | 10 ++++++-- .../migrations/0038_auto_20200513_0016.py | 18 +++++++++++++++ .../migrations/0039_auto_20200513_0016.py | 18 +++++++++++++++ 6 files changed, 95 insertions(+), 2 deletions(-) create mode 100644 InvenTree/order/migrations/0035_auto_20200513_0016.py create mode 100644 InvenTree/part/migrations/0038_auto_20200513_0016.py create mode 100644 InvenTree/stock/migrations/0039_auto_20200513_0016.py diff --git a/InvenTree/order/migrations/0035_auto_20200513_0016.py b/InvenTree/order/migrations/0035_auto_20200513_0016.py new file mode 100644 index 0000000000..101a55764e --- /dev/null +++ b/InvenTree/order/migrations/0035_auto_20200513_0016.py @@ -0,0 +1,23 @@ +# Generated by Django 3.0.5 on 2020-05-13 00:16 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('order', '0034_auto_20200512_1054'), + ] + + operations = [ + migrations.AlterField( + model_name='purchaseorderattachment', + name='comment', + field=models.CharField(blank=True, help_text='File comment', max_length=100), + ), + migrations.AlterField( + model_name='salesorderattachment', + name='comment', + field=models.CharField(blank=True, help_text='File comment', max_length=100), + ), + ] diff --git a/InvenTree/order/templates/order/po_attachments.html b/InvenTree/order/templates/order/po_attachments.html index a08b618fca..f5421e8760 100644 --- a/InvenTree/order/templates/order/po_attachments.html +++ b/InvenTree/order/templates/order/po_attachments.html @@ -20,6 +20,20 @@ {% block js_ready %} {{ block.super }} +enableDragAndDrop( + '#attachment-dropzone', + "{% url 'po-attachment-create' %}", + { + data: { + order: {{ order.id }}, + }, + label: 'attachment', + success: function(data, status, xhr) { + location.reload(); + } + } +); + $("#new-attachment").click(function() { launchModalForm("{% url 'po-attachment-create' %}?order={{ order.id }}", { diff --git a/InvenTree/order/templates/order/so_attachments.html b/InvenTree/order/templates/order/so_attachments.html index aff62213e5..672d9af952 100644 --- a/InvenTree/order/templates/order/so_attachments.html +++ b/InvenTree/order/templates/order/so_attachments.html @@ -19,6 +19,20 @@ {% block js_ready %} {{ block.super }} +enableDragAndDrop( + '#attachment-dropzone', + "{% url 'so-attachment-create' %}", + { + data: { + order: {{ order.id }}, + }, + label: 'attachment', + success: function(data, status, xhr) { + location.reload(); + } + } +); + $("#new-attachment").click(function() { launchModalForm("{% url 'so-attachment-create' %}?order={{ order.id }}", { diff --git a/InvenTree/order/views.py b/InvenTree/order/views.py index 370c629cac..41a5b231a7 100644 --- a/InvenTree/order/views.py +++ b/InvenTree/order/views.py @@ -112,7 +112,10 @@ class PurchaseOrderAttachmentCreate(AjaxCreateView): initials = super(AjaxCreateView, self).get_initial() - initials["order"] = PurchaseOrder.objects.get(id=self.request.GET.get('order', -1)) + try: + initials["order"] = PurchaseOrder.objects.get(id=self.request.GET.get('order', -1)) + except (ValueError, PurchaseOrder.DoesNotExist): + pass return initials @@ -149,7 +152,10 @@ class SalesOrderAttachmentCreate(AjaxCreateView): def get_initial(self): initials = super().get_initial().copy() - initials['order'] = SalesOrder.objects.get(id=self.request.GET.get('order', None)) + try: + initials['order'] = SalesOrder.objects.get(id=self.request.GET.get('order', None)) + except (ValueError, SalesOrder.DoesNotExist): + pass return initials diff --git a/InvenTree/part/migrations/0038_auto_20200513_0016.py b/InvenTree/part/migrations/0038_auto_20200513_0016.py new file mode 100644 index 0000000000..a472480186 --- /dev/null +++ b/InvenTree/part/migrations/0038_auto_20200513_0016.py @@ -0,0 +1,18 @@ +# Generated by Django 3.0.5 on 2020-05-13 00:16 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('part', '0037_partattachment_upload_date'), + ] + + operations = [ + migrations.AlterField( + model_name='partattachment', + name='comment', + field=models.CharField(blank=True, help_text='File comment', max_length=100), + ), + ] diff --git a/InvenTree/stock/migrations/0039_auto_20200513_0016.py b/InvenTree/stock/migrations/0039_auto_20200513_0016.py new file mode 100644 index 0000000000..dacf666779 --- /dev/null +++ b/InvenTree/stock/migrations/0039_auto_20200513_0016.py @@ -0,0 +1,18 @@ +# Generated by Django 3.0.5 on 2020-05-13 00:16 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('stock', '0038_stockitemattachment_upload_date'), + ] + + operations = [ + migrations.AlterField( + model_name='stockitemattachment', + name='comment', + field=models.CharField(blank=True, help_text='File comment', max_length=100), + ), + ]