Give each comment form a unique prefix.
[matthijs/projects/xerxes.git] / influences / views.py
index e1ec516a5ca30f024aae289ac8dd4c92dd54356e..a8b9a7df631612d5491498d616c5344b48f1cdb7 100644 (file)
@@ -109,7 +109,8 @@ def influence_detail(request, object_id):
     return render_to_response('influences/influence_detail.html', context, RequestContext(request))
 
 @login_required
-def influence_comment(request, edit_id=None, *args, **kwargs):
+def influence_comment(request, object_id, edit_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.
@@ -117,12 +118,16 @@ def influence_comment(request, edit_id=None, *args, **kwargs):
         reply_to = get_object_or_404(ThreadedComment, id=edit_id)
     else:
         reply_to = None
+
     # Find the right form class
     kwargs['form_class']   = get_influence_comment_form(request.user.is_staff, reply_to)
     # Override the model, so we don't get a free comment, but a normal
     # one. We can't use threadedcomments' comment view for that, since
     # that hardcodes the form_class.
     kwargs['model'] = ThreadedComment
-    return free_comment(request, edit_id=edit_id, *args, **kwargs)
+    # Set a custom preview view
+    if parent_id:
+        kwargs['prefix'] = "reply-to-%s" % (parent_id)
+    return free_comment(request, object_id=object_id, edit_id=edit_id, **kwargs)
 
 # vim: set sts=4 sw=4 expandtab: