pull-request: lock button when updating reviewers to forbid multi-submit.

- fixed some small UI issues found.
This commit is contained in:
Marcin Kuzminski 2017-03-27 15:32:27 +02:00
parent 91c104ae49
commit 4c2e5ee660
4 changed files with 16 additions and 17 deletions

View file

@ -886,20 +886,22 @@ class PullRequestModel(BaseModel):
reviewer = PullRequestReviewers(_usr, pull_request, reasons)
Session().add(reviewer)
self.notify_reviewers(pull_request, ids_to_add)
for uid in ids_to_remove:
changed = True
reviewer = PullRequestReviewers.query()\
reviewers = PullRequestReviewers.query()\
.filter(PullRequestReviewers.user_id == uid,
PullRequestReviewers.pull_request == pull_request)\
.scalar()
if reviewer:
Session().delete(reviewer)
.all()
# use .all() in case we accidentally added the same person twice
# this CAN happen due to the lack of DB checks
for obj in reviewers:
Session().delete(obj)
if changed:
pull_request.updated_on = datetime.datetime.now()
Session().add(pull_request)
self.notify_reviewers(pull_request, ids_to_add)
return ids_to_add, ids_to_remove
def get_url(self, pull_request):

View file

@ -1329,13 +1329,6 @@ table.integrations {
.reviewer {
float: left;
}
&.to-delete {
.user,
.reviewer {
text-decoration: line-through;
}
}
}
.reviewer_member_remove {

View file

@ -28,11 +28,12 @@ var removeReviewMember = function(reviewer_id, mark_delete){
if(mark_delete === true){
if (reviewer){
// mark as to-remove
var obj = $('#reviewer_{0}_name'.format(reviewer_id));
obj.addClass('to-delete');
// now delete the input
$('#reviewer_{0} input'.format(reviewer_id)).remove();
// mark as to-delete
var obj = $('#reviewer_{0}_name'.format(reviewer_id));
obj.addClass('to-delete');
obj.css({"text-decoration":"line-through", "opacity": 0.5});
}
}
else{

View file

@ -362,7 +362,7 @@
<div id="reviewers_container"></div>
</div>
<div>
<span id="update_pull_request" class="btn btn-small">${_('Save Changes')}</span>
<button id="update_pull_request" class="btn btn-small">${_('Save Changes')}</button>
</div>
%endif
</div>
@ -766,6 +766,9 @@
});
$('#update_pull_request').on('click', function(e){
$(this).attr('disabled', 'disabled');
$(this).addClass('disabled');
$(this).html(_gettext('saving...'));
updateReviewers(undefined, "${c.repo_name}", "${c.pull_request.pull_request_id}");
});