summaryrefslogtreecommitdiff
path: root/app/views/shared/_label.html.haml
blob: 8302918ebc9c2d93f7b6cb8e0c2336d648082d32 (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
- label_css_id = dom_id(label)
- status = label_subscription_status(label, @project).inquiry if current_user
- subject = local_assigns[:subject]
- toggle_subscription_path = toggle_subscription_label_path(label, @project) if current_user
- show_label_merge_requests_link = show_label_issuables_link?(label, :merge_requests, project: @project)
- show_label_issues_link = show_label_issuables_link?(label, :issues, project: @project)

%li.label-list-item{ class: label.priorities.present? ? '' : 'no-hand', id: label_css_id, data: { id: label.id } }
  = render "shared/label_row", label: label
  %ul.label-actions-list
    %li.inline
      .label-badge.label-badge-gray= label.model_name.human.titleize
    - if can?(current_user, :admin_label, @project)
      %li.inline.js-toggle-priority.toggle-priority{ data: { url: remove_priority_project_label_path(@project, label),
        dom_id: dom_id(label), type: label.type } }
        %button.add-priority.btn.has-tooltip{ title: 'Prioritize', type: 'button', :'data-placement' => 'top' }
          = icon('star-o')
        %button.remove-priority.btn.has-tooltip{ title: 'Remove priority', type: 'button', :'data-placement' => 'top' }
          = icon('star')
      %li.inline
        = link_to edit_label_path(label) do
          = icon('pencil')
    %li.inline
      .dropdown
        %button{ type: 'button', class: 'btn btn-transparent js-label-options-dropdown', data: { toggle: "dropdown" } }
          = custom_icon('ellipsis_v')
        .dropdown-menu.dropdown-menu-align-right
          %ul
            - if label.is_a?(ProjectLabel) && label.project.group && can?(current_user, :admin_label, label.project.group)
              %li
                %button.js-promote-project-label-button.btn.btn-transparent.btn-action.has-tooltip{ title: _('Promote to Group Label'),
                  disabled: true,
                  type: 'button',
                  data: { url: promote_project_label_path(label.project, label),
                          label_title: label.title,
                          label_color: label.color,
                          label_text_color: label.text_color,
                          group_name: label.project.group.name,
                          target: '#promote-label-modal',
                          container: 'body',
                          toggle: 'modal' } }
                  = sprite_icon('level-up')
              %li
                = link_to 'Delete', destroy_label_path(label), title: 'Delete', method: :delete, data: { confirm: 'Remove this label? Are you sure?' }, class: 'text-danger'
    - if current_user
      %li.inline.label-subscription
        - if can_subscribe_to_label_in_different_levels?(label)
          %button.js-unsubscribe-button.label-subscribe-button.btn.btn-default{ class: ('hidden' if status.unsubscribed?), data: { url: toggle_subscription_path } }
            %span Unsubscribe
          %button.js-subscribe-button.label-subscribe-button.btn.btn-default{ class: ('hidden' unless status.unsubscribed?), data: { url: toggle_subscription_project_label_path(@project, label) } }
            %span Subscribe at project level
          %button.js-subscribe-button.label-subscribe-button.btn.btn-default{ class: ('hidden' unless status.unsubscribed?), data: { url: toggle_subscription_group_label_path(label.group, label) } }
            %span Subscribe at group level
        - else
          %button.js-subscribe-button.label-subscribe-button.btn.btn-default{ data: { status: status, url: toggle_subscription_path } }
            %span= label_subscription_toggle_button_text(label, @project)

= render 'shared/delete_label_modal', label: label