mirror of
https://github.com/inventree/InvenTree.git
synced 2025-10-24 01:47:39 +00:00
remove new duplication
This commit is contained in:
@@ -53,6 +53,12 @@ class PathScopedMixin:
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
"""Initialization routine for the serializer."""
|
||||
# add list_serializer_class to meta if not present
|
||||
if not isinstance(self, FilterableListSerializer) and (
|
||||
not hasattr(self.Meta, 'list_serializer_class')
|
||||
):
|
||||
self.Meta.list_serializer_class = FilterableListSerializer
|
||||
|
||||
self.gather_filters(kwargs)
|
||||
super().__init__(*args, **kwargs)
|
||||
self.do_filtering(*args, **kwargs)
|
||||
|
||||
@@ -34,7 +34,6 @@ from InvenTree.mixins import DataImportExportSerializerMixin
|
||||
from InvenTree.serializers import (
|
||||
CfCharField,
|
||||
CfIntegerField,
|
||||
FilterableListSerializer,
|
||||
InvenTreeDecimalField,
|
||||
InvenTreeModelSerializer,
|
||||
NotesFieldMixin,
|
||||
@@ -112,7 +111,6 @@ class BuildSerializer(
|
||||
'status_text',
|
||||
'level',
|
||||
]
|
||||
list_serializer_class = FilterableListSerializer
|
||||
|
||||
reference = serializers.CharField(required=True)
|
||||
|
||||
@@ -1204,7 +1202,6 @@ class BuildItemSerializer(
|
||||
'bom_part_id',
|
||||
'bom_part_name',
|
||||
]
|
||||
list_serializer_class = FilterableListSerializer
|
||||
|
||||
# Export-only fields
|
||||
bom_reference = serializers.CharField(
|
||||
@@ -1355,7 +1352,6 @@ class BuildLineSerializer(
|
||||
'build_detail',
|
||||
]
|
||||
read_only_fields = ['build', 'bom_item', 'allocations']
|
||||
list_serializer_class = FilterableListSerializer
|
||||
|
||||
# Build info fields
|
||||
build_reference = serializers.CharField(
|
||||
|
||||
@@ -19,7 +19,6 @@ from InvenTree.mixins import DataImportExportSerializerMixin
|
||||
from InvenTree.ready import isGeneratingSchema
|
||||
from InvenTree.serializers import (
|
||||
CfCharField,
|
||||
FilterableListSerializer,
|
||||
InvenTreeCurrencySerializer,
|
||||
InvenTreeDecimalField,
|
||||
InvenTreeImageSerializerField,
|
||||
@@ -277,7 +276,6 @@ class ManufacturerPartSerializer(
|
||||
'notes',
|
||||
'tags',
|
||||
]
|
||||
list_serializer_class = FilterableListSerializer
|
||||
|
||||
tags = TagListSerializerField(required=False)
|
||||
|
||||
@@ -389,7 +387,6 @@ class SupplierPartSerializer(
|
||||
'barcode_hash',
|
||||
'pack_quantity_native',
|
||||
]
|
||||
list_serializer_class = FilterableListSerializer
|
||||
|
||||
tags = TagListSerializerField(required=False)
|
||||
|
||||
@@ -554,7 +551,6 @@ class SupplierPriceBreakSerializer(
|
||||
'supplier_detail',
|
||||
'updated',
|
||||
]
|
||||
list_serializer_class = FilterableListSerializer
|
||||
|
||||
@staticmethod
|
||||
def annotate_queryset(queryset):
|
||||
|
||||
@@ -45,7 +45,6 @@ from InvenTree.helpers import (
|
||||
)
|
||||
from InvenTree.mixins import DataImportExportSerializerMixin
|
||||
from InvenTree.serializers import (
|
||||
FilterableListSerializer,
|
||||
InvenTreeCurrencySerializer,
|
||||
InvenTreeDecimalField,
|
||||
InvenTreeModelSerializer,
|
||||
@@ -332,7 +331,6 @@ class PurchaseOrderSerializer(
|
||||
'supplier': {'required': True},
|
||||
'order_currency': {'required': False},
|
||||
}
|
||||
list_serializer_class = FilterableListSerializer
|
||||
|
||||
def skip_create_fields(self):
|
||||
"""Skip these fields when instantiating a new object."""
|
||||
@@ -502,7 +500,6 @@ class PurchaseOrderLineItemSerializer(
|
||||
'internal_part',
|
||||
'internal_part_name',
|
||||
]
|
||||
list_serializer_class = FilterableListSerializer
|
||||
|
||||
def skip_create_fields(self):
|
||||
"""Return a list of fields to skip when creating a new object."""
|
||||
@@ -710,7 +707,6 @@ class PurchaseOrderExtraLineSerializer(
|
||||
"""Metaclass options."""
|
||||
|
||||
model = order.models.PurchaseOrderExtraLine
|
||||
list_serializer_class = FilterableListSerializer
|
||||
|
||||
|
||||
class PurchaseOrderLineItemReceiveSerializer(serializers.Serializer):
|
||||
@@ -985,7 +981,6 @@ class SalesOrderSerializer(
|
||||
])
|
||||
read_only_fields = ['status', 'creation_date', 'shipment_date']
|
||||
extra_kwargs = {'order_currency': {'required': False}}
|
||||
list_serializer_class = FilterableListSerializer
|
||||
|
||||
def skip_create_fields(self):
|
||||
"""Skip these fields when instantiating a new object."""
|
||||
@@ -1086,7 +1081,6 @@ class SalesOrderLineItemSerializer(
|
||||
'building',
|
||||
'on_order',
|
||||
]
|
||||
list_serializer_class = FilterableListSerializer
|
||||
|
||||
@staticmethod
|
||||
def annotate_queryset(queryset):
|
||||
@@ -1244,7 +1238,6 @@ class SalesOrderShipmentSerializer(
|
||||
'link',
|
||||
'notes',
|
||||
]
|
||||
list_serializer_class = FilterableListSerializer
|
||||
|
||||
@staticmethod
|
||||
def annotate_queryset(queryset):
|
||||
@@ -1298,7 +1291,6 @@ class SalesOrderAllocationSerializer(PathScopedMixin, InvenTreeModelSerializer):
|
||||
'shipment_detail',
|
||||
]
|
||||
read_only_fields = ['line', '']
|
||||
list_serializer_class = FilterableListSerializer
|
||||
|
||||
part = serializers.PrimaryKeyRelatedField(source='item.part', read_only=True)
|
||||
order = serializers.PrimaryKeyRelatedField(
|
||||
@@ -1823,7 +1815,6 @@ class ReturnOrderSerializer(
|
||||
'total_price',
|
||||
])
|
||||
read_only_fields = ['creation_date']
|
||||
list_serializer_class = FilterableListSerializer
|
||||
|
||||
def skip_create_fields(self):
|
||||
"""Skip these fields when instantiating a new object."""
|
||||
@@ -2022,7 +2013,6 @@ class ReturnOrderLineItemSerializer(
|
||||
'target_date',
|
||||
'link',
|
||||
]
|
||||
list_serializer_class = FilterableListSerializer
|
||||
|
||||
order_detail = can_filter(
|
||||
ReturnOrderSerializer(
|
||||
@@ -2060,7 +2050,6 @@ class ReturnOrderExtraLineSerializer(
|
||||
"""Metaclass options."""
|
||||
|
||||
model = order.models.ReturnOrderExtraLine
|
||||
list_serializer_class = FilterableListSerializer
|
||||
|
||||
order_detail = can_filter(
|
||||
ReturnOrderSerializer(
|
||||
|
||||
@@ -92,7 +92,6 @@ class CategorySerializer(
|
||||
'parent_default_location',
|
||||
]
|
||||
read_only_fields = ['level', 'pathstring']
|
||||
list_serializer_class = FilterableListSerializer
|
||||
|
||||
@staticmethod
|
||||
def annotate_queryset(queryset):
|
||||
@@ -353,7 +352,6 @@ class PartBriefSerializer(
|
||||
'pricing_max',
|
||||
]
|
||||
read_only_fields = ['barcode_hash']
|
||||
list_serializer_class = FilterableListSerializer
|
||||
|
||||
category_default_location = serializers.IntegerField(
|
||||
read_only=True, allow_null=True
|
||||
@@ -418,7 +416,6 @@ class PartParameterSerializer(
|
||||
'updated_by_detail',
|
||||
]
|
||||
read_only_fields = ['updated', 'updated_by']
|
||||
list_serializer_class = FilterableListSerializer
|
||||
|
||||
def save(self):
|
||||
"""Save the PartParameter instance."""
|
||||
@@ -719,7 +716,6 @@ class PartSerializer(
|
||||
'tags',
|
||||
]
|
||||
read_only_fields = ['barcode_hash', 'creation_date', 'creation_user']
|
||||
list_serializer_class = FilterableListSerializer
|
||||
|
||||
tags = TagListSerializerField(required=False)
|
||||
|
||||
@@ -1674,7 +1670,6 @@ class BomItemSerializer(
|
||||
# Annotate the total potential quantity we can build
|
||||
'can_build',
|
||||
]
|
||||
list_serializer_class = FilterableListSerializer
|
||||
|
||||
quantity = InvenTree.serializers.InvenTreeDecimalField(required=True)
|
||||
|
||||
|
||||
@@ -34,7 +34,6 @@ from importer.registry import register_importer
|
||||
from InvenTree.mixins import DataImportExportSerializerMixin
|
||||
from InvenTree.serializers import (
|
||||
CfListField,
|
||||
FilterableListSerializer,
|
||||
InvenTreeCurrencySerializer,
|
||||
InvenTreeDecimalField,
|
||||
InvenTreeModelSerializer,
|
||||
@@ -224,7 +223,6 @@ class StockItemTestResultSerializer(
|
||||
'template_detail',
|
||||
]
|
||||
read_only_fields = ['pk', 'user', 'date']
|
||||
list_serializer_class = FilterableListSerializer
|
||||
|
||||
user_detail = can_filter(
|
||||
UserSerializer(source='user', read_only=True, allow_null=True)
|
||||
@@ -403,7 +401,6 @@ class StockItemSerializer(
|
||||
"""
|
||||
Fields used when creating a stock item
|
||||
"""
|
||||
list_serializer_class = FilterableListSerializer
|
||||
|
||||
part = serializers.PrimaryKeyRelatedField(
|
||||
queryset=part_models.Part.objects.all(),
|
||||
@@ -1160,7 +1157,6 @@ class LocationSerializer(
|
||||
'tags',
|
||||
]
|
||||
read_only_fields = ['barcode_hash', 'icon', 'level', 'pathstring']
|
||||
list_serializer_class = FilterableListSerializer
|
||||
|
||||
@staticmethod
|
||||
def annotate_queryset(queryset):
|
||||
@@ -1237,7 +1233,6 @@ class StockTrackingSerializer(
|
||||
'user_detail',
|
||||
]
|
||||
read_only_fields = ['date', 'user', 'label', 'tracking_type']
|
||||
list_serializer_class = FilterableListSerializer
|
||||
|
||||
label = serializers.CharField(read_only=True)
|
||||
|
||||
|
||||
@@ -247,7 +247,6 @@ class GroupSerializer(PathScopedMixin, InvenTreeModelSerializer):
|
||||
|
||||
model = Group
|
||||
fields = ['pk', 'name', 'permissions', 'roles', 'users']
|
||||
list_serializer_class = FilterableListSerializer
|
||||
|
||||
permissions = can_filter(
|
||||
CfSerializerMethodField(allow_null=True, read_only=True),
|
||||
|
||||
Reference in New Issue
Block a user