fix - update registerer quota stat in wqrehous allocation service

This commit is contained in:
2025-11-22 12:27:30 +03:30
parent 5d66b9251f
commit 847b8dc9f6

View File

@@ -55,13 +55,25 @@ class WarehouseAllocationService:
) )
org = entry.organization.parent_organization org = entry.organization.parent_organization
parent_orgs = []
while org: while org:
stat = OrganizationQuotaStats.objects.filter( # import parent org to list
quota=entry.quota, parent_orgs.append(org)
organization=org
)
if stat.exists():
stat = stat.first()
stat.inventory_received += entry.weight
stat.save()
org = org.parent_organization org = org.parent_organization
parent_org_ids = [org.id for org in parent_orgs]
target_org_ids = set(parent_org_ids)
if entry.quota.registerer_organization.id not in target_org_ids:
target_org_ids.add(entry.quota.registerer_organization.id)
stats = (OrganizationQuotaStats.objects.filter(
quota=entry.quota,
organization__in=target_org_ids
))
for stat in stats:
stat.inventory_received += entry.weight
OrganizationQuotaStats.objects.bulk_update(stats, ["inventory_received"])