diff options
-rw-r--r-- | app/assets/javascripts/create_merge_request_dropdown.js | 6 | ||||
-rw-r--r-- | app/controllers/projects/issues_controller.rb | 2 | ||||
-rw-r--r-- | app/views/projects/issues/_new_branch.html.haml | 2 |
3 files changed, 8 insertions, 2 deletions
diff --git a/app/assets/javascripts/create_merge_request_dropdown.js b/app/assets/javascripts/create_merge_request_dropdown.js index ada693828c2..ff2f2c81971 100644 --- a/app/assets/javascripts/create_merge_request_dropdown.js +++ b/app/assets/javascripts/create_merge_request_dropdown.js @@ -62,6 +62,10 @@ export default class CreateMergeRequestDropdown { this.dropdownToggle.setAttribute('disabled', 'disabled'); } + hide() { + this.wrapperEl.classList.add('hide'); + } + setUnavailableButtonState(isLoading = true) { if (isLoading) { this.unavailableButtonArrow.classList.add('fa-spinner', 'fa-spin'); @@ -93,6 +97,8 @@ export default class CreateMergeRequestDropdown { this.initDroplab(); this.bindEvents(); } + } else if (data.has_related_branch) { + this.hide(); } }).fail(() => { this.unavailable(); diff --git a/app/controllers/projects/issues_controller.rb b/app/controllers/projects/issues_controller.rb index 8c894cba5bc..af9157bfbb5 100644 --- a/app/controllers/projects/issues_controller.rb +++ b/app/controllers/projects/issues_controller.rb @@ -194,7 +194,7 @@ class Projects::IssuesController < Projects::ApplicationController respond_to do |format| format.json do - render json: { can_create_branch: can_create } + render json: { can_create_branch: can_create, has_related_branch: @issue.has_related_branch? } end end end diff --git a/app/views/projects/issues/_new_branch.html.haml b/app/views/projects/issues/_new_branch.html.haml index 13a52119653..6bc6bf76e18 100644 --- a/app/views/projects/issues/_new_branch.html.haml +++ b/app/views/projects/issues/_new_branch.html.haml @@ -1,4 +1,4 @@ -- if can?(current_user, :push_code, @project) and !@issue.has_related_branch? +- if can?(current_user, :push_code, @project) .create-mr-dropdown-wrap{ data: { can_create_path: can_create_branch_namespace_project_issue_path(@project.namespace, @project, @issue), create_mr_path: create_merge_request_namespace_project_issue_path(@project.namespace, @project, @issue), create_branch_path: namespace_project_branches_path(@project.namespace, @project, branch_name: @issue.to_branch_name, issue_iid: @issue.iid) } } .btn-group.unavailable %button.btn.btn-grouped{ type: 'button', disabled: 'disabled' } |