mirror of
https://github.com/inventree/InvenTree.git
synced 2025-12-17 17:58:22 +00:00
[PUI] Supplier part badges (#8625)
* API fixes for SupplierPart - Move API filtering into SupplierPartFilter class - Correct field annotation for detail view * Add "in stock" and "no stock" badges to SupplierPart detail * Update details * Annotate 'on_order' quantity for SupplierPart * Add "has_stock" filter to SupplierPart API * Improve API query efficiency * Add 'has_stock' filter to table * Update <SupplierPartDetail> * Bump API version
This commit is contained in:
@@ -9,6 +9,7 @@ from rest_framework import serializers
|
||||
from sql_util.utils import SubqueryCount
|
||||
from taggit.serializers import TagListSerializerField
|
||||
|
||||
import company.filters
|
||||
import part.filters
|
||||
import part.serializers as part_serializers
|
||||
from importer.mixins import DataImportExportSerializerMixin
|
||||
@@ -323,6 +324,7 @@ class SupplierPartSerializer(
|
||||
'availability_updated',
|
||||
'description',
|
||||
'in_stock',
|
||||
'on_order',
|
||||
'link',
|
||||
'active',
|
||||
'manufacturer',
|
||||
@@ -396,6 +398,8 @@ class SupplierPartSerializer(
|
||||
# Annotated field showing total in-stock quantity
|
||||
in_stock = serializers.FloatField(read_only=True, label=_('In Stock'))
|
||||
|
||||
on_order = serializers.FloatField(read_only=True, label=_('On Order'))
|
||||
|
||||
available = serializers.FloatField(required=False, label=_('Available'))
|
||||
|
||||
pack_quantity_native = serializers.FloatField(read_only=True)
|
||||
@@ -442,6 +446,10 @@ class SupplierPartSerializer(
|
||||
"""
|
||||
queryset = queryset.annotate(in_stock=part.filters.annotate_total_stock())
|
||||
|
||||
queryset = queryset.annotate(
|
||||
on_order=company.filters.annotate_on_order_quantity()
|
||||
)
|
||||
|
||||
return queryset
|
||||
|
||||
def update(self, supplier_part, data):
|
||||
|
||||
Reference in New Issue
Block a user