Update day discound calc

remotes/origin/hasaccess
Ivlev Denis 8 years ago
parent 8a51c1c21e
commit b154ce7c48
  1. 13
      apps/payment/models.py
  2. 1
      project/settings.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)

@ -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, 'Комиссия сервиса при покупке всех дней.')),
))

Loading…
Cancel
Save