summaryrefslogtreecommitdiff
path: root/app/helpers/labels_helper.rb
diff options
context:
space:
mode:
authorDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-11-15 19:59:12 -0200
committerDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-11-17 15:10:13 -0200
commit1af4d29b9424b2c072a16ed37d4f5d9368399884 (patch)
tree8abe698db05f7743f58983847e3f30ebaa27c21c /app/helpers/labels_helper.rb
parent733fbebe0e888290c3973f1655324b1648409478 (diff)
downloadgitlab-ce-1af4d29b9424b2c072a16ed37d4f5d9368399884.tar.gz
Allow users to subscribe to a group label at group or project level
Diffstat (limited to 'app/helpers/labels_helper.rb')
-rw-r--r--app/helpers/labels_helper.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/app/helpers/labels_helper.rb b/app/helpers/labels_helper.rb
index a7c8a8a8650..7495414f525 100644
--- a/app/helpers/labels_helper.rb
+++ b/app/helpers/labels_helper.rb
@@ -140,6 +140,20 @@ module LabelsHelper
end
end
+ def group_label_subscription_status(label, project)
+ return 'project-level' if label.subscribed?(current_user, project)
+ return 'group-level' if label.subscribed?(current_user)
+
+ 'unsubscribed'
+ end
+
+ def group_label_unsubscribe_path(label, project)
+ case group_label_subscription_status(label, project)
+ when 'project-level' then toggle_subscription_namespace_project_label_path(@project.namespace, @project, label)
+ when 'group-level' then toggle_subscription_group_label_path(label.group, label)
+ end
+ end
+
def label_subscription_status(label, project)
label.subscribed?(current_user, project) ? 'subscribed' : 'unsubscribed'
end