summaryrefslogtreecommitdiff
path: root/app/views/projects/issues/_new_branch.html.haml
blob: f6ed6c2675211a64834b93b905c30a812f8f1752 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
- if can?(current_user, :push_code, @project)
  - can_create_merge_request = can?(current_user, :create_merge_request_in, @project)
  - data_action = can_create_merge_request ? 'create-mr' : 'create-branch'
  - value = can_create_merge_request ? _('Create merge request') : _('Create branch')
  - value = can_create_confidential_merge_request? ? _('Create confidential merge request') : value
  - create_mr_text = can_create_confidential_merge_request? ? _('Create confidential merge request') : _('Create merge request')

  - can_create_path = can_create_branch_project_issue_path(@project, @issue)
  - create_mr_path = project_new_merge_request_path(@project, merge_request: { source_branch: @issue.to_branch_name, target_branch: @project.default_branch, issue_iid: @issue.iid })
  - create_branch_path = project_branches_path(@project, branch_name: @issue.to_branch_name, ref: @project.default_branch, issue_iid: @issue.iid, format: :json)
  - refs_path = refs_namespace_project_path(@project.namespace, @project, search: '')

  .create-mr-dropdown-wrap.d-inline-block.full-width-mobile.js-create-mr{ data: { project_path: @project.full_path, project_id: @project.id, can_create_path: can_create_path, create_mr_path: create_mr_path, create_branch_path: create_branch_path, refs_path: refs_path, is_confidential: can_create_confidential_merge_request?.to_s } }
    .btn-group.unavailable
      %button.gl-button.btn{ type: 'button', disabled: 'disabled' }
        .gl-spinner.align-text-bottom.gl-button-icon.hide
        %span.text
          Checking branch availability…

    .btn-group.available.hidden
      %button.gl-button.btn.js-create-merge-request.btn-confirm{ type: 'button', data: { action: data_action } }
        .gl-spinner.js-spinner.gl-mr-2.gl-display-none
        = value

      %button.gl-button.btn.btn-confirm.btn-icon.dropdown-toggle.create-merge-request-dropdown-toggle.js-dropdown-toggle{ type: 'button', data: { dropdown: { trigger: '#create-merge-request-dropdown' }, display: 'static' } }
        = sprite_icon('chevron-down')

      .droplab-dropdown
        %ul#create-merge-request-dropdown.create-merge-request-dropdown-menu.dropdown-menu.dropdown-menu-right.gl-show-field-errors{ class: ("create-confidential-merge-request-dropdown-menu" if can_create_confidential_merge_request?), data: { dropdown: true } }
          - if can_create_merge_request
            %li.droplab-item-selected{ role: 'button', data: { value: 'create-mr', text: create_mr_text } }
              .menu-item.text-nowrap
                = sprite_icon('check', css_class: 'icon')
                - if can_create_confidential_merge_request?
                  = _('Create confidential merge request and branch')
                - else
                  = _('Create merge request and branch')

          %li{ class: [!can_create_merge_request && 'droplab-item-selected'], role: 'button', data: { value: 'create-branch', text: _('Create branch') } }
            .menu-item
              = sprite_icon('check', css_class: 'icon')
              = _('Create branch')
          %li.divider.droplab-item-ignore

          %li.droplab-item-ignore.gl-ml-3.gl-mr-3.gl-mt-5
            - if can_create_confidential_merge_request?
              #js-forked-project{ data: { namespace_path: @project.namespace.full_path, project_path: @project.full_path, new_fork_path: new_project_fork_path(@project), help_page_path: help_page_path('user/project/merge_requests/index.md') } }
            .form-group
              %label{ for: 'new-branch-name' }
                = _('Branch name')
              %input#new-branch-name.js-branch-name.form-control.gl-form-input{ type: 'text', placeholder: "#{@issue.to_branch_name}", value: "#{@issue.to_branch_name}" }
              %span.js-branch-message.form-text

            .form-group
              %label{ for: 'source-name' }
                = _('Source (branch or tag)')
              %input#source-name.js-ref.ref.form-control.gl-form-input{ type: 'text', placeholder: "#{@project.default_branch}", value: "#{@project.default_branch}", data: { value: "#{@project.default_branch}" } }
              %span.js-ref-message.form-text.text-muted

            .form-group
              %button.btn.gl-button.btn-confirm.js-create-target{ type: 'button', data: { action: 'create-mr' } }
                = create_mr_text

            - if can_create_confidential_merge_request?
              %p.text-warning.js-exposed-info-warning.hidden
                = _('This may expose confidential information as the selected fork is in another namespace that can have other members.')