|
@@ -5,6 +5,8 @@ from django.http import HttpResponseNotFound, HttpResponseRedirect, JsonResponse
|
|
from django.shortcuts import render
|
|
from django.shortcuts import render
|
|
from django.contrib.auth import authenticate, login as auth_login, logout as auth_logout
|
|
from django.contrib.auth import authenticate, login as auth_login, logout as auth_logout
|
|
from django.views.decorators.csrf import csrf_exempt
|
|
from django.views.decorators.csrf import csrf_exempt
|
|
|
|
+from django.views.decorators.vary import vary_on_cookie
|
|
|
|
+from django.views.decorators.cache import cache_page
|
|
from django.utils.translation import gettext as _
|
|
from django.utils.translation import gettext as _
|
|
from django.contrib.auth.models import User
|
|
from django.contrib.auth.models import User
|
|
|
|
|
|
@@ -12,6 +14,7 @@ from .forms import CreateEventForm, LoginForm, UpdateSlotsForm
|
|
from .models import Event, Participant, Date
|
|
from .models import Event, Participant, Date
|
|
from .helpers import slots2string, string2slots, get_slot_count, slots2grid
|
|
from .helpers import slots2string, string2slots, get_slot_count, slots2grid
|
|
|
|
|
|
|
|
+@cache_page(60 * 15)
|
|
def index(request):
|
|
def index(request):
|
|
return render(request, 'zitap/index.html')
|
|
return render(request, 'zitap/index.html')
|
|
|
|
|
|
@@ -26,6 +29,7 @@ def my_events(request):
|
|
def about(request):
|
|
def about(request):
|
|
return render(request, 'zitap/about.html')
|
|
return render(request, 'zitap/about.html')
|
|
|
|
|
|
|
|
+@cache_page(60 * 15)
|
|
def create_event(request):
|
|
def create_event(request):
|
|
if request.method == 'POST':
|
|
if request.method == 'POST':
|
|
form = CreateEventForm(request.POST)
|
|
form = CreateEventForm(request.POST)
|
|
@@ -52,6 +56,8 @@ def create_event(request):
|
|
form = CreateEventForm()
|
|
form = CreateEventForm()
|
|
return render(request, 'zitap/create-event.html', {'form': form})
|
|
return render(request, 'zitap/create-event.html', {'form': form})
|
|
|
|
|
|
|
|
+@cache_page(60 * 15)
|
|
|
|
+@vary_on_cookie
|
|
def event(request, url):
|
|
def event(request, url):
|
|
try:
|
|
try:
|
|
event = Event.objects.prefetch_related('date_set', 'participant_set', 'participant_set__user').get(url=url)
|
|
event = Event.objects.prefetch_related('date_set', 'participant_set', 'participant_set__user').get(url=url)
|