X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/4cf27ad4ae5ac3610e857379b2a788582580aa5b..e194da857835c3bd9dcbdc9faf39189b6ec514d3:/apps/catalogue/views.py diff --git a/apps/catalogue/views.py b/apps/catalogue/views.py index 14147c886..fad77751e 100644 --- a/apps/catalogue/views.py +++ b/apps/catalogue/views.py @@ -4,32 +4,26 @@ # import re import itertools -from datetime import datetime from django.conf import settings from django.template import RequestContext from django.shortcuts import render_to_response, get_object_or_404 from django.http import HttpResponse, HttpResponseRedirect, Http404, HttpResponsePermanentRedirect from django.core.urlresolvers import reverse -from django.db.models import Count, Sum, Q +from django.db.models import Q from django.contrib.auth.decorators import login_required, user_passes_test from django.utils.datastructures import SortedDict -from django.views.decorators.http import require_POST -from django.contrib import auth -from django.contrib.auth.forms import UserCreationForm, AuthenticationForm from django.utils.http import urlquote_plus -from django.views.decorators import cache from django.utils import translation from django.utils.translation import ugettext as _ -from django.views.generic.list_detail import object_list +from django.views.decorators.cache import never_cache -from ajaxable.utils import LazyEncoder, JSONResponse, AjaxableFormView +from ajaxable.utils import JSONResponse, AjaxableFormView from catalogue import models from catalogue import forms from catalogue.utils import (split_tags, AttachmentHttpResponse, async_build_pdf, MultiQuerySet) -from catalogue.tasks import touch_tag from pdcounter import models as pdcounter_models from pdcounter import views as pdcounter_views from suggest.forms import PublishingSuggestForm @@ -102,6 +96,7 @@ def differentiate_tags(request, tags, ambiguous_slugs): context_instance=RequestContext(request)) +@never_cache def tagged_object_list(request, tags=''): try: tags = models.Tag.get_tag_list(tags) @@ -193,6 +188,7 @@ def tagged_object_list(request, tags=''): 'only_my_shelf': only_my_shelf, 'formats_form': forms.DownloadFormatsForm(), 'tags': tags, + 'theme_is_set': theme_is_set, }, context_instance=RequestContext(request)) @@ -208,6 +204,7 @@ def book_fragments(request, slug, theme_slug): context_instance=RequestContext(request)) +@never_cache def book_detail(request, slug): try: book = models.Book.objects.get(slug=slug) @@ -249,10 +246,11 @@ def player(request, slug): else: have_oggs = False audiobooks.append(media) - print audiobooks projects = sorted(projects) + extra_info = book.get_extra_info_value() + return render_to_response('catalogue/player.html', locals(), context_instance=RequestContext(request)) @@ -561,10 +559,15 @@ class CustomPDFFormView(AjaxableFormView): from copy import copy if request.method == 'POST': request.GET = copy(request.GET) - request.GET['next'] = "%s?%s" % (reverse('catalogue.views.download_custom_pdf', args=[request.GET['slug']]), + request.GET['next'] = "%s?%s" % (reverse('catalogue.views.download_custom_pdf', args=[request.GET.get('slug')]), request.POST.urlencode()) return super(CustomPDFFormView, self).__call__(request) + def get_object(self, request): + return get_object_or_404(models.Book, slug=request.GET.get('slug')) + + def context_description(self, request, obj): + return obj.pretty_title() def success(self, *args): pass