diff --git a/apps/school/templates/summer/schedule_purchased.html b/apps/school/templates/summer/schedule_purchased.html
index 78faff49..4bd18774 100644
--- a/apps/school/templates/summer/schedule_purchased.html
+++ b/apps/school/templates/summer/schedule_purchased.html
@@ -25,12 +25,15 @@
{% else %}
Новые уроки
{% endif %}
+
+ {% comment %}
+ {% endcomment %}
{% endif %}
diff --git a/apps/school/views.py b/apps/school/views.py
index 982a2430..ec7f9233 100644
--- a/apps/school/views.py
+++ b/apps/school/views.py
@@ -6,7 +6,7 @@ from django.contrib.auth.decorators import login_required, user_passes_test
from django.db.utils import IntegrityError
from django.db.models import Min, F, Func, Q, Value
from django.http import Http404
-from django.shortcuts import get_object_or_404
+from django.shortcuts import get_object_or_404, redirect
from django.utils.decorators import method_decorator
from django.utils.timezone import now
from django.views.generic import ListView, UpdateView, TemplateView, DetailView
@@ -170,6 +170,12 @@ class SchoolView(TemplateView):
class SummerSchoolView(TemplateView):
template_name = 'school/summer_school.html'
+ def get(self, request, *args, **kwargs):
+ context = self.get_context_data(**kwargs)
+ if not context.get('is_purchased'):
+ return redirect('/')
+ return self.render_to_response(context)
+
def get_context_data(self):
context = super().get_context_data()
is_previous = 'is_previous' in self.request.GET
diff --git a/project/context_processors.py b/project/context_processors.py
index 0e7e9d32..e4788dc4 100644
--- a/project/context_processors.py
+++ b/project/context_processors.py
@@ -1,5 +1,9 @@
+from django.utils.timezone import now
+from paymentwall.pingback import Pingback
+
from apps.config.models import Config
from apps.content.models import Baner
+from apps.payment.models import SchoolPayment
def config(request):
@@ -8,3 +12,20 @@ def config(request):
def baner(request):
return {'baner': Baner.objects.filter(use=True).first()}
+
+
+def is_summer_school_purchased(request):
+ if request.user.is_authenticated:
+ n = now().date()
+ school_payment = SchoolPayment.objects.filter(
+ user=request.user,
+ status__in=[
+ Pingback.PINGBACK_TYPE_REGULAR,
+ Pingback.PINGBACK_TYPE_GOODWILL,
+ Pingback.PINGBACK_TYPE_RISK_REVIEWED_ACCEPTED,
+ ],
+ date_start__lte=n,
+ date_end__gte=n
+ )
+ return {'is_summer_school_purchased': school_payment.exists()}
+ return {'is_summer_school_purchased': False}
diff --git a/project/settings.py b/project/settings.py
index 9323745c..1aecdb8c 100644
--- a/project/settings.py
+++ b/project/settings.py
@@ -93,6 +93,7 @@ TEMPLATES = [
'context_processors': [
'project.context_processors.config',
'project.context_processors.baner',
+ 'project.context_processors.is_summer_school_purchased',
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
diff --git a/project/templates/blocks/about.html b/project/templates/blocks/about.html
index 8deec906..5fefa4ca 100644
--- a/project/templates/blocks/about.html
+++ b/project/templates/blocks/about.html
@@ -44,6 +44,7 @@
diff --git a/project/templates/blocks/header.html b/project/templates/blocks/header.html
index ae4107d1..5be001d8 100644
--- a/project/templates/blocks/header.html
+++ b/project/templates/blocks/header.html
@@ -25,13 +25,15 @@