Add can_subscribe_to_label_in_different_levels helper method
This commit is contained in:
parent
fe37ca8759
commit
46e4c96616
|
@ -133,6 +133,10 @@ module LabelsHelper
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def can_subscribe_to_label_in_different_levels?(label)
|
||||||
|
defined?(@project) || label.is_a?(GroupLabel)
|
||||||
|
end
|
||||||
|
|
||||||
def label_subscription_status(label, project)
|
def label_subscription_status(label, project)
|
||||||
return 'group-level' if label.subscribed?(current_user)
|
return 'group-level' if label.subscribed?(current_user)
|
||||||
return 'project-level' if label.subscribed?(current_user, project)
|
return 'project-level' if label.subscribed?(current_user, project)
|
||||||
|
|
|
@ -20,16 +20,16 @@
|
||||||
view open issues
|
view open issues
|
||||||
- if current_user
|
- if current_user
|
||||||
%li.label-subscription
|
%li.label-subscription
|
||||||
- if defined?(@group) || label.is_a?(ProjectLabel)
|
- if can_subscribe_to_label_in_different_levels?(label)
|
||||||
%a.js-subscribe-button.label-subscribe-button{ role: 'button', href: '#', data: { status: status, url: toggle_subscription_path } }
|
|
||||||
%span= label_subscription_toggle_button_text(label, @project)
|
|
||||||
- else
|
|
||||||
%a.js-unsubscribe-button.label-subscribe-button{ role: 'button', href: '#', class: ('hidden' if status.unsubscribed?), data: { url: toggle_subscription_path } }
|
%a.js-unsubscribe-button.label-subscribe-button{ role: 'button', href: '#', class: ('hidden' if status.unsubscribed?), data: { url: toggle_subscription_path } }
|
||||||
%span Unsubscribe
|
%span Unsubscribe
|
||||||
%a.js-subscribe-button.label-subscribe-button{ role: 'button', href: '#', class: ('hidden' unless status.unsubscribed?), data: { url: toggle_subscription_namespace_project_label_path(@project.namespace, @project, label) } }
|
%a.js-subscribe-button.label-subscribe-button{ role: 'button', href: '#', class: ('hidden' unless status.unsubscribed?), data: { url: toggle_subscription_namespace_project_label_path(@project.namespace, @project, label) } }
|
||||||
%span Subscribe at project level
|
%span Subscribe at project level
|
||||||
%a.js-subscribe-button.label-subscribe-button{ role: 'button', href: '#', class: ('hidden' unless status.unsubscribed?), data: { url: toggle_subscription_group_label_path(label.group, label) } }
|
%a.js-subscribe-button.label-subscribe-button{ role: 'button', href: '#', class: ('hidden' unless status.unsubscribed?), data: { url: toggle_subscription_group_label_path(label.group, label) } }
|
||||||
%span Subscribe at group level
|
%span Subscribe at group level
|
||||||
|
- else
|
||||||
|
%a.js-subscribe-button.label-subscribe-button{ role: 'button', href: '#', data: { status: status, url: toggle_subscription_path } }
|
||||||
|
%span= label_subscription_toggle_button_text(label, @project)
|
||||||
|
|
||||||
- if can?(current_user, :admin_label, label)
|
- if can?(current_user, :admin_label, label)
|
||||||
%li
|
%li
|
||||||
|
@ -45,11 +45,7 @@
|
||||||
|
|
||||||
- if current_user
|
- if current_user
|
||||||
.label-subscription.inline
|
.label-subscription.inline
|
||||||
- if defined?(@group) || label.is_a?(ProjectLabel)
|
- if can_subscribe_to_label_in_different_levels?(label)
|
||||||
%button.js-subscribe-button.label-subscribe-button.btn.btn-default{ type: 'button', data: { status: status, url: toggle_subscription_path } }
|
|
||||||
%span= label_subscription_toggle_button_text(label, @project)
|
|
||||||
= icon('spinner spin', class: 'label-subscribe-button-loading')
|
|
||||||
- else
|
|
||||||
%button.js-unsubscribe-button.label-subscribe-button.btn.btn-default{ type: 'button', class: ('hidden' if status.unsubscribed?), data: { url: toggle_subscription_path } }
|
%button.js-unsubscribe-button.label-subscribe-button.btn.btn-default{ type: 'button', class: ('hidden' if status.unsubscribed?), data: { url: toggle_subscription_path } }
|
||||||
%span Unsubscribe
|
%span Unsubscribe
|
||||||
= icon('spinner spin', class: 'label-subscribe-button-loading')
|
= icon('spinner spin', class: 'label-subscribe-button-loading')
|
||||||
|
@ -64,6 +60,10 @@
|
||||||
Project level
|
Project level
|
||||||
%a.js-subscribe-button{ data: { url: toggle_subscription_group_label_path(label.group, label) } }
|
%a.js-subscribe-button{ data: { url: toggle_subscription_group_label_path(label.group, label) } }
|
||||||
Group level
|
Group level
|
||||||
|
- else
|
||||||
|
%button.js-subscribe-button.label-subscribe-button.btn.btn-default{ type: 'button', data: { status: status, url: toggle_subscription_path } }
|
||||||
|
%span= label_subscription_toggle_button_text(label, @project)
|
||||||
|
= icon('spinner spin', class: 'label-subscribe-button-loading')
|
||||||
|
|
||||||
- if label.is_a?(ProjectLabel) && label.project.group && can?(current_user, :admin_label, label.project.group)
|
- if label.is_a?(ProjectLabel) && label.project.group && can?(current_user, :admin_label, label.project.group)
|
||||||
= link_to promote_namespace_project_label_path(label.project.namespace, label.project, label), title: "Promote to Group Label", class: 'btn btn-transparent btn-action', data: {confirm: "Promoting this label will make this label available to all projects inside this group. Existing project labels with the same name will be merged. Are you sure?", toggle: "tooltip"}, method: :post do
|
= link_to promote_namespace_project_label_path(label.project.namespace, label.project, label), title: "Promote to Group Label", class: 'btn btn-transparent btn-action', data: {confirm: "Promoting this label will make this label available to all projects inside this group. Existing project labels with the same name will be merged. Are you sure?", toggle: "tooltip"}, method: :post do
|
||||||
|
@ -78,9 +78,9 @@
|
||||||
= icon('trash-o')
|
= icon('trash-o')
|
||||||
|
|
||||||
- if current_user
|
- if current_user
|
||||||
- if defined?(@group) || label.is_a?(ProjectLabel)
|
- if can_subscribe_to_label_in_different_levels?(label)
|
||||||
:javascript
|
|
||||||
new gl.ProjectLabelSubscription('##{dom_id(label)} .label-subscription');
|
|
||||||
- else
|
|
||||||
:javascript
|
:javascript
|
||||||
new gl.GroupLabelSubscription('##{dom_id(label)} .label-subscription');
|
new gl.GroupLabelSubscription('##{dom_id(label)} .label-subscription');
|
||||||
|
- else
|
||||||
|
:javascript
|
||||||
|
new gl.ProjectLabelSubscription('##{dom_id(label)} .label-subscription');
|
||||||
|
|
Loading…
Reference in New Issue