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:
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):
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):