Новый дизайн грамот для пользователей

remotes/origin/feature/ecommerce-gtag^2^2
gzbender 6 years ago
parent ff5b21523b
commit 5aa4d753af
  1. 24
      apps/content/views.py
  2. 2
      apps/school/views.py
  3. 4
      project/urls.py

@ -1,5 +1,8 @@
import os
from django.conf import settings
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from django.http import JsonResponse from django.http import JsonResponse, HttpResponse
from django.shortcuts import get_object_or_404 from django.shortcuts import get_object_or_404
from django.template import loader from django.template import loader
from django.utils.decorators import method_decorator from django.utils.decorators import method_decorator
@ -9,6 +12,7 @@ from django.views.generic import TemplateView, DetailView
from apps.content.models import Contest, ContestWork, FAQ from apps.content.models import Contest, ContestWork, FAQ
from apps.course.models import ContestWorkComment from apps.course.models import ContestWorkComment
from apps.user.models import Child
@method_decorator(login_required, name='dispatch') @method_decorator(login_required, name='dispatch')
@ -124,3 +128,21 @@ class FAQView(TemplateView):
} for f in FAQ.objects.all()] } for f in FAQ.objects.all()]
return self.render_to_response(context) return self.render_to_response(context)
from apps.notification.tasks import draw_cert
@csrf_exempt
def get_certificate(request, cert):
signed_path_pattern = 'signed-user-certificates/%d.jpg'
fn = signed_path_pattern % cert
path = os.path.join(settings.RESOURCES_ROOT, fn)
child_id = request.GET.get('child_id')
if child_id:
child = get_object_or_404(Child, pk=child_id)
path = draw_cert(path, child.user.email, child.first_name, child.last_name)
f = open(path, 'rb')
response = HttpResponse(f, content_type='image/jpeg')
response['Content-Disposition'] = 'attachment; filename=%s' % fn
f.close()
if child_id:
os.remove(path)
return response

@ -114,7 +114,7 @@ class LiveLessonsDetailView(DetailView):
user=request.user, user=request.user,
date_start__lte=now(), date_start__lte=now(),
date_end__gte=now() - timedelta(days=30), date_end__gte=now() - timedelta(days=30),
package__duration__lte=9, package__duration=12,
).exists() ).exists()
if not is_purchased and request.user.role not in [User.ADMIN_ROLE, User.TEACHER_ROLE]: if not is_purchased and request.user.role not in [User.ADMIN_ROLE, User.TEACHER_ROLE]:
raise Http404 raise Http404

@ -19,7 +19,8 @@ from django.views.generic import TemplateView
from django.urls import path, include from django.urls import path, include
from apps.auth.views import LandingRegistrationView from apps.auth.views import LandingRegistrationView
from apps.content.views import ContestEditView, ContestView, ContestWorkView, contest_work_comment, FAQView from apps.content.views import ContestEditView, ContestView, ContestWorkView, contest_work_comment, FAQView, \
get_certificate
from apps.course.views import ( from apps.course.views import (
CoursesView, likes, coursecomment, CoursesView, likes, coursecomment,
CourseView, LessonView, SearchView, CourseView, LessonView, SearchView,
@ -106,6 +107,7 @@ urlpatterns = [
path('links', LinksView.as_view(), name='links'), path('links', LinksView.as_view(), name='links'),
path('prices', PackagesView.as_view(), name='packages'), path('prices', PackagesView.as_view(), name='packages'),
path('landing-registration', LandingRegistrationView.as_view(), name='landing-registration'), path('landing-registration', LandingRegistrationView.as_view(), name='landing-registration'),
path('certificate/<int:cert>/get', get_certificate, name='get-certificate'),
] ]

Loading…
Cancel
Save