This commit is contained in:
aminhashemi92 2025-09-29 17:38:11 +03:30
parent 810c87e2e0
commit b5bf3a5dbe
51 changed files with 2397 additions and 326 deletions

View file

@ -106,7 +106,6 @@ class Quote(NameSlugModel):
def calculate_totals(self):
"""محاسبه مبالغ کل"""
total = sum(item.total_price for item in self.items.filter(is_deleted=False).all())
total = sum(item.total_price for item in self.items.filter(is_deleted=False).all())
self.total_amount = total
# محاسبه تخفیف
@ -115,7 +114,14 @@ class Quote(NameSlugModel):
else:
self.discount_amount = 0
self.final_amount = self.total_amount - self.discount_amount
# محاسبه مبلغ نهایی با احتساب مالیات
base_amount = self.total_amount - self.discount_amount
try:
vat_rate = Decimal(str(getattr(settings, 'VAT_RATE', 0)))
except Exception:
vat_rate = Decimal('0')
vat_amount = base_amount * vat_rate
self.final_amount = base_amount + vat_amount
self.save()
def get_status_display_with_color(self):
@ -263,7 +269,15 @@ class Invoice(NameSlugModel):
else:
self.discount_amount = 0
self.final_amount = self.total_amount - self.discount_amount
# محاسبه مبلغ نهایی با احتساب مالیات
base_amount = self.total_amount - self.discount_amount
try:
vat_rate = Decimal(str(getattr(settings, 'VAT_RATE', 0)))
except Exception:
vat_rate = Decimal('0')
vat_amount = base_amount * vat_rate
self.final_amount = base_amount + vat_amount
# خالص مانده به نفع شرکت (مثبت) یا به نفع مشتری (منفی)
net_due = self.final_amount - self.paid_amount
self.remaining_amount = net_due
@ -280,6 +294,7 @@ class Invoice(NameSlugModel):
self.save()
def get_status_display_with_color(self):
"""نمایش وضعیت با رنگ"""
status_colors = {