Merge branch 'master' of http://github.com/fnp/wolnelektury
[wolnelektury.git] / apps / catalogue / views.py
index 60f984a..7cbba27 100644 (file)
@@ -206,14 +206,16 @@ def _tags_starting_with(prefix, user):
 def search(request):
     tags = request.GET.get('tags', '')
     prefix = request.GET.get('q', '')
 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 = []
     
     try:
         tag_list = models.Tag.get_tag_list(tags)
     except:
         tag_list = []
+
+    # Prefix must have at least 2 characters
+    if len(prefix) < 2:
+        return render_to_response('catalogue/search_no_hits.html', {'query':prefix, 'tags':tag_list},
+            context_instance=RequestContext(request))
     
     result = _tags_starting_with(prefix, request.user)
     if len(result) > 0:
     
     result = _tags_starting_with(prefix, request.user)
     if len(result) > 0:
@@ -258,7 +260,7 @@ def book_sets(request, slug):
     book_sets = book.tags.filter(category='set', user=request.user)
     
     if not request.user.is_authenticated():
     book_sets = book.tags.filter(category='set', user=request.user)
     
     if not request.user.is_authenticated():
-        return HttpResponse('<p>Aby zarządzać swoimi półkami, musisz się zalogować.</p>')
+        return HttpResponse(_('<p>To maintain your shelves you need to be logged in.</p>'))
     
     if request.method == 'POST':
         form = forms.ObjectSetsForm(book, request.user, request.POST)
     
     if request.method == 'POST':
         form = forms.ObjectSetsForm(book, request.user, request.POST)
@@ -276,7 +278,7 @@ def book_sets(request, slug):
             
             book.tags = new_shelves + list(book.tags.filter(~Q(category='set') | ~Q(user=request.user)))
             if request.is_ajax():
             
             book.tags = new_shelves + list(book.tags.filter(~Q(category='set') | ~Q(user=request.user)))
             if request.is_ajax():
-                return HttpResponse('<p>Półki zostały zapisane.</p>')
+                return HttpResponse(_('<p>Shelves were sucessfully saved.</p>'))
             else:
                 return HttpResponseRedirect('/')
     else:
             else:
                 return HttpResponseRedirect('/')
     else:
@@ -300,9 +302,9 @@ def remove_from_shelf(request, shelf, book):
         shelf.book_count -= 1
         shelf.save()
 
         shelf.book_count -= 1
         shelf.save()
 
-        return HttpResponse('Usunięto')
+        return HttpResponse(_('Book was successfully removed from the shelf'))
     else:
     else:
-        return HttpResponse('Książki nie ma na półce')
+        return HttpResponse(_('This book is not on the shelf'))
 
 
 def collect_books(books):
 
 
 def collect_books(books):
@@ -335,7 +337,7 @@ def download_shelf(request, slug):
         formats = ['pdf', 'odt', 'txt', 'mp3', 'ogg']
     
     # Create a ZIP archive
         formats = ['pdf', 'odt', 'txt', 'mp3', 'ogg']
     
     # Create a ZIP archive
-    temp = temp = tempfile.TemporaryFile()
+    temp = tempfile.TemporaryFile()
     archive = zipfile.ZipFile(temp, 'w')
     
     for book in collect_books(models.Book.tagged.with_all(shelf)):
     archive = zipfile.ZipFile(temp, 'w')
     
     for book in collect_books(models.Book.tagged.with_all(shelf)):
@@ -398,7 +400,7 @@ def new_set(request):
         new_set = new_set_form.save(request.user)
 
         if request.is_ajax():
         new_set = new_set_form.save(request.user)
 
         if request.is_ajax():
-            return HttpResponse(u'<p>Półka <strong>%s</strong> została utworzona</p>' % new_set)
+            return HttpResponse(_('<p>Shelf <strong>%s</strong> was successfully created</p>') % new_set)
         else:
             return HttpResponseRedirect('/')
 
         else:
             return HttpResponseRedirect('/')
 
@@ -413,7 +415,7 @@ def delete_shelf(request, slug):
     user_set.delete()
 
     if request.is_ajax():
     user_set.delete()
 
     if request.is_ajax():
-        return HttpResponse(u'<p>Półka <strong>%s</strong> została usunięta</p>' % user_set.name)
+        return HttpResponse(_('<p>Shelf <strong>%s</strong> was successfully removed</p>') % user_set.name)
     else:
         return HttpResponseRedirect('/')
 
     else:
         return HttpResponseRedirect('/')
 
@@ -472,10 +474,10 @@ def import_book(request):
             info = sys.exc_info()
             exception = pprint.pformat(info[1])
             tb = '\n'.join(traceback.format_tb(info[2]))
             info = sys.exc_info()
             exception = pprint.pformat(info[1])
             tb = '\n'.join(traceback.format_tb(info[2]))
-            return HttpResponse("An error occurred: %s\n\n%s" % (exception, tb), mimetype='text/plain')
-        return HttpResponse("Book imported successfully")
+            return HttpResponse(_("An error occurred: %s\n\n%s") % (exception, tb), mimetype='text/plain')
+        return HttpResponse(_("Book imported successfully"))
     else:
     else:
-        return HttpResponse("Error importing file: %r" % book_import_form.errors)
+        return HttpResponse(_("Error importing file: %r") % book_import_form.errors)
 
 
 
 
 
 
@@ -484,4 +486,4 @@ def clock(request):
     in a format suitable for Date.parse()
     """
     from datetime import datetime
     in a format suitable for Date.parse()
     """
     from datetime import datetime
-    return HttpResponse(datetime.now().strftime('%Y/%m/%d %H:%M:%S'))
+    return HttpResponse(datetime.now().strftime('%Y/%m/%d %H:%M:%S'))
\ No newline at end of file