|
|
|
|
@ -100,8 +100,6 @@ class SchoolBuyView(TemplateView): |
|
|
|
|
weekdays = set(request.GET.getlist('weekdays', [])) |
|
|
|
|
add_days = 'add_days' in request.GET |
|
|
|
|
roistat_visit = request.COOKIES.get('roistat_visit', None) |
|
|
|
|
date_start = now().date() |
|
|
|
|
september2018 = datetime.date(2018, 9, 1) |
|
|
|
|
if not weekdays: |
|
|
|
|
messages.error(request, 'Выберите несколько дней недели.') |
|
|
|
|
return redirect('school:summer-school') |
|
|
|
|
@ -110,8 +108,6 @@ class SchoolBuyView(TemplateView): |
|
|
|
|
except ValueError: |
|
|
|
|
messages.error(request, 'Ошибка выбора дней недели.') |
|
|
|
|
return redirect('school:summer-school') |
|
|
|
|
if date_start < september2018: |
|
|
|
|
date_start = september2018 |
|
|
|
|
if add_days: |
|
|
|
|
_school_payment = SchoolPayment.objects.get( |
|
|
|
|
user=request.user, |
|
|
|
|
@ -135,8 +131,6 @@ class SchoolBuyView(TemplateView): |
|
|
|
|
user=request.user, |
|
|
|
|
weekdays=weekdays, |
|
|
|
|
roistat_visit=roistat_visit, |
|
|
|
|
date_start=date_start, |
|
|
|
|
date_end=date_start + timedelta(days=30) |
|
|
|
|
) |
|
|
|
|
product = Product( |
|
|
|
|
f'school_{school_payment.id}', |
|
|
|
|
@ -181,6 +175,7 @@ class PaymentwallCallbackView(View): |
|
|
|
|
def get(self, request, *args, **kwargs): |
|
|
|
|
payment_raw_data = request.GET.copy() |
|
|
|
|
pingback = Pingback(payment_raw_data, self.get_request_ip()) |
|
|
|
|
september2018 = datetime.date(2018, 9, 1) |
|
|
|
|
|
|
|
|
|
if pingback.validate(): |
|
|
|
|
product_type_name, payment_id = pingback.get_product().get_id().split('_') |
|
|
|
|
@ -229,16 +224,15 @@ class PaymentwallCallbackView(View): |
|
|
|
|
).last() |
|
|
|
|
if school_payment: |
|
|
|
|
if payment.add_days: |
|
|
|
|
date_start = self.add_months(sourcedate=now().replace(hour=0, minute=0, day=1), months=1) |
|
|
|
|
date_start = now().date() |
|
|
|
|
date_end = school_payment.date_end |
|
|
|
|
else: |
|
|
|
|
date_start = arrow.get(school_payment.date_end, settings.TIME_ZONE).shift(days=1).datetime |
|
|
|
|
date_end = arrow.get(date_start, settings.TIME_ZONE).shift(months=1).datetime |
|
|
|
|
else: |
|
|
|
|
#month = 0 if now().day >= 1 and now().day <= 10 else 1 |
|
|
|
|
# Логика июльского лагеря: до конца июля приобретаем только на текущий месяц |
|
|
|
|
month = 0 |
|
|
|
|
date_start = self.add_months(sourcedate=now().replace(hour=0, minute=0, day=1), months=month) |
|
|
|
|
date_start = now().date() |
|
|
|
|
if date_start < september2018: |
|
|
|
|
date_start = september2018 |
|
|
|
|
date_end = arrow.get(date_start, settings.TIME_ZONE).shift(months=1, minutes=-1).datetime |
|
|
|
|
payment.date_start = date_start |
|
|
|
|
payment.date_end = date_end |
|
|
|
|
|