fix
This commit is contained in:
@@ -25,9 +25,10 @@ class PartyAdmin(admin.ModelAdmin):
|
|||||||
search_fields = [
|
search_fields = [
|
||||||
"number", "orders__counterparty__name"
|
"number", "orders__counterparty__name"
|
||||||
]
|
]
|
||||||
|
autocomplete_fields = ['orders']
|
||||||
|
|
||||||
def get_queryset(self, request):
|
def get_queryset(self, request):
|
||||||
return super().get_queryset(request).select_related('party_amount')
|
return super().get_queryset(request).select_related('party_amount', 'mediator').prefetch_related('orders')
|
||||||
|
|
||||||
|
|
||||||
@admin.register(PartyAmount)
|
@admin.register(PartyAmount)
|
||||||
|
|||||||
@@ -78,6 +78,7 @@ class Party(BaseModel):
|
|||||||
percentage += order.completion_percentage
|
percentage += order.completion_percentage
|
||||||
if percentage > 0 and count > 0:
|
if percentage > 0 and count > 0:
|
||||||
self.process = percentage / count
|
self.process = percentage / count
|
||||||
|
self.party_amount.save()
|
||||||
|
|
||||||
return super().save(*args, **kwargs)
|
return super().save(*args, **kwargs)
|
||||||
|
|
||||||
@@ -98,6 +99,8 @@ class PartyAmount(BaseModel):
|
|||||||
overdue_amount = models.DecimalField(max_digits=15, decimal_places=2, default=0.00)
|
overdue_amount = models.DecimalField(max_digits=15, decimal_places=2, default=0.00)
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
|
self.total_price = self.party.orders.aggregate(total_price=models.Sum('total_price'))['total_price'] or 0
|
||||||
|
self.calculated_amount = self.total_price
|
||||||
if self.calculated_amount < self.paid_amount:
|
if self.calculated_amount < self.paid_amount:
|
||||||
self.overdue_amount = self.paid_amount - self.calculated_amount
|
self.overdue_amount = self.paid_amount - self.calculated_amount
|
||||||
self.payment_amount = 0
|
self.payment_amount = 0
|
||||||
|
|||||||
Reference in New Issue
Block a user