2888: Allow the creator of an issue to mark it as fixed or drop it

niklas.h*********@gmai***** (Google Code) (Is this you? Claim this profile.)
Aug. 5, 2013
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.
#1 niklas.h*********@gmai***** (Google Code) (Is this you? Claim this profile.)
I have code for this one.
#2 niklas.h*********@gmai***** (Google Code) (Is this you? Claim this profile.)
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 (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
#3 david
  • +Component-Reviews
#4 david
Fixed in master (d0ff70d).
  • +Fixed