mirror of
				https://github.com/inventree/InvenTree.git
				synced 2025-10-31 05:05:42 +00:00 
			
		
		
		
	Add forms / views for ManufacturerPartParameter CRUD
This commit is contained in:
		| @@ -16,7 +16,7 @@ from djmoney.forms.fields import MoneyField | ||||
|  | ||||
| from common.settings import currency_code_default | ||||
|  | ||||
| from .models import Company | ||||
| from .models import Company, ManufacturerPartParameter | ||||
| from .models import ManufacturerPart | ||||
| from .models import SupplierPart | ||||
| from .models import SupplierPriceBreak | ||||
| @@ -105,6 +105,21 @@ 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 """ | ||||
|  | ||||
|   | ||||
| @@ -57,6 +57,17 @@ | ||||
| {% block js_ready %} | ||||
| {{ block.super }} | ||||
|  | ||||
| $('#parameter-create').click(function() { | ||||
|     launchModalForm( | ||||
|         "{% url 'manufacturer-part-parameter-create' %}", | ||||
|         { | ||||
|             data: { | ||||
|                 manufacturer_part: {{ part.id }}, | ||||
|             } | ||||
|         } | ||||
|     ); | ||||
| }); | ||||
|  | ||||
| $('#supplier-create').click(function () { | ||||
|     launchModalForm( | ||||
|         "{% url 'supplier-part-create' %}", | ||||
|   | ||||
| @@ -53,20 +53,25 @@ price_break_urls = [ | ||||
|     url(r'^(?P<pk>\d+)/delete/', views.PriceBreakDelete.as_view(), name='price-break-delete'), | ||||
| ] | ||||
|  | ||||
| manufacturer_part_detail_urls = [ | ||||
|     url(r'^edit/?', views.ManufacturerPartEdit.as_view(), name='manufacturer-part-edit'), | ||||
|  | ||||
|     url(r'^suppliers/', views.ManufacturerPartDetail.as_view(template_name='company/manufacturer_part_suppliers.html'), name='manufacturer-part-suppliers'), | ||||
|  | ||||
|     url('^.*$', views.ManufacturerPartDetail.as_view(template_name='company/manufacturer_part_suppliers.html'), name='manufacturer-part-detail'), | ||||
| ] | ||||
|  | ||||
| manufacturer_part_urls = [ | ||||
|     url(r'^new/?', views.ManufacturerPartCreate.as_view(), name='manufacturer-part-create'), | ||||
|  | ||||
|     url(r'delete/', views.ManufacturerPartDelete.as_view(), name='manufacturer-part-delete'), | ||||
|     url(r'^delete/', views.ManufacturerPartDelete.as_view(), name='manufacturer-part-delete'), | ||||
|  | ||||
|     url(r'^(?P<pk>\d+)/', include(manufacturer_part_detail_urls)), | ||||
|     # URLs for ManufacturerPartParameter views (create / edit / delete) | ||||
|     url(r'^parameter/', include([ | ||||
|         url(r'^new/', views.ManufacturerPartParameterCreate.as_view(), name='manufacturer-part-parameter-create'), | ||||
|         url(r'^(?P<pk>\d)/', include([ | ||||
|             url(r'^edit/', views.ManufacturerPartParameterEdit.as_view(), name='manufacturer-part-parameter-edit'), | ||||
|             url(r'^delete/', views.ManufacturerPartParameterDelete.as_view(), name='manufacturer-part-parameter-delete'), | ||||
|         ])), | ||||
|     ])), | ||||
|  | ||||
|     url(r'^(?P<pk>\d+)/', include([ | ||||
|         url(r'^edit/?', views.ManufacturerPartEdit.as_view(), name='manufacturer-part-edit'), | ||||
|         url(r'^suppliers/', views.ManufacturerPartDetail.as_view(template_name='company/manufacturer_part_suppliers.html'), name='manufacturer-part-suppliers'), | ||||
|         url('^.*$', views.ManufacturerPartDetail.as_view(template_name='company/manufacturer_part_suppliers.html'), name='manufacturer-part-detail'), | ||||
|     ])), | ||||
| ] | ||||
|  | ||||
| supplier_part_detail_urls = [ | ||||
|   | ||||
| @@ -23,14 +23,14 @@ from InvenTree.views import AjaxCreateView, AjaxUpdateView, AjaxDeleteView | ||||
| from InvenTree.helpers import str2bool | ||||
| from InvenTree.views import InvenTreeRoleMixin | ||||
|  | ||||
| from .models import Company | ||||
| from .models import Company, ManufacturerPartParameter | ||||
| from .models import ManufacturerPart | ||||
| from .models import SupplierPart | ||||
| from .models import SupplierPriceBreak | ||||
|  | ||||
| from part.models import Part | ||||
|  | ||||
| from .forms import EditCompanyForm | ||||
| from .forms import EditCompanyForm, EditManufacturerPartParameterForm | ||||
| from .forms import CompanyImageForm | ||||
| from .forms import EditManufacturerPartForm | ||||
| from .forms import EditSupplierPartForm | ||||
| @@ -504,6 +504,66 @@ class ManufacturerPartDelete(AjaxDeleteView): | ||||
|         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): | ||||
|     """ Detail view for SupplierPart """ | ||||
|     model = SupplierPart | ||||
|   | ||||
		Reference in New Issue
	
	Block a user