Mercurial > kallithea
changeset 3103:91492a72b2dc beta
implements #677: Don't allow to close pull requests when they are under-review state
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Fri, 14 Dec 2012 02:27:48 +0100 |
parents | 7251b3286077 |
children | c77d5c6358eb |
files | rhodecode/controllers/pullrequests.py rhodecode/public/css/style.css rhodecode/templates/changeset/changeset_file_comment.html |
diffstat | 3 files changed, 23 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/rhodecode/controllers/pullrequests.py Fri Dec 14 02:09:19 2012 +0100 +++ b/rhodecode/controllers/pullrequests.py Fri Dec 14 02:27:48 2012 +0100 @@ -433,10 +433,15 @@ c.rhodecode_db_repo, self.ip_addr, self.sa) if request.POST.get('save_close'): - PullRequestModel().close_pull_request(pull_request_id) - action_logger(self.rhodecode_user, - 'user_closed_pull_request:%s' % pull_request_id, - c.rhodecode_db_repo, self.ip_addr, self.sa) + if status in ['rejected', 'approved']: + PullRequestModel().close_pull_request(pull_request_id) + action_logger(self.rhodecode_user, + 'user_closed_pull_request:%s' % pull_request_id, + c.rhodecode_db_repo, self.ip_addr, self.sa) + else: + h.flash(_('Closing pull request on other statuses than ' + 'rejected or approved forbidden'), + category='warning') Session().commit()
--- a/rhodecode/public/css/style.css Fri Dec 14 02:09:19 2012 +0100 +++ b/rhodecode/public/css/style.css Fri Dec 14 02:27:48 2012 +0100 @@ -3619,6 +3619,10 @@ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); } +.ui-btn.blue.hidden{ + display: none; +} + .ui-btn.active{ font-weight: bold; }
--- a/rhodecode/templates/changeset/changeset_file_comment.html Fri Dec 14 02:09:19 2012 +0100 +++ b/rhodecode/templates/changeset/changeset_file_comment.html Fri Dec 14 02:27:48 2012 +0100 @@ -127,7 +127,7 @@ <div id="status_block_container" class="status-block" style="display:none"> %for status,lbl in c.changeset_statuses: <div class=""> - <img src="${h.url('/images/icons/flag_status_%s.png' % status)}" /> <input ${'checked="checked"' if status == cur_status else ''}" type="radio" name="changeset_status" id="${status}" value="${status}"> + <img src="${h.url('/images/icons/flag_status_%s.png' % status)}" /> <input ${'checked="checked"' if status == cur_status else ''}" type="radio" class="status_change_radio" name="changeset_status" id="${status}" value="${status}"> <label for="${status}">${lbl}</label> </div> %endfor @@ -138,7 +138,7 @@ <div class="comment-button"> ${h.submit('save', _('Comment'), class_="ui-btn large")} %if close_btn: - ${h.submit('save_close', _('Comment and close'), class_='ui-btn blue large')} + ${h.submit('save_close', _('Comment and close'), class_='ui-btn blue large %s' % 'hidden' if cur_status in ['not_reviewd','under_review'] else '')} %endif </div> ${h.end_form()} @@ -158,6 +158,14 @@ YUD.setStyle('status_block_container','display','none'); } }) + YUE.on(YUQ('.status_change_radio'), 'change',function(e){ + var val = e.currentTarget.value; + if (val == 'approved' || val == 'rejected') { + YUD.removeClass('save_close', 'hidden'); + }else{ + YUD.addClass('save_close', 'hidden'); + } + }) }); </script>