2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-18 13:05:42 +00:00

Move PartParameterTemplate model to the API (#3123)

* Adds detail API view for the PartParameterTemplate model

* Use API methods rather than server-side forms

* Remove old views / forms

* Update API version
This commit is contained in:
Oliver
2022-06-03 17:11:19 +10:00
committed by GitHub
parent ebca787f71
commit 2e40f3ccf3
6 changed files with 53 additions and 63 deletions

View File

@ -1441,6 +1441,13 @@ class PartParameterTemplateList(generics.ListCreateAPIView):
return queryset
class PartParameterTemplateDetail(generics.RetrieveUpdateDestroyAPIView):
"""API endpoint for accessing the detail view for a PartParameterTemplate object"""
queryset = PartParameterTemplate.objects.all()
serializer_class = part_serializers.PartParameterTemplateSerializer
class PartParameterList(generics.ListCreateAPIView):
"""API endpoint for accessing a list of PartParameter objects.
@ -1894,7 +1901,10 @@ part_api_urls = [
# Base URL for PartParameter API endpoints
re_path(r'^parameter/', include([
path('template/', PartParameterTemplateList.as_view(), name='api-part-parameter-template-list'),
path('template/', include([
re_path(r'^(?P<pk>\d+)/', PartParameterTemplateDetail.as_view(), name='api-part-parameter-template-detail'),
re_path(r'^.*$', PartParameterTemplateList.as_view(), name='api-part-parameter-template-list'),
])),
re_path(r'^(?P<pk>\d+)/', PartParameterDetail.as_view(), name='api-part-parameter-detail'),
re_path(r'^.*$', PartParameterList.as_view(), name='api-part-parameter-list'),

View File

@ -11,8 +11,7 @@ from InvenTree.forms import HelperForm
from InvenTree.helpers import clean_decimal
from .models import (Part, PartCategory, PartCategoryParameterTemplate,
PartInternalPriceBreak, PartParameterTemplate,
PartSellPriceBreak)
PartInternalPriceBreak, PartSellPriceBreak)
class PartImageDownloadForm(HelperForm):
@ -60,18 +59,6 @@ class SetPartCategoryForm(forms.Form):
part_category = TreeNodeChoiceField(queryset=PartCategory.objects.all(), required=True, help_text=_('Select part category'))
class EditPartParameterTemplateForm(HelperForm):
"""Form for editing a PartParameterTemplate object."""
class Meta:
"""Metaclass defines fields for this form"""
model = PartParameterTemplate
fields = [
'name',
'units'
]
class EditCategoryParameterTemplateForm(HelperForm):
"""Form for editing a PartCategoryParameterTemplate object."""

View File

@ -10,12 +10,6 @@ from django.urls import include, re_path
from . import views
part_parameter_urls = [
re_path(r'^template/new/', views.PartParameterTemplateCreate.as_view(), name='part-param-template-create'),
re_path(r'^template/(?P<pk>\d+)/edit/', views.PartParameterTemplateEdit.as_view(), name='part-param-template-edit'),
re_path(r'^template/(?P<pk>\d+)/delete/', views.PartParameterTemplateDelete.as_view(), name='part-param-template-edit'),
]
part_detail_urls = [
re_path(r'^delete/?', views.PartDelete.as_view(), name='part-delete'),
re_path(r'^bom-download/?', views.BomDownload.as_view(), name='bom-download'),
@ -71,9 +65,6 @@ part_urls = [
# Part category
re_path(r'^category/', include(category_urls)),
# Part parameters
re_path(r'^parameter/', include(part_parameter_urls)),
# Change category for multiple parts
re_path(r'^set-category/?', views.PartSetCategory.as_view(), name='part-set-category'),

View File

@ -36,8 +36,7 @@ from stock.models import StockItem, StockLocation
from . import forms as part_forms
from . import settings as part_settings
from .bom import ExportBom, IsValidBOMFormat, MakeBomTemplate
from .models import (Part, PartCategory, PartCategoryParameterTemplate,
PartParameterTemplate)
from .models import Part, PartCategory, PartCategoryParameterTemplate
class PartIndex(InvenTreeRoleMixin, ListView):
@ -930,29 +929,6 @@ class PartPricing(AjaxView):
return self.renderJsonResponse(request, form, data=data, context=self.get_pricing(quantity, currency))
class PartParameterTemplateCreate(AjaxCreateView):
"""View for creating a new PartParameterTemplate."""
model = PartParameterTemplate
form_class = part_forms.EditPartParameterTemplateForm
ajax_form_title = _('Create Part Parameter Template')
class PartParameterTemplateEdit(AjaxUpdateView):
"""View for editing a PartParameterTemplate."""
model = PartParameterTemplate
form_class = part_forms.EditPartParameterTemplateForm
ajax_form_title = _('Edit Part Parameter Template')
class PartParameterTemplateDelete(AjaxDeleteView):
"""View for deleting an existing PartParameterTemplate."""
model = PartParameterTemplate
ajax_form_title = _("Delete Part Parameter Template")
class CategoryDetail(InvenTreeRoleMixin, InvenTreePluginViewMixin, DetailView):
"""Detail view for PartCategory."""