From b154ce7c48acfa25959fecbbe3c45d3164f23255 Mon Sep 17 00:00:00 2001 From: Ivlev Denis Date: Wed, 7 Mar 2018 15:05:20 +0300 Subject: [PATCH] Update day discound calc --- apps/payment/models.py | 13 +++++++++---- project/settings.py | 1 + 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/apps/payment/models.py b/apps/payment/models.py index e7bc6c3c..b6c220b9 100644 --- a/apps/payment/models.py +++ b/apps/payment/models.py @@ -144,7 +144,10 @@ class SchoolPayment(Payment): verbose_name_plural = 'Платежи за школу' def __str__(self): - days = ', '.join([dict(SchoolSchedule.WEEKDAY_CHOICES).get(weekday, '') for weekday in sorted(self.weekdays)]) + days = ', '.join([ + dict(SchoolSchedule.WEEKDAY_CHOICES).get(weekday, '') + for weekday in sorted(self.weekdays) + ]) return days def save(self, *args, **kwargs): @@ -152,9 +155,11 @@ class SchoolPayment(Payment): weekday__in=self.weekdays, ).aggregate( models.Sum('month_price'), - models.Sum('day_discount'), ) month_price_sum = aggregate.get('month_price__sum', 0) - day_discount_sum = aggregate.get('day_discount__sum', 0) if len(self.weekdays) == 7 else 0 - self.amount = month_price_sum - day_discount_sum + if month_price_sum >= config.SERVICE_DISCOUNT_MIN_AMOUNT: + discount = config.SERVICE_DISCOUNT + else: + discount = 0 + self.amount = month_price_sum - discount super().save(*args, **kwargs) diff --git a/project/settings.py b/project/settings.py index 4a711767..1df361e6 100644 --- a/project/settings.py +++ b/project/settings.py @@ -234,6 +234,7 @@ CONSTANCE_CONFIG = OrderedDict(( ('INSTAGRAM_RESULTS_TAG', ('#lil_акварель', 'Тэг результатов работ.')), ('INSTAGRAM_RESULTS_PATH', ('media/instagram/results/', 'Путь до результатов работ.')), ('SERVICE_COMMISSION', (10, 'Комиссия сервиса в процентах.')), + ('SERVICE_DISCOUNT_MIN_AMOUNT', (3500, 'Минимальная сумма платежа для школы, после которой вычитывается скидка SERVICE_DISCOUNT.')), ('SERVICE_DISCOUNT', (1000, 'Комиссия сервиса при покупке всех дней.')), ))