diff --git a/rhodecode/controllers/changeset.py b/rhodecode/controllers/changeset.py --- a/rhodecode/controllers/changeset.py +++ b/rhodecode/controllers/changeset.py @@ -370,6 +370,10 @@ class ChangesetController(BaseRepoContro line_no=request.POST.get('line') ) Session.commit() + if not request.environ.get('HTTP_X_PARTIAL_XHR'): + return redirect(h.url('changeset_home', repo_name=repo_name, + revision=revision)) + data = { 'target_id': h.safeid(h.safe_unicode(request.POST.get('f_path'))), } @@ -378,6 +382,7 @@ class ChangesetController(BaseRepoContro data.update(comm.get_dict()) data.update({'rendered_text': render('changeset/changeset_comment_block.html')}) + return data @jsonify diff --git a/rhodecode/public/js/rhodecode.js b/rhodecode/public/js/rhodecode.js --- a/rhodecode/public/js/rhodecode.js +++ b/rhodecode/public/js/rhodecode.js @@ -196,6 +196,9 @@ function ypjax(url,container,s_call,f_ca }; var ajaxPOST = function(url,postData,success) { + // Set special header for ajax == HTTP_X_PARTIAL_XHR + YUC.initHeader('X-PARTIAL-XHR',true); + var toQueryString = function(o) { if(typeof o !== 'object') { return false; @@ -423,6 +426,10 @@ var injectInlineForm = function(tr){ return } + if(text == ""){ + return + } + var success = function(o){ YUD.removeClass(tr, 'form-open'); removeInlineForm(f); @@ -453,7 +460,7 @@ var deleteComment = function(comment_id) n.parentNode.removeChild(n); // scann nodes, and attach add button to last one - placeAddButton(root); + placeAddButton(root); } ajaxPOST(url,postData,success); } diff --git a/rhodecode/templates/changeset/changeset_file_comment.html b/rhodecode/templates/changeset/changeset_file_comment.html --- a/rhodecode/templates/changeset/changeset_file_comment.html +++ b/rhodecode/templates/changeset/changeset_file_comment.html @@ -87,7 +87,9 @@ %for co in c.comments: - ${comment_block(co)} +