# 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
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))
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',
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
def get_poem(request, poem):
p = get_object_or_404(Poem, slug=poem)
p.visit()
- books = Book.objects.filter(id__in=p.get_created_from_value())
- book = books[0] if len(books) == 1 else None
+ if p.created_from:
+ 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',
{"poem": p, "books": books, "book": book},