njpma/app/text/views.py

55 lines
1.7 KiB
Python
Raw Normal View History

2021-09-28 13:10:22 +00:00
from django.shortcuts import render, redirect, get_object_or_404
2021-10-29 07:32:18 +00:00
from django.conf import settings
2021-09-28 13:10:22 +00:00
from . import models
2021-10-29 07:32:18 +00:00
def fallback(request, slug=''):
if not slug:
return redirect('index')
2021-10-10 15:06:43 +00:00
context = {}
return render(request, 'fallback.html', context)
2021-09-28 13:10:22 +00:00
def index(request):
2021-10-27 11:37:40 +00:00
from ..video.models import Film
from ..text.models import Text
2021-09-28 13:10:22 +00:00
context = {}
2021-10-27 11:37:40 +00:00
context['films'] = Film.objects.filter(public=True).count()
context['texts'] = Text.objects.filter(public=True).count()
2021-09-28 13:10:22 +00:00
return render(request, 'index.html', context)
2021-10-25 06:52:03 +00:00
#def index_alt(request):
#context = {}
#return render(request, 'index-alt.html', context)
2021-10-23 12:23:09 +00:00
2021-10-11 12:26:51 +00:00
def page(request, slug=''):
2021-09-28 13:10:22 +00:00
context = {}
2021-10-11 12:55:45 +00:00
if request.user.is_staff:
page = models.Page.objects.filter(slug=slug).first()
else:
page = models.Page.objects.filter(slug=slug, public=True).first()
2021-10-11 12:26:51 +00:00
if page:
context['page'] = page
return render(request, 'page.html', context)
else:
return render(request, 'fallback.html', context)
def about(request):
context = {}
return render(request, 'about.html', context)
2021-09-28 13:10:22 +00:00
2021-10-10 15:06:43 +00:00
def texts(request):
2021-09-28 13:10:22 +00:00
context = {}
all_texts = models.Text.objects.filter(public=True).order_by('position', 'created')
context['en_texts'] = all_texts.filter(language='en')
context['zh_texts'] = all_texts.filter(language='zh')
2021-10-10 15:06:43 +00:00
return render(request, 'texts.html', context)
2021-09-28 13:10:22 +00:00
2021-10-10 15:06:43 +00:00
def text(request, slug):
2021-09-28 13:10:22 +00:00
context = {}
2021-10-11 12:55:45 +00:00
if request.user.is_staff:
context['text'] = get_object_or_404(models.Text, slug=slug)
else:
context['text'] = get_object_or_404(models.Text, slug=slug, public=True)
2021-10-10 15:06:43 +00:00
return render(request, 'text.html', context)