X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/7e6d14043e3e2dce8e3fdcef0b0fc649680b07b3..82c3054bcdeb000aa9782da80d644070797b5cbe:/apps/lesmianator/views.py diff --git a/apps/lesmianator/views.py b/apps/lesmianator/views.py index cebcf8bae..1ef4397b3 100644 --- a/apps/lesmianator/views.py +++ b/apps/lesmianator/views.py @@ -1,24 +1,22 @@ -# Create your views here. - -from django.http import Http404 +# -*- coding: utf-8 -*- +# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later. +# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. +# from django.shortcuts import render_to_response, get_object_or_404 from django.template import RequestContext -from django.contrib.auth.decorators import login_required 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}, + return render_to_response('lesmianator/lesmianator.html', + {"last": last, "shelves": shelves}, context_instance=RequestContext(request)) @@ -29,24 +27,21 @@ def new_poem(request): p = Poem(slug=get_random_hash(text), text=text, created_by=user) p.save() - return render_to_response('lesmianator/poem.html', + return render_to_response('lesmianator/poem.html', {"poem": p}, context_instance=RequestContext(request)) @cache.never_cache -def poem_from_book(request, book): - kwargs = Book.split_urlid(book) - if kwargs is None: - raise Http404 - book = get_object_or_404(Book, **kwargs) +def poem_from_book(request, slug): + book = get_object_or_404(Book, slug=slug) 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) - p.set_created_from_value([book.id]) + p.created_from = [book.id] p.save() - return render_to_response('lesmianator/poem.html', + return render_to_response('lesmianator/poem.html', {"poem": p, "books": [book], "book": book}, context_instance=RequestContext(request)) @@ -58,12 +53,12 @@ def poem_from_set(request, shelf): text = Poem.write(Continuations.get(tag)) p = Poem(slug=get_random_hash(text), text=text, created_by=user) books = Book.tagged.with_any((tag,)) - p.set_created_from_value([b.id for b in books]) + p.created_from = [b.id for b in books] p.save() book = books[0] if len(books) == 1 else None - return render_to_response('lesmianator/poem.html', + return render_to_response('lesmianator/poem.html', {"poem": p, "shelf": tag, "books": books, "book": book}, context_instance=RequestContext(request)) @@ -71,12 +66,12 @@ def get_poem(request, poem): p = get_object_or_404(Poem, slug=poem) p.visit() if p.created_from: - books = Book.objects.filter(id__in=p.get_created_from_value()) + books = Book.objects.filter(id__in=p.created_from) book = books[0] if len(books) == 1 else None else: books = book = None - return render_to_response('lesmianator/poem.html', + return render_to_response('lesmianator/poem.html', {"poem": p, "books": books, "book": book}, context_instance=RequestContext(request))