mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Add 'expired' flag to StockItem serializer
This commit is contained in:
parent
1a930f7f80
commit
39b9dcfec9
@ -11,6 +11,9 @@ from .models import StockItemTestResult
|
|||||||
|
|
||||||
from django.db.models.functions import Coalesce
|
from django.db.models.functions import Coalesce
|
||||||
|
|
||||||
|
from django.db.models import Case, When, Value
|
||||||
|
from django.db.models import BooleanField
|
||||||
|
|
||||||
from sql_util.utils import SubquerySum, SubqueryCount
|
from sql_util.utils import SubquerySum, SubqueryCount
|
||||||
|
|
||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
@ -106,6 +109,16 @@ class StockItemSerializer(InvenTreeModelSerializer):
|
|||||||
tracking_items=SubqueryCount('tracking_info')
|
tracking_items=SubqueryCount('tracking_info')
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Add flag to indicate if the StockItem has expired
|
||||||
|
queryset = queryset.annotate(
|
||||||
|
expired=Case(
|
||||||
|
When(
|
||||||
|
StockItem.EXPIRED_FILTER, then=Value(True, output_field=BooleanField()),
|
||||||
|
),
|
||||||
|
default=Value(False, output_field=BooleanField())
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
return queryset
|
return queryset
|
||||||
|
|
||||||
status_text = serializers.CharField(source='get_status_display', read_only=True)
|
status_text = serializers.CharField(source='get_status_display', read_only=True)
|
||||||
@ -122,6 +135,8 @@ class StockItemSerializer(InvenTreeModelSerializer):
|
|||||||
|
|
||||||
allocated = serializers.FloatField(source='allocation_count', required=False)
|
allocated = serializers.FloatField(source='allocation_count', required=False)
|
||||||
|
|
||||||
|
expired = serializers.BooleanField()
|
||||||
|
|
||||||
serial = serializers.CharField(required=False)
|
serial = serializers.CharField(required=False)
|
||||||
|
|
||||||
required_tests = serializers.IntegerField(source='required_test_count', read_only=True, required=False)
|
required_tests = serializers.IntegerField(source='required_test_count', read_only=True, required=False)
|
||||||
@ -155,6 +170,8 @@ class StockItemSerializer(InvenTreeModelSerializer):
|
|||||||
'belongs_to',
|
'belongs_to',
|
||||||
'build',
|
'build',
|
||||||
'customer',
|
'customer',
|
||||||
|
'expired',
|
||||||
|
'expiry_date',
|
||||||
'in_stock',
|
'in_stock',
|
||||||
'is_building',
|
'is_building',
|
||||||
'link',
|
'link',
|
||||||
|
Loading…
Reference in New Issue
Block a user