X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/3ac9cb26acd9b7c5ba421dac123ba8f75b782bd2..201c6e84c472efdbb188246d68ac48a570ea9067:/apps/catalogue/views.py?ds=sidebyside diff --git a/apps/catalogue/views.py b/apps/catalogue/views.py index 6de5a268e..126b00940 100644 --- a/apps/catalogue/views.py +++ b/apps/catalogue/views.py @@ -206,14 +206,17 @@ def _tags_starting_with(prefix, user): def search(request): tags = request.GET.get('tags', '') prefix = request.GET.get('q', '') - # Prefix must have at least 2 characters - if len(prefix) < 2: - return HttpResponse('') try: tag_list = models.Tag.get_tag_list(tags) except: tag_list = [] + + # Prefix must have at least 2 characters + if len(prefix) < 2: + return HttpResponseRedirect(reverse('catalogue.views.search_no_hits', + kwargs={'tags': '/'.join(tag.slug for tag in tag_list)} + )) result = _tags_starting_with(prefix, request.user) if len(result) > 0: @@ -227,8 +230,19 @@ def search(request): kwargs={'tags': '/'.join(tag.slug for tag in tag_list)} )) else: - return render_to_response('catalogue/search_no_hits.html', {'query':prefix, 'tags':tag_list}, - context_instance=RequestContext(request)) + return HttpResponseRedirect(reverse('catalogue.views.search_no_hits', + kwargs={'tags': '/'.join(tag.slug for tag in tag_list)} + )) + + +def search_no_hits(request, tags): + try: + tag_list = models.Tag.get_tag_list(tags) + except: + tag_list = [] + + return render_to_response('catalogue/search_no_hits.html', {'tags':tag_list}, + context_instance=RequestContext(request)) def tags_starting_with(request): @@ -294,12 +308,15 @@ def remove_from_shelf(request, shelf, book): book = get_object_or_404(models.Book, slug=book) shelf = get_object_or_404(models.Tag, slug=shelf, category='set', user=request.user) - models.Tag.objects.remove_tag(book, shelf) - - shelf.book_count -= 1 - shelf.save() - - return HttpResponse('Usunieto') + if shelf in book.tags: + models.Tag.objects.remove_tag(book, shelf) + + shelf.book_count -= 1 + shelf.save() + + return HttpResponse('Usunięto') + else: + return HttpResponse('Książki nie ma na półce') def collect_books(books):