fix inventory balanve & remaining - import provider name in device serializer
This commit is contained in:
@@ -218,6 +218,12 @@ class OrganizationViewSet(ModelViewSet, DynamicSearchMixin):
|
||||
descendants.extend(self.get_all_org_child(child))
|
||||
return descendants
|
||||
|
||||
def list(self, request, *args, **kwargs):
|
||||
""" all organization """
|
||||
|
||||
serializer = self.serializer_class(self.queryset.order_by('-create_date'), many=True)
|
||||
return Response(serializer.data, status=status.HTTP_200_OK)
|
||||
|
||||
@transaction.atomic
|
||||
def create(self, request, *args, **kwargs):
|
||||
"""
|
||||
|
||||
@@ -38,6 +38,12 @@ class PageViewSet(viewsets.ModelViewSet):
|
||||
filter_backends = [filters.SearchFilter]
|
||||
search_fields = ['name', 'code']
|
||||
|
||||
def list(self, request, *args, **kwargs):
|
||||
""" all pages """
|
||||
|
||||
serializer = self.serializer_class(self.queryset.order_by('-create_date'), many=True)
|
||||
return Response(serializer.data, status=status.HTTP_200_OK)
|
||||
|
||||
@action(
|
||||
methods=['delete'],
|
||||
detail=True,
|
||||
|
||||
@@ -13,6 +13,14 @@ class DeviceSerializer(ModelSerializer):
|
||||
model = pos_models.Device
|
||||
fields = '__all__'
|
||||
|
||||
def to_representation(self, instance):
|
||||
""" custom output of serializer """
|
||||
representation = super().to_representation(instance)
|
||||
|
||||
representation['company'] = {'name': instance.company.name_fa}
|
||||
|
||||
return representation
|
||||
|
||||
|
||||
class DeviceVersionSerializer(ModelSerializer):
|
||||
class Meta:
|
||||
|
||||
@@ -35,7 +35,13 @@ def remaining_distribution_weight(instance: QuotaDistribution):
|
||||
total_children_weight = instance.children.aggregate(
|
||||
total=Sum('weight')
|
||||
)['total'] or 0
|
||||
instance.remaining_weight = instance.weight - total_children_weight
|
||||
|
||||
# total warehouse inventory entry
|
||||
total_entry = instance.inventory_entry.aggregate(
|
||||
total=Sum('weight')
|
||||
)['total'] or 0
|
||||
|
||||
instance.remaining_weight = instance.weight - total_children_weight - total_entry
|
||||
instance.distributed = total_children_weight
|
||||
instance._from_signal = True
|
||||
instance.save(update_fields=['remaining_weight', 'distributed'])
|
||||
|
||||
@@ -28,6 +28,7 @@ def warehouse_sold_and_balance(quota_distribution):
|
||||
@receiver(post_delete, sender=InventoryEntry)
|
||||
def update_distribution_warehouse_entry(sender, instance, **kwargs):
|
||||
calculate_warehouse_entry(instance.distribution)
|
||||
warehouse_sold_and_balance(instance.distribution)
|
||||
|
||||
|
||||
@receiver(post_save, sender=InventoryQuotaSaleTransaction)
|
||||
|
||||
Reference in New Issue
Block a user