debian-mirror-gitlab/app/helpers/notifications_helper.rb

61 lines
2.2 KiB
Ruby
Raw Normal View History

2014-09-02 18:07:02 +05:30
module NotificationsHelper
2015-09-11 14:41:01 +05:30
include IconsHelper
2014-09-02 18:07:02 +05:30
def notification_icon(notification)
if notification.disabled?
2015-04-26 12:48:37 +05:30
icon('volume-off', class: 'ns-mute')
2014-09-02 18:07:02 +05:30
elsif notification.participating?
2015-04-26 12:48:37 +05:30
icon('volume-down', class: 'ns-part')
2014-09-02 18:07:02 +05:30
elsif notification.watch?
2015-04-26 12:48:37 +05:30
icon('volume-up', class: 'ns-watch')
2014-09-02 18:07:02 +05:30
else
2015-04-26 12:48:37 +05:30
icon('circle-o', class: 'ns-default')
2014-09-02 18:07:02 +05:30
end
end
2015-09-25 12:07:36 +05:30
def notification_list_item(notification_level, user_membership)
case notification_level
when Notification::N_DISABLED
content_tag(:li, class: active_level_for(user_membership, Notification::N_DISABLED)) do
link_to '#', class: 'update-notification', data: { notification_level: Notification::N_DISABLED } do
icon('microphone-slash fw', text: 'Disabled')
end
end
when Notification::N_PARTICIPATING
content_tag(:li, class: active_level_for(user_membership, Notification::N_PARTICIPATING)) do
link_to '#', class: 'update-notification', data: { notification_level: Notification::N_PARTICIPATING } do
icon('volume-up fw', text: 'Participate')
end
end
when Notification::N_WATCH
content_tag(:li, class: active_level_for(user_membership, Notification::N_WATCH)) do
link_to '#', class: 'update-notification', data: { notification_level: Notification::N_WATCH } do
icon('eye fw', text: 'Watch')
end
end
when Notification::N_MENTION
content_tag(:li, class: active_level_for(user_membership, Notification::N_MENTION)) do
link_to '#', class: 'update-notification', data: { notification_level: Notification::N_MENTION } do
icon('at fw', text: 'On mention')
end
end
when Notification::N_GLOBAL
content_tag(:li, class: active_level_for(user_membership, Notification::N_GLOBAL)) do
link_to '#', class: 'update-notification', data: { notification_level: Notification::N_GLOBAL } do
icon('globe fw', text: 'Global')
end
end
else
# do nothing
end
end
def notification_label(user_membership)
Notification.new(user_membership).to_s
end
def active_level_for(user_membership, level)
'active' if user_membership.notification_level == level
end
2014-09-02 18:07:02 +05:30
end