Changeset - 49a4864b11c1
[Not reviewed]
beta
0 4 0
Marcin Kuzminski - 13 years ago 2012-08-26 01:04:43
marcin@python-works.com
Authors of pull-requests can now delete them
4 files changed with 31 insertions and 1 deletions:
0 comments (0 inline, 0 general)
rhodecode/config/routing.py
Show inline comments
 
@@ -462,6 +462,11 @@ def make_map(config):
 
                 controller='pullrequests',
 
                 action='update', conditions=dict(function=check_repo,
 
                                                method=["PUT"]))
 
    rmap.connect('pullrequest_delete',
 
                 '/{repo_name:.*?}/pull-request/{pull_request_id}',
 
                 controller='pullrequests',
 
                 action='delete', conditions=dict(function=check_repo,
 
                                                method=["DELETE"]))
 

	
 
    rmap.connect('pullrequest_show_all',
 
                 '/{repo_name:.*?}/pull-request',
rhodecode/controllers/pullrequests.py
Show inline comments
 
@@ -203,6 +203,20 @@ class PullrequestsController(BaseRepoCon
 
        Session.commit()
 
        return True
 

	
 
    @NotAnonymous()
 
    @jsonify
 
    def delete(self, repo_name, pull_request_id):
 
        pull_request = PullRequest.get_or_404(pull_request_id)
 
        #only owner can delete it !
 
        if pull_request.author.user_id == c.rhodecode_user.user_id:
 
            PullRequestModel().delete(pull_request)
 
            Session().commit()
 
            h.flash(_('Successfully deleted pull request'),
 
                    category='success')
 
            return redirect(url('admin_settings_my_account'))
 
        else:
 
            raise HTTPForbidden()
 

	
 
    def _load_compare_data(self, pull_request, enable_comments=True):
 
        """
 
        Load context data needed for generating compare diff
rhodecode/model/pull_request.py
Show inline comments
 
@@ -125,6 +125,10 @@ class PullRequestModel(BaseModel):
 
            if reviewer:
 
                self.sa.delete(reviewer)
 

	
 
    def delete(self, pull_request):
 
        pull_request = self.__get_pull_request(pull_request)
 
        Session().delete(pull_request)
 

	
 
    def close_pull_request(self, pull_request):
 
        pull_request = self.__get_pull_request(pull_request)
 
        pull_request.status = PullRequest.STATUS_CLOSED
rhodecode/templates/admin/users/user_edit_my_account_pullrequests.html
Show inline comments
 
@@ -4,9 +4,16 @@
 
    %if c.my_pull_requests:
 
      %for pull_request in c.my_pull_requests:
 
      <li>
 
      <div style="float:left">
 
      <a href="${h.url('pullrequest_show',repo_name=pull_request.other_repo.repo_name,pull_request_id=pull_request.pull_request_id)}">
 
      ${_('Pull request #%s opened on %s') % (pull_request.pull_request_id, h.fmt_date(pull_request.created_on))}
 
      </a>
 
      </div>
 
      <div style="float:left;margin-top: -5px">
 
        ${h.form(url('pullrequest_delete', repo_name=pull_request.other_repo.repo_name, pull_request_id=pull_request.pull_request_id),method='delete')}
 
          ${h.submit('remove_%s' % pull_request.pull_request_id,'',class_="delete_icon action_button",onclick="return confirm('"+_('Confirm to delete this pull request')+"');")}
 
        ${h.end_form()}
 
     </div>      
 
      </li>
 
      %endfor
 
   %else:
 
@@ -14,7 +21,7 @@
 
   %endif
 
</ul>
 

	
 
<div class="pullrequests_section_head">${_('I participate in')}</div>
 
<div class="pullrequests_section_head" style="clear:both">${_('I participate in')}</div>
 
<ul>
 
    %if c.my_pull_requests:
 
      %for pull_request in c.participate_in_pull_requests:
0 comments (0 inline, 0 general)