From 4008a9fb4506067757a847f4b87b49b4c79f0800 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 2 Jul 2019 19:07:59 +1000 Subject: [PATCH] Upload the selected BOM file --- .../part/bom_upload/select_file.html | 25 ------------------- .../part/bom_upload/upload_file.html | 4 ++- InvenTree/part/urls.py | 2 +- InvenTree/part/views.py | 24 ++++++------------ 4 files changed, 11 insertions(+), 44 deletions(-) delete mode 100644 InvenTree/part/templates/part/bom_upload/select_file.html diff --git a/InvenTree/part/templates/part/bom_upload/select_file.html b/InvenTree/part/templates/part/bom_upload/select_file.html deleted file mode 100644 index 68380dbfd5..0000000000 --- a/InvenTree/part/templates/part/bom_upload/select_file.html +++ /dev/null @@ -1,25 +0,0 @@ -{% extends "modal_form.html" %} - -{% block pre_form_content %} - -

Step 1 of 3 - Select BOM File

- -{{ block.super }} - -

Select a BOM file to upload for:
- {{ part.name }} - {{ part.description }} -

- -

The BOM file must contain the required named columns as provided in the BOM Upload Template

- -Notes: - - -{% endblock %} - -{% block form_data %} - -{% endblock %} \ No newline at end of file diff --git a/InvenTree/part/templates/part/bom_upload/upload_file.html b/InvenTree/part/templates/part/bom_upload/upload_file.html index 30c7a96f94..3f3bc873d2 100644 --- a/InvenTree/part/templates/part/bom_upload/upload_file.html +++ b/InvenTree/part/templates/part/bom_upload/upload_file.html @@ -8,7 +8,9 @@

Upload Bill of Materials


-

The BOM file must contain the required named columns as provided in the BOM Upload Template

+
+

The BOM file must contain the required named columns as provided in the BOM Upload Template

+
{% csrf_token %} diff --git a/InvenTree/part/urls.py b/InvenTree/part/urls.py index 22cff6c83d..e39375f032 100644 --- a/InvenTree/part/urls.py +++ b/InvenTree/part/urls.py @@ -27,7 +27,7 @@ part_detail_urls = [ url(r'^make-variant/', views.MakePartVariant.as_view(), name='make-part-variant'), url(r'^pricing/', views.PartPricing.as_view(), name='part-pricing'), - url(r'^bom-upload/?', views.BomUpload.as_view(template_name='part/bom_upload/upload_file.html'), name='upload-bom'), + url(r'^bom-upload/?', views.BomUpload.as_view(), name='upload-bom'), url(r'^variants/?', views.PartDetail.as_view(template_name='part/variants.html'), name='part-variants'), url(r'^stock/?', views.PartDetail.as_view(template_name='part/stock.html'), name='part-stock'), diff --git a/InvenTree/part/views.py b/InvenTree/part/views.py index 11509871b3..e33a5b3c14 100644 --- a/InvenTree/part/views.py +++ b/InvenTree/part/views.py @@ -647,8 +647,8 @@ class BomUpload(FormView): During these steps, data are passed between the server/client as JSON objects. """ - template_name = 'part/bom_upload/select_file.html' - + template_name='part/bom_upload/upload_file.html' + def get_success_url(self): part = self.get_object() return reverse('upload-bom', kwargs={'pk': part.id}) @@ -715,16 +715,9 @@ class BomUpload(FormView): for k, v in errors.items(): self.form.errors[k] = v - data = { - 'form_valid': False - } - - ctx = {} - - if bom_file_valid: + if 0 and bom_file_valid: # BOM file is valid? Proceed to the next step! form = part_forms.BomUploadSelectFields - self.ajax_template_name = 'part/bom_upload/select_fields.html' # Provide context to the next form ctx = { @@ -734,8 +727,9 @@ class BomUpload(FormView): } else: form = self.form + form.errors['bom_file'] = [_('no errors')] - return self.renderJsonResponse(self.request, form, data=data, context=ctx) + return self.render_to_response(self.get_context_data(form=form)) def handleFieldSelection(self): """ Handle the output of the field selection form. @@ -855,7 +849,7 @@ class BomUpload(FormView): self.request = request self.part = get_object_or_404(Part, pk=self.kwargs['pk']) - self.form = self.get_form() + self.form = self.get_form(self.get_form_class()) # Did the user POST a file named bom_file? @@ -866,11 +860,7 @@ class BomUpload(FormView): elif form_step == 'select_fields': return self.handleFieldSelection() - data = { - 'form_valid': False, - } - - return self.renderJsonResponse(request, self.form, data=data) + return self.render_to_response(self.get_context_data(form=self.form)) class BomUploadTemplate(AjaxView):