From 870542e4c103ba4deb674d326a461a63680a4b5d Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 1 Jul 2021 16:05:23 +1000 Subject: [PATCH] Refactor forms for ManufacturerPartParameter --- InvenTree/company/forms.py | 17 +---- .../company/manufacturer_part_suppliers.html | 25 +++++--- InvenTree/company/views.py | 63 +------------------ InvenTree/templates/js/company.js | 31 ++++----- 4 files changed, 36 insertions(+), 100 deletions(-) diff --git a/InvenTree/company/forms.py b/InvenTree/company/forms.py index 3b54f3dc61..63c07ff7a4 100644 --- a/InvenTree/company/forms.py +++ b/InvenTree/company/forms.py @@ -15,7 +15,7 @@ from djmoney.forms.fields import MoneyField from common.settings import currency_code_default -from .models import Company, ManufacturerPartParameter +from .models import Company from .models import ManufacturerPart from .models import SupplierPart from .models import SupplierPriceBreak @@ -58,21 +58,6 @@ class EditManufacturerPartForm(HelperForm): ] -class EditManufacturerPartParameterForm(HelperForm): - """ - Form for creating / editing a ManufacturerPartParameter object - """ - - class Meta: - model = ManufacturerPartParameter - fields = [ - 'manufacturer_part', - 'name', - 'value', - 'units', - ] - - class EditSupplierPartForm(HelperForm): """ Form for editing a SupplierPart object """ diff --git a/InvenTree/company/templates/company/manufacturer_part_suppliers.html b/InvenTree/company/templates/company/manufacturer_part_suppliers.html index 59969d9708..f3b87f4658 100644 --- a/InvenTree/company/templates/company/manufacturer_part_suppliers.html +++ b/InvenTree/company/templates/company/manufacturer_part_suppliers.html @@ -57,15 +57,26 @@ {% block js_ready %} {{ block.super }} +function reloadParameters() { + $("#parameter-table").bootstrapTable("refresh"); +} + $('#parameter-create').click(function() { - launchModalForm( - "{% url 'manufacturer-part-parameter-create' %}", - { - data: { - manufacturer_part: {{ part.id }}, + + constructForm('{% url "api-manufacturer-part-parameter-list" %}', { + method: 'POST', + fields: { + name: {}, + value: {}, + units: {}, + manufacturer_part: { + value: {{ part.pk }}, + hidden: true, } - } - ); + }, + title: '{% trans "Add Parameter" %}', + onSuccess: reloadParameters + }); }); $('#supplier-create').click(function () { diff --git a/InvenTree/company/views.py b/InvenTree/company/views.py index 01b602d20a..c0fdcb912b 100644 --- a/InvenTree/company/views.py +++ b/InvenTree/company/views.py @@ -23,13 +23,12 @@ from InvenTree.views import AjaxCreateView, AjaxUpdateView, AjaxDeleteView from InvenTree.helpers import str2bool from InvenTree.views import InvenTreeRoleMixin -from .models import Company, ManufacturerPartParameter +from .models import Company from .models import ManufacturerPart from .models import SupplierPart from part.models import Part -from .forms import EditManufacturerPartParameterForm from .forms import EditManufacturerPartForm from .forms import EditSupplierPartForm from .forms import CompanyImageDownloadForm @@ -414,66 +413,6 @@ class ManufacturerPartDelete(AjaxDeleteView): part.delete() return self.renderJsonResponse(self.request, data=data, form=self.get_form()) - - -class ManufacturerPartParameterCreate(AjaxCreateView): - """ - View for creating a new ManufacturerPartParameter object - """ - - model = ManufacturerPartParameter - form_class = EditManufacturerPartParameterForm - ajax_form_title = _('Add Manufacturer Part Parameter') - - def get_form(self): - - form = super().get_form() - - # Hide the manufacturer_part field if specified - if form.initial.get('manufacturer_part', None): - form.fields['manufacturer_part'].widget = HiddenInput() - - return form - - def get_initial(self): - - initials = super().get_initial().copy() - - manufacturer_part = self.get_param('manufacturer_part') - - if manufacturer_part: - try: - initials['manufacturer_part'] = ManufacturerPartParameter.objects.get(pk=manufacturer_part) - except (ValueError, ManufacturerPartParameter.DoesNotExist): - pass - - return initials - - -class ManufacturerPartParameterEdit(AjaxUpdateView): - """ - View for editing a ManufacturerPartParameter object - """ - - model = ManufacturerPartParameter - form_class = EditManufacturerPartParameterForm - ajax_form_title = _('Edit Manufacturer Part Parameter') - - def get_form(self): - - form = super().get_form() - - form.fields['manufacturer_part'].widget = HiddenInput() - - return form - - -class ManufacturerPartParameterDelete(AjaxDeleteView): - """ - View for deleting a ManufacturerPartParameter object - """ - - model = ManufacturerPartParameter class SupplierPartDetail(DetailView): diff --git a/InvenTree/templates/js/company.js b/InvenTree/templates/js/company.js index 96beb0a041..dc0f0f4cc6 100644 --- a/InvenTree/templates/js/company.js +++ b/InvenTree/templates/js/company.js @@ -342,27 +342,28 @@ function loadManufacturerPartParameterTable(table, url, options) { $(table).find('.button-parameter-edit').click(function() { var pk = $(this).attr('pk'); - launchModalForm( - `/manufacturer-part/parameter/${pk}/edit/`, - { - success: function() { - $(table).bootstrapTable('refresh'); - } + constructForm(`/api/company/part/manufacturer/parameter/${pk}/`, { + fields: { + name: {}, + value: {}, + units: {}, + }, + title: '{% trans "Edit Parameter" %}', + onSuccess: function() { + $(table).bootstrapTable('refresh'); } - ); - + }); }); $(table).find('.button-parameter-delete').click(function() { var pk = $(this).attr('pk'); - launchModalForm( - `/manufacturer-part/parameter/${pk}/delete/`, - { - success: function() { - $(table).bootstrapTable('refresh'); - } + constructForm(`/api/company/part/manufacturer/parameter/${pk}/`, { + method: 'DELETE', + title: '{% trans "Delete Parameter" %}', + onSuccess: function() { + $(table).bootstrapTable('refresh'); } - ); + }); }); } });