diff --git a/pagure/templates/repo_pull_request.html b/pagure/templates/repo_pull_request.html index f7007e8..38c1b0d 100644 --- a/pagure/templates/repo_pull_request.html +++ b/pagure/templates/repo_pull_request.html @@ -195,6 +195,9 @@ {% endif %} + {% else %} {% endif %} @@ -821,42 +824,51 @@ function showTab(){ function show_merge_status(){ function process_response(res) { $('#spinner').hide(); + $('#merge_dropdown_btn').removeClass("disabled"); + $('#merge_dropdown_btn span.fa').removeClass("fa-spin"); if (res.code == 'FFORWARD'){ $('#merge_dropdown_btn').toggleClass("btn-outline-secondary btn-success"); - $('#merge_dropdown_btn').removeClass("disabled"); $('#merge_dropdown_btn span.fa').toggleClass("fa-circle-o-notch fa-check"); - $('#merge_dropdown_btn span.fa').removeClass("fa-spin"); $('#merge_btn').addClass("btn-success"); $('#merge-alert .alert').addClass("alert-success"); - $('#merge-alert-message').append(res.message); + $('#merge-alert-message').text(res.message); + $('#merge-alert #rebase_btn').hide(); + $('#merge-alert div.small').show(); + $('#merge_btn').show(); } else if (res.code == 'MERGE') { $('#merge_dropdown_btn').toggleClass("btn-outline-secondary btn-warning"); - $('#merge_dropdown_btn').removeClass("disabled"); $('#merge_dropdown_btn span.fa').toggleClass("fa-circle-o-notch fa-check"); - $('#merge_dropdown_btn span.fa').removeClass("fa-spin"); $('#merge_btn').addClass("btn-warning"); $('#merge-alert .alert').addClass("alert-warning"); - $('#merge-alert-message').append(res.message); + $('#merge-alert-message').text(res.message); + $('#merge-alert div.small').show(); + $('#merge_btn').show(); + } + else if (res.code == 'NEEDSREBASE') { + $('#merge_dropdown_btn').toggleClass("btn-outline-secondary btn-warning"); + $('#merge_dropdown_btn span.fa').toggleClass("fa-circle-o-notch fa-times"); + $('#merge_btn').hide(); + $('#merge-alert .alert').addClass("alert-warning"); + $('#merge-alert-message').text(res.message); + $('#merge-alert div.small').hide(); } else if (res.code == 'CONFLICTS') { $('#merge_dropdown_btn').toggleClass("btn-outline-secondary btn-danger"); - $('#merge_dropdown_btn').removeClass("disabled"); $('#merge_dropdown_btn span.fa').toggleClass("fa-circle-o-notch fa-times"); - $('#merge_dropdown_btn span.fa').removeClass("fa-spin"); $('#merge_btn').hide(); $('#merge-alert .alert').addClass("alert-danger"); - $('#merge-alert-message').append(res.message); + $('#merge-alert-message').text(res.message); $('#merge-alert div.small').hide(); + $('#merge-alert #rebase_btn').hide(); } else if (res.code == 'NO_CHANGE') { $('#merge_btn').hide(); - $('#merge_dropdown_btn').removeClass("disabled"); $('#merge_dropdown_btn span.fa').toggleClass("fa-circle-o-notch fa-times"); - $('#merge_dropdown_btn span.fa').removeClass("fa-spin"); $('#merge-alert .alert').addClass("alert-secondary"); - $('#merge-alert-message').append(res.message); + $('#merge-alert-message').text(res.message); $('#merge-alert div.small').hide(); + $('#merge-alert #rebase_btn').hide(); } }; $('#spinner').show(); @@ -887,6 +899,46 @@ function show_merge_status(){ $(document).ready(function() { + $('#rebase_btn').click(function(){ + $('#merge_dropdown_btn span.fa').removeClass( + "fa-circle-o-notch fa-times fa-check").addClass( + "fa-circle-o-notch fa-fw"); + $('#merge_btn').removeClass("btn-success btn-warning btn-danger"); + $('#merge-alert .alert').removeClass("alert-success alert-warning alert-danger"); + $('#merge_dropdown_btn').addClass("disabled"); + $('#merge_dropdown_btn').removeClass( + "btn-outline-secondary btn-danger btn-warning btn-success").addClass( + "btn btn-outline-secondary btn-sm disabled dropdown-toggle"); + $('#merge_dropdown_btn span.fa').addClass("fa-spin"); + $.ajax({ + url: '{{ url_for('api_ns.api_pull_request_rebase', + repo=repo.name, + username=username, + namespace=repo.namespace, + requestid=requestid) + }}' , + type: 'POST', + data: { + csrf_token: "{{ mergeform.csrf_token.current_token }}", + }, + dataType: 'json', + success: function(res) { + show_merge_status() + }, + error: function(res) { + $('#merge_dropdown_btn').removeClass("disabled"); + $('#merge_dropdown_btn span.fa').removeClass("fa-spin"); + $('#merge_dropdown_btn').toggleClass("btn-outline-secondary btn-danger"); + $('#merge_dropdown_btn span.fa').toggleClass("fa-circle-o-notch fa-times"); + $('#merge_btn').hide(); + $('#merge-alert #rebase_btn').hide(); + $('#merge-alert .alert').addClass("alert-danger"); + $('#merge-alert-message').text('Failed to rebase this PR'); + $('#merge-alert div.small').hide(); + } + }); + }); + $( ".commit_msg_txt" ).hide(); $( ".commit_msg_btn" ).click(function() { var msgid = $( this ).attr('data-id');