fix - list of assigned_distribution & assigner_distributions of me
This commit is contained in:
@@ -4,7 +4,6 @@ from django.db import models
|
||||
from django.db.models import Sum, Q
|
||||
from django.db.models.signals import post_save, post_delete, post_init
|
||||
from django.dispatch import receiver
|
||||
from rest_framework import status
|
||||
|
||||
from apps.product.validators.quota_stats_validator import QuotaStatsValidator
|
||||
from apps.warehouse.models import (
|
||||
@@ -12,7 +11,6 @@ from apps.warehouse.models import (
|
||||
InventoryEntry
|
||||
)
|
||||
from common.helpers import get_organization_by_user
|
||||
from .exceptions import QuotaException
|
||||
from .models import (
|
||||
QuotaDistribution,
|
||||
Quota,
|
||||
@@ -328,7 +326,10 @@ def organization_quota_stats(sender, instance: Quota, created: bool, **kwargs):
|
||||
total=Sum('weight')
|
||||
)['total'] or 0
|
||||
org_quota_stat.remaining_amount = org_quota_stat.total_amount - org_quota_stat.total_distributed
|
||||
|
||||
# validate total_amount & distributed with remaining in update
|
||||
QuotaStatsValidator.validate_quota_weight_update(org_quota_stat.remaining_amount)
|
||||
|
||||
org_quota_stat.save(update_fields=['total_amount', 'total_distributed', 'sold_amount', 'remaining_amount'])
|
||||
|
||||
# delete quota
|
||||
|
||||
@@ -35,10 +35,12 @@ class QuotaSerializer(serializers.ModelSerializer):
|
||||
representation['been_sold'] = quota_weight_by_org['been_sold']
|
||||
representation['distributions'] = [{
|
||||
"id": dist.id,
|
||||
"organization": org.name,
|
||||
"organization_id": org.id,
|
||||
"create_date": dist.create_date,
|
||||
"modify_date": dist.modify_date,
|
||||
"assigner_organization": dist.assigner_organization.name,
|
||||
"assigner_organization_id": dist.assigner_organization.id,
|
||||
"weight": dist.weight,
|
||||
} for dist in instance.distributions_assigned.all()]
|
||||
} for dist in instance.distributions_assigned.filter(assigned_organization=org)]
|
||||
|
||||
if isinstance(instance, product_models.Quota):
|
||||
if instance.sale_unit:
|
||||
|
||||
@@ -398,10 +398,13 @@ class QuotaViewSet(BaseViewSet, SoftDeleteMixin, viewsets.ModelViewSet, DynamicS
|
||||
def get_distributions_by_quota(self, request, pk=None):
|
||||
""" list of distributions by quota """
|
||||
|
||||
my_org = get_organization_by_user(request.user)
|
||||
try:
|
||||
quota = self.get_object()
|
||||
queryset = self.filter_query(
|
||||
quota.distributions_assigned.all().order_by('-modify_date')
|
||||
quota.distributions_assigned.filter(
|
||||
assigner_organization=my_org
|
||||
).order_by('-modify_date')
|
||||
) # return by search param or all objects
|
||||
|
||||
# paginate queryset
|
||||
|
||||
Reference in New Issue
Block a user