2888: Allow the creator of an issue to mark it as fixed or drop it
- Fixed
- Review Board
| niklas.h*********@gmai***** (Google Code) (Is this you? Claim this profile.) | |
| Aug. 5, 2013 | |
| 3162 |
What version are you running? 1.7.4 Often you create an issue and a few hours later realize that it is not actually an issue or already fixed in a newer version, so you would like to drop it or mark it as fixed. Currently, reviewboard cannot do this: Only the owner of the review request can fix/drop issues. Both review request owner and issue creator should be able to fix/drop.
I have code for this one.
Work dump:
- buttons in comment_issue.html, display:none by default
- displaying probably done in review.js, in open_state
- initiated by the js snippet in comment_issue.html
- calls $.fn.commentIssue in review.js
- whether or not fixed/drop buttons are shown is determined by self.interactive
- that is set by the js snippet in comment_issue.html
- called from comment_issue reviewtags.py:
if user and user.is_authenticated() and \
user == review_request.submitter:
- review_request is "class ReviewRequest" models.py
doesn't seem to be able to refer to comments
where is the class for the "comment" var?
- FileAttachmentComment inherting from BaseComment in models.py
- looks like we can get the creator of a comment only indirectly, via its review:
- c.review.get().user
- GUI change DONE
- now we have to allow the closing via the API (it currently gives 403 forbidden)
- URL is /api/review-requests/1/reviews/8/file-attachment-comments/8/ 403 (FORBIDDEN)
- call order (all reviewboard/webapi/resources.py):
ReviewRequestResource.has_modify_permissions
BaseCommentResource.update_issue_status
ReviewRequestResource.has_modify_permissions (why twice?)
- determined by ReviewRequest.is_mutable_by models.py
- but no this allows to modify the *whole* review request, not only the single comment
- probably have to put it into ReviewRequestResource.has_modify_permissions
- no, that is still for the whole request, so instead in BaseCommentResource.update_issue_status?
- API access DONE