Mercurial > kallithea
changeset 1674:6f0143e5efe5 beta
#71 code review
- added delete of comments by owner or admin
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sat, 12 Nov 2011 17:09:17 +0200 |
parents | 333b3e7c991f |
children | 7c487d2678c7 |
files | rhodecode/config/routing.py rhodecode/controllers/changeset.py rhodecode/public/css/style.css rhodecode/public/js/rhodecode.js rhodecode/templates/changeset/changeset.html rhodecode/templates/changeset/changeset_file_comment.html |
diffstat | 6 files changed, 40 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/rhodecode/config/routing.py Sat Nov 12 12:20:50 2011 +0200 +++ b/rhodecode/config/routing.py Sat Nov 12 17:09:17 2011 +0200 @@ -352,7 +352,7 @@ rmap.connect('changeset_comment_delete', '/{repo_name:.*}/changeset/comment/{comment_id}/delete', controller='changeset', action='delete_comment', - conditions=dict(function=check_repo)) + conditions = dict(function=check_repo, method=["DELETE"])) rmap.connect('raw_changeset_home', '/{repo_name:.*}/raw-changeset/{revision}',
--- a/rhodecode/controllers/changeset.py Sat Nov 12 12:20:50 2011 +0200 +++ b/rhodecode/controllers/changeset.py Sat Nov 12 17:09:17 2011 +0200 @@ -44,6 +44,7 @@ ChangesetDoesNotExistError from vcs.nodes import FileNode from vcs.utils import diffs as differ +from webob.exc import HTTPForbidden log = logging.getLogger(__name__) @@ -278,8 +279,13 @@ revision=revision)) @jsonify - @HasRepoPermissionAnyDecorator('hg.admin', 'repository.admin') def delete_comment(self, comment_id): - ccmodel = ChangesetCommentsModel() - ccmodel.delete(comment_id=comment_id) - return True + co = ChangesetComment.get(comment_id) + if (h.HasPermissionAny('hg.admin', 'repository.admin')() or + co.author.user_id == c.rhodecode_user.user_id): + ccmodel = ChangesetCommentsModel() + ccmodel.delete(comment_id=comment_id) + return True + else: + raise HTTPForbidden() +
--- a/rhodecode/public/css/style.css Sat Nov 12 12:20:50 2011 +0200 +++ b/rhodecode/public/css/style.css Sat Nov 12 17:09:17 2011 +0200 @@ -3263,9 +3263,8 @@ } .comments .comment .text { - margin-top: 7px; - padding: 6px; - padding-bottom: 13px; + padding: 8px 6px 6px 14px; + background-color: #FAFAFA; } .comments .comments-number{ @@ -3330,6 +3329,6 @@ } .comment .buttons { - float: right; - display: none; -} + position: absolute; + right:40px; +}
--- a/rhodecode/public/js/rhodecode.js Sat Nov 12 12:20:50 2011 +0200 +++ b/rhodecode/public/js/rhodecode.js Sat Nov 12 17:09:17 2011 +0200 @@ -286,5 +286,15 @@ } } +var ajaxPOST = function(url,postData,success) { + var sUrl = url; + var callback = { + success: success, + failure: function (o) { + alert("error"); + }, + }; + var postData = postData; + var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData); +}; -
--- a/rhodecode/templates/changeset/changeset.html Sat Nov 12 12:20:50 2011 +0200 +++ b/rhodecode/templates/changeset/changeset.html Sat Nov 12 17:09:17 2011 +0200 @@ -158,6 +158,17 @@ </div> %endif </div> - + <script type="text/javascript"> + var deleteComment = function(comment_id){ + + var url = "${url('changeset_comment_delete',repo_name=c.repo_name,comment_id='__COMMENT_ID__')}".replace('__COMMENT_ID__',comment_id); + var postData = '_method=delete'; + var success = function(o){ + var n = YUD.get('comment-'+comment_id); + n.parentNode.removeChild(n); + } + ajaxPOST(url,postData,success); + } + </script> </div> </%def>
--- a/rhodecode/templates/changeset/changeset_file_comment.html Sat Nov 12 12:20:50 2011 +0200 +++ b/rhodecode/templates/changeset/changeset_file_comment.html Sat Nov 12 17:09:17 2011 +0200 @@ -22,7 +22,7 @@ <div class="text"> %if h.HasPermissionAny('hg.admin', 'repository.admin')() or co.author.user_id == c.rhodecode_user.user_id: <div class="buttons"> - <a href="javascript:void(0);" onClick="deleteComment(${co.comment_id})" class="">${_('Delete')}</a> + <span onClick="deleteComment(${co.comment_id})" class="delete-comment ui-button-small">${_('Delete')}</span> </div> %endif ${h.rst(co.text)|n}