From 0a856b05f77b4f5d0f30cf6b649e6eda42430319 Mon Sep 17 00:00:00 2001 From: behruz-dev Date: Tue, 7 Oct 2025 16:36:21 +0500 Subject: [PATCH] fix --- core/apps/orders/models/party.py | 34 +++++++++++++-------------- core/apps/orders/serializers/party.py | 3 +++ 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/core/apps/orders/models/party.py b/core/apps/orders/models/party.py index c3073a6..9e8f4a6 100644 --- a/core/apps/orders/models/party.py +++ b/core/apps/orders/models/party.py @@ -59,23 +59,23 @@ class Party(BaseModel): def __str__(self): return f'P - {self.number}' - # def save(self, *args, **kwargs): - # if self.status in ['NEW', 'CANCELLED', 'DRAFT']: - # self.process = 0 - # elif self.status == 'EXPECTED': - # self.process = 25 - # elif self.status == 'PROCESS': - # self.process = 50 - # elif self.status == 'PURCHASED': - # self.process = 75 - # elif self.status == 'PARTY_IS_MADE': - # self.process = 100 - # if hasattr(self, 'party_amount') and self.party_amount.paid_amount > 0 and self.party_amount.payment_amount > 0: - # self.payment_percentage = (self.party_amount.paid_amount / self.party_amount.payment_amount) * 100 - # self.party_amount.save() - # else: - # self.payment_percentage = 100 - # return super().save(*args, **kwargs) + def save(self, *args, **kwargs): + if self.status in ['NEW', 'CANCELLED', 'DRAFT']: + self.process = 0 + elif self.status == 'EXPECTED': + self.process = 25 + elif self.status == 'PROCESS': + self.process = 50 + elif self.status == 'PURCHASED': + self.process = 75 + elif self.status == 'PARTY_IS_MADE': + self.process = 100 + if hasattr(self, 'party_amount') and self.party_amount.paid_amount > 0 and self.party_amount.payment_amount > 0: + self.payment_percentage = (self.party_amount.paid_amount / self.party_amount.payment_amount) * 100 + self.party_amount.save() + else: + self.payment_percentage = 100 + return super().save(*args, **kwargs) class Meta: verbose_name = 'Partiya' diff --git a/core/apps/orders/serializers/party.py b/core/apps/orders/serializers/party.py index 59683a1..654d3ba 100644 --- a/core/apps/orders/serializers/party.py +++ b/core/apps/orders/serializers/party.py @@ -428,7 +428,10 @@ class PartyExpenceCreateSerializer(serializers.ModelSerializer): if expence.party.currency == "uzs": expence.party.party_amount.payment_amount -= expence.price expence.party.party_amount.paid_amount += expence.price + print(expence.party.party_amount.payment_amount) + print(expence.party.party_amount.paid_amount) expence.party.save() + expence.party.refresh_from_db() elif expence.party.currency == 'usd': expence.party.party_amount.payment_amount -= round(expence.price / usd_value) expence.party.party_amount.paid_amount += round(expence.price / usd_value)