X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/24a30f976686c4d183c1bd09cdae95c15a7b8dae..4d5bdb510dbf34e7d54c122e9fe884198731c561:/apps/lesmianator/views.py diff --git a/apps/lesmianator/views.py b/apps/lesmianator/views.py index 56acb5763..28cb32a87 100644 --- a/apps/lesmianator/views.py +++ b/apps/lesmianator/views.py @@ -1,5 +1,6 @@ # Create your views here. +from django.http import Http404 from django.shortcuts import render_to_response, get_object_or_404 from django.template import RequestContext from django.contrib.auth.decorators import login_required @@ -7,17 +8,15 @@ from django.views.decorators import cache from catalogue.utils import get_random_hash from catalogue.models import Book, Tag -from catalogue import forms from lesmianator.models import Poem, Continuations def main_page(request): last = Poem.objects.all().order_by('-created_at')[:10] - form = forms.SearchForm() shelves = Tag.objects.filter(user__username='lesmianator') return render_to_response('lesmianator/lesmianator.html', - {"last": last, "form": form, "shelves": shelves}, + {"last": last, "shelves": shelves}, context_instance=RequestContext(request)) @@ -34,8 +33,11 @@ def new_poem(request): @cache.never_cache -def poem_from_book(request, slug): - book = get_object_or_404(Book, slug=slug) +def poem_from_book(request, book): + kwargs = Book.split_urlid(book) + if kwargs is None: + raise Http404 + book = get_object_or_404(Book, **kwargs) user = request.user if request.user.is_authenticated() else None text = Poem.write(Continuations.get(book)) p = Poem(slug=get_random_hash(text), text=text, created_by=user)