Add code for component autocompletion in add-stock-modal

This commit is contained in:
2021-11-08 00:56:33 +01:00
parent 88bebfa2c8
commit b4e561279b
10 changed files with 152 additions and 18 deletions

View File

@@ -32,10 +32,13 @@ class StorageSerializer(serializers.HyperlinkedModelSerializer):
class ComponentSerializer(serializers.HyperlinkedModelSerializer):
package_data = PackageSerializerNoLink(source='package', read_only=True)
ro_manufacturer_name = serializers.ReadOnlyField(source='manufacturer.name')
ro_image = serializers.ReadOnlyField(source='get_resolved_image')
class Meta:
model = parts_models.Component
fields = ['url', 'id', 'name', 'package_data', 'package', 'pref_distri']
fields = ['url', 'id', 'name', 'package_data', 'package', 'pref_distri', 'image', 'manufacturer', 'ro_manufacturer_name', 'ro_image']
class StockSerializer(serializers.HyperlinkedModelSerializer):
ro_package_name = serializers.ReadOnlyField(source='component.package.name')
@@ -53,3 +56,8 @@ class DistributorSerializer(serializers.HyperlinkedModelSerializer):
class StockIncrementDecrementSerializer(serializers.Serializer):
increment = serializers.IntegerField()
class ManufacturerSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = parts_models.Manufacturer
fields = '__all__'

View File

@@ -11,6 +11,7 @@ router.register(r'parts/components', PartsComponentViewSet)
router.register(r'parts/stocks', PartsStockViewSet)
router.register(r'parts/packages', PartsPackageViewSet)
router.register(r'parts/distributors', PartsDistributorviewSet)
router.register(r'parts/manufacturers', PartsManufacturerViewSet)
urlpatterns = [
path('', include(router.urls)),

View File

@@ -49,6 +49,13 @@ class PartsComponentViewSet(viewsets.ModelViewSet):
filter_backends = [filters.SearchFilter]
search_fields = ['name', 'package__name', 'manufacturer__name']
class PartsManufacturerViewSet(viewsets.ModelViewSet):
queryset = parts_models.Manufacturer.objects.all()
serializer_class = ManufacturerSerializer
permission_classes = [permissions.DjangoModelPermissions]
filter_backends = [filters.SearchFilter]
search_fields = ['name']
class PartsStockViewSet(viewsets.ModelViewSet):
queryset = parts_models.Stock.objects.all()
serializer_class = StockSerializer