-
Notifications
You must be signed in to change notification settings - Fork 61
Expand file tree
/
Copy pathviews.py
More file actions
38 lines (29 loc) · 1.35 KB
/
views.py
File metadata and controls
38 lines (29 loc) · 1.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from django.contrib.auth.decorators import login_required
from django.shortcuts import redirect, render
from django.urls import reverse
from pythonpro.cohorts import facade
from pythonpro.memberkit import facade as memberkit_facade
@login_required
def detail(request, slug):
return render(request, 'cohorts/cohort_detail.html', {'cohort': facade.find_cohort(slug=slug)})
@login_required
def webinars(request):
return render(request, 'cohorts/webinars.html', {'webinars': facade.find_recorded_webinars()})
@login_required
def webinar(request, slug):
user = request.user
if memberkit_facade.has_memberkit_account(user):
webinar = facade.find_webinar(slug=slug)
return redirect(webinar.memberkit_url, permanent=True)
if memberkit_facade.has_any_subscription(user):
return redirect(reverse('migrate_to_memberkit'), permanent=True)
return redirect(reverse('checkout:bootcamp_lp'), permanent=False)
@login_required
def live_class(request, pk):
user = request.user
if memberkit_facade.has_memberkit_account(user):
live_class = facade.find_live_class(pk=pk)
return redirect(live_class.memberkit_url, permanent=True)
if memberkit_facade.has_any_subscription(user):
return redirect(reverse('migrate_to_memberkit'), permanent=True)
return redirect(reverse('checkout:bootcamp_lp'), permanent=False)