Allow staff to view anything on the front site.
[matthijs/projects/xerxes.git] / influences / views.py
index 1025efa2e8ea6a5cbb5dff4d12bf610c00a94a1f..7f7b2621f918a588e03e7e356853b0d45514ffb7 100644 (file)
@@ -79,7 +79,7 @@ def character_list(request):
 def character_detail(request, object_id):
     o = Character.objects.get(pk=object_id)
     # Don't show other player's characters
-    if (o.player != request.user):
+    if (not request.user.is_staff and o.player != request.user):
         return HttpResponseForbidden("Forbidden -- Trying to view somebody else's character")
     return render_to_response('influences/character_detail.html', {'object' : o}, RequestContext(request))
 
@@ -92,8 +92,6 @@ def influence_list(request):
 def influence_comment_preview(request, context_processors, extra_context, **kwargs):
     # Use a custom template
     kwargs['template'] = 'influences/influence_comment_preview.html'
-    # The base template to extend
-    extra_context['base'] = "influences/influence_detail.html"
     # The object to be show in the influence detail
     extra_context['object'] = get_object_or_404(Influence, pk=kwargs['object_id'])
     return _preview(request, context_processors, extra_context, **kwargs)
@@ -103,7 +101,7 @@ def influence_detail(request, object_id):
 
     o = Influence.objects.get(pk=object_id)
     # Don't show other player's influences
-    if (o.character.player != request.user):
+    if (not request.user.is_staff and o.character.player != request.user):
         return HttpResponseForbidden("Forbidden -- Trying to view influences of somebody else's character")
 
     # Show all comments to staff, but only public comments to other
@@ -118,13 +116,13 @@ def influence_detail(request, object_id):
     return render_to_response('influences/influence_detail.html', context, RequestContext(request))
 
 @login_required
-def influence_comment(request, object_id, edit_id=None):
+def influence_comment(request, object_id, parent_id=None):
     kwargs = {}
     # Add the content_type, since we don't put in in the url explicitly
     kwargs['content_type'] = ContentType.objects.get_for_model(Influence).id
     # Find the comment to which we're replying, so we can get the right form for it.
-    if edit_id:
-        reply_to = get_object_or_404(ThreadedComment, id=edit_id)
+    if parent_id:
+        reply_to = get_object_or_404(ThreadedComment, id=parent_id)
     else:
         reply_to = None
 
@@ -138,6 +136,6 @@ def influence_comment(request, object_id, edit_id=None):
     kwargs['preview'] = influence_comment_preview
     if parent_id:
         kwargs['prefix'] = "reply-to-%s" % (parent_id)
-    return free_comment(request, object_id=object_id, edit_id=edit_id, **kwargs)
+    return free_comment(request, object_id=object_id, parent_id=parent_id, **kwargs)
 
 # vim: set sts=4 sw=4 expandtab: