From 9ea3e511b9ccb18a436a7fed89e9054ec25c0afe Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 30 Jun 2021 11:05:35 +1000 Subject: [PATCH] Refactor BuildAttachment views --- .../build/templates/build/attachments.html | 39 ++++++----- InvenTree/build/urls.py | 2 - InvenTree/build/views.py | 70 ------------------- 3 files changed, 22 insertions(+), 89 deletions(-) diff --git a/InvenTree/build/templates/build/attachments.html b/InvenTree/build/templates/build/attachments.html index 8546ab42f5..9cd7761357 100644 --- a/InvenTree/build/templates/build/attachments.html +++ b/InvenTree/build/templates/build/attachments.html @@ -22,7 +22,7 @@ enableDragAndDrop( '#attachment-dropzone', - '{% url "build-attachment-create" %}', + '{% url "api-build-attachment-list" %}', { data: { build: {{ build.id }}, @@ -36,29 +36,34 @@ enableDragAndDrop( // Callback for creating a new attachment $('#new-attachment').click(function() { - launchModalForm( - '{% url "build-attachment-create" %}', - { - reload: true, - data: { - build: {{ build.pk }}, + + constructForm('{% url "api-build-attachment-list" %}', { + fields: { + attachment: {}, + comment: {}, + build: { + value: {{ build.pk }}, + hidden: true, } - } - ); + }, + method: 'POST', + reload: true, + title: '{% trans "Add Attachment" %}', + }); }); // Callback for editing an attachment $("#attachment-table").on('click', '.attachment-edit-button', function() { var pk = $(this).attr('pk'); - var url = `/build/attachment/${pk}/edit/`; - - launchModalForm( - url, - { - reload: true, - } - ); + constructForm(`/api/build/attachment/${pk}/`, { + fields: { + attachment: {}, + comment: {}, + }, + reload: true, + title: '{% trans "Edit Attachment" %}', + }); }); // Callback for deleting an attachment diff --git a/InvenTree/build/urls.py b/InvenTree/build/urls.py index 99b6b72818..ae9ce1bf87 100644 --- a/InvenTree/build/urls.py +++ b/InvenTree/build/urls.py @@ -37,8 +37,6 @@ build_urls = [ ])), url('^attachment/', include([ - url('^new/', views.BuildAttachmentCreate.as_view(), name='build-attachment-create'), - url(r'^(?P\d+)/edit/', views.BuildAttachmentEdit.as_view(), name='build-attachment-edit'), url(r'^(?P\d+)/delete/', views.BuildAttachmentDelete.as_view(), name='build-attachment-delete'), ])), diff --git a/InvenTree/build/views.py b/InvenTree/build/views.py index 6e72f7f3e6..8cdaede60b 100644 --- a/InvenTree/build/views.py +++ b/InvenTree/build/views.py @@ -1060,76 +1060,6 @@ class BuildItemEdit(AjaxUpdateView): return form -class BuildAttachmentCreate(AjaxCreateView): - """ - View for creating a BuildAttachment - """ - - model = BuildOrderAttachment - form_class = forms.EditBuildAttachmentForm - ajax_form_title = _('Add Build Order Attachment') - - def save(self, form, **kwargs): - """ - Add information on the user that uploaded the attachment - """ - - attachment = form.save(commit=False) - attachment.user = self.request.user - attachment.save() - - def get_data(self): - return { - 'success': _('Added attachment') - } - - def get_initial(self): - """ - Get initial data for creating an attachment - """ - - initials = super().get_initial() - - try: - initials['build'] = Build.objects.get(pk=self.request.GET.get('build', -1)) - except (ValueError, Build.DoesNotExist): - pass - - return initials - - def get_form(self): - """ - Hide the 'build' field if specified - """ - - form = super().get_form() - - form.fields['build'].widget = HiddenInput() - - return form - - -class BuildAttachmentEdit(AjaxUpdateView): - """ - View for editing a BuildAttachment object - """ - - model = BuildOrderAttachment - form_class = forms.EditBuildAttachmentForm - ajax_form_title = _('Edit Attachment') - - def get_form(self): - form = super().get_form() - form.fields['build'].widget = HiddenInput() - - return form - - def get_data(self): - return { - 'success': _('Attachment updated') - } - - class BuildAttachmentDelete(AjaxDeleteView): """ View for deleting a BuildAttachment