mirror of
https://github.com/inventree/InvenTree.git
synced 2025-12-16 09:18:10 +00:00
Refactor mixin to avoid specifying model type manually
This commit is contained in:
@@ -603,8 +603,6 @@ class BulkUpdateMixin(BulkOperationMixin):
|
||||
class ParameterListMixin:
|
||||
"""Mixin class which supports filtering against parametric fields."""
|
||||
|
||||
parameter_model_class = None
|
||||
|
||||
def filter_queryset(self, queryset):
|
||||
"""Perform filtering against parametric fields."""
|
||||
import common.filters
|
||||
@@ -616,11 +614,15 @@ class ParameterListMixin:
|
||||
queryset, self.request.query_params
|
||||
)
|
||||
|
||||
serializer_class = (
|
||||
getattr(self, 'serializer_class', None) or self.get_serializer_class()
|
||||
)
|
||||
|
||||
model_class = serializer_class.Meta.model
|
||||
|
||||
# Apply ordering based on query parameter
|
||||
queryset = common.filters.order_by_parameter(
|
||||
queryset,
|
||||
self.parameter_model_class,
|
||||
self.request.query_params.get('ordering', None),
|
||||
queryset, model_class, self.request.query_params.get('ordering', None)
|
||||
)
|
||||
|
||||
return queryset
|
||||
|
||||
@@ -349,7 +349,6 @@ class BuildList(
|
||||
- POST: Create a new Build object
|
||||
"""
|
||||
|
||||
parameter_model_class = Build
|
||||
output_options = BuildListOutputOptions
|
||||
filterset_class = BuildFilter
|
||||
filter_backends = SEARCH_ORDER_FILTER_ALIAS
|
||||
|
||||
@@ -2442,7 +2442,7 @@ class ParameterTemplate(
|
||||
choice_set.add(choice)
|
||||
|
||||
def validate_unique(self, exclude=None):
|
||||
"""Ensure that PartParameterTemplates cannot be created with the same name.
|
||||
"""Ensure that ParameterTemplates cannot be created with the same name.
|
||||
|
||||
This test should be case-insensitive (which the unique caveat does not cover).
|
||||
"""
|
||||
|
||||
@@ -60,7 +60,6 @@ class CompanyList(CompanyMixin, ParameterListMixin, DataExportViewMixin, ListCre
|
||||
- POST: Create a new Company object
|
||||
"""
|
||||
|
||||
parameter_model_class = Company
|
||||
filter_backends = SEARCH_ORDER_FILTER
|
||||
|
||||
filterset_fields = [
|
||||
@@ -201,7 +200,6 @@ class ManufacturerPartList(
|
||||
- POST: Create a new ManufacturerPart object
|
||||
"""
|
||||
|
||||
parameter_model_class = ManufacturerPart
|
||||
filterset_class = ManufacturerPartFilter
|
||||
filter_backends = SEARCH_ORDER_FILTER
|
||||
output_options = ManufacturerOutputOptions
|
||||
@@ -352,7 +350,6 @@ class SupplierPartList(
|
||||
- POST: Create a new SupplierPart object
|
||||
"""
|
||||
|
||||
parameter_model_class = SupplierPart
|
||||
filterset_class = SupplierPartFilter
|
||||
filter_backends = SEARCH_ORDER_FILTER_ALIAS
|
||||
output_options = SupplierPartOutputOptions
|
||||
|
||||
@@ -392,7 +392,6 @@ class PurchaseOrderList(
|
||||
- POST: Create a new PurchaseOrder object
|
||||
"""
|
||||
|
||||
parameter_model_class = models.PurchaseOrder
|
||||
filterset_class = PurchaseOrderFilter
|
||||
filter_backends = SEARCH_ORDER_FILTER_ALIAS
|
||||
output_options = PurchaseOrderOutputOptions
|
||||
@@ -863,7 +862,6 @@ class SalesOrderList(
|
||||
- POST: Create a new SalesOrder
|
||||
"""
|
||||
|
||||
parameter_model_class = models.SalesOrder
|
||||
filterset_class = SalesOrderFilter
|
||||
filter_backends = SEARCH_ORDER_FILTER_ALIAS
|
||||
output_options = SalesOrderOutputOptions
|
||||
@@ -1537,7 +1535,6 @@ class ReturnOrderList(
|
||||
):
|
||||
"""API endpoint for accessing a list of ReturnOrder objects."""
|
||||
|
||||
parameter_model_class = models.ReturnOrder
|
||||
filterset_class = ReturnOrderFilter
|
||||
filter_backends = SEARCH_ORDER_FILTER_ALIAS
|
||||
|
||||
|
||||
@@ -1076,7 +1076,6 @@ class PartList(
|
||||
):
|
||||
"""API endpoint for accessing a list of Part objects, or creating a new Part instance."""
|
||||
|
||||
parameter_model_class = Part
|
||||
output_options = PartOutputOptions
|
||||
filterset_class = PartFilter
|
||||
is_create = True
|
||||
|
||||
@@ -40,7 +40,7 @@ RULESET_NAMES = [choice[0] for choice in RULESET_CHOICES]
|
||||
# Permission types available for each ruleset.
|
||||
RULESET_PERMISSIONS = ['view', 'add', 'change', 'delete']
|
||||
|
||||
RULESET_CHANGE_INHERIT = [('part', 'partparameter'), ('part', 'bomitem')]
|
||||
RULESET_CHANGE_INHERIT = [('part', 'bomitem')]
|
||||
|
||||
|
||||
def get_ruleset_models() -> dict:
|
||||
|
||||
Reference in New Issue
Block a user