]> git.openstreetmap.org Git - osqa.git/blobdiff - forum/views/decorators.py
Adds ids to the tags listings on the sidebar.
[osqa.git] / forum / views / decorators.py
index 141887a3e0f7cfdc8a4402c04205ec1ca35ed276..37413d29e6872039ef10830ef3746b7b900b1ea9 100644 (file)
@@ -1,6 +1,6 @@
-from django.http import HttpResponse, HttpResponseRedirect\r
+from django.http import HttpResponse, HttpResponseRedirect, Http404\r
 from django.utils import simplejson\r
-from django.core.paginator import Paginator\r
+from django.core.paginator import Paginator, EmptyPage\r
 from django.shortcuts import render_to_response\r
 from django.template import RequestContext\r
 from django.utils.translation import ungettext, ugettext as _\r
@@ -29,7 +29,11 @@ def list(paginate, default_page_size):
             big_list = context[paginate]\r
             paginator = Paginator(big_list, pagesize)\r
 \r
-            page_obj = paginator.page(page)\r
+            try:\r
+                page_obj = paginator.page(page)\r
+            except EmptyPage:\r
+                raise Http404()\r
+                \r
             context[paginate] = page_obj.object_list.lazy()\r
 \r
             base_path = context.get('base_path', None) or request.path\r
@@ -77,7 +81,7 @@ def command(func):
             if isinstance(e, CommandException):\r
                 response = {\r
                     'success': False,\r
-                    'error_message': str(e)\r
+                    'error_message': e.message\r
                 }\r
             else:\r
                 logging.error("%s: %s" % (func.__name__, str(e)))\r