X-Git-Url: https://git.openstreetmap.org./osqa.git/blobdiff_plain/bc6579a5a090016d4f7ade2d2e47ebc2177b9c41..174c53e97bcf1e5412c141829d152aa5a2b8684c:/forum/views/decorators.py
diff --git a/forum/views/decorators.py b/forum/views/decorators.py
index 37413d2..db6dec4 100644
--- a/forum/views/decorators.py
+++ b/forum/views/decorators.py
@@ -14,8 +14,11 @@ def render(template=None, tab=None):
if tab is not None:
context['tab'] = tab
- return render_to_response(context.pop('template', template), context, context_instance=RequestContext(request))
+ return render_to_response(context.pop('template', template), context,
+ context_instance=RequestContext(request))
+
return decorated
+
return decorator
def list(paginate, default_page_size):
@@ -33,37 +36,44 @@ def list(paginate, default_page_size):
page_obj = paginator.page(page)
except EmptyPage:
raise Http404()
-
+
context[paginate] = page_obj.object_list.lazy()
base_path = context.get('base_path', None) or request.path
sort = request.utils.sort_method('')
context["pagination_context"] = {
- 'is_paginated' : True,
- 'pages': paginator.num_pages,
- 'page': page,
- 'has_previous': page_obj.has_previous(),
- 'has_next': page_obj.has_next(),
- 'previous': page_obj.previous_page_number(),
- 'next': page_obj.next_page_number(),
- 'base_url' : "%s%ssort=%s&" % (base_path, ('?' in base_path) and '&' or '?', sort),
- 'pagesize' : pagesize
+ 'is_paginated' : True,
+ 'pages': paginator.num_pages,
+ 'page': page,
+ 'has_previous': page_obj.has_previous(),
+ 'has_next': page_obj.has_next(),
+ 'previous': page_obj.previous_page_number(),
+ 'next': page_obj.next_page_number(),
+ 'base_url' : "%s%ssort=%s&" % (base_path, ('?' in base_path) and '&' or '?', sort),
+ 'pagesize' : pagesize
}
context['sort_context'] = {
- 'base_url': "%s%ssort=" % (base_path, ('?' in base_path) and '&' or '?'),
- 'current': sort,
+ 'base_url': "%s%ssort=" % (base_path, ('?' in base_path) and '&' or '?'),
+ 'current': sort,
}
return context
+
return decorated
+
return decorator
class CommandException(Exception):
pass
+class RefreshPageCommand(HttpResponse):
+ def __init__(self):
+ super(RefreshPageCommand, self).__init__(
+ content=simplejson.dumps({'commands': {'refresh_page': []}, 'success': True}),
+ mimetype="application/json")
def command(func):
def decorated(request, *args, **kwargs):
@@ -75,19 +85,20 @@ def command(func):
response['success'] = True
except Exception, e:
- #import sys, traceback
- #traceback.print_exc(file=sys.stdout)
+ import traceback
+ #traceback.print_exc()
if isinstance(e, CommandException):
response = {
- 'success': False,
- 'error_message': e.message
+ 'success': False,
+ 'error_message': e.message
}
else:
logging.error("%s: %s" % (func.__name__, str(e)))
+ logging.error(traceback.format_exc())
response = {
- 'success': False,
- 'error_message': _("We're sorry, but an unknown error ocurred.
Please try again in a while.")
+ 'success': False,
+ 'error_message': _("We're sorry, but an unknown error ocurred.
Please try again in a while.")
}
if request.is_ajax():