diff options
author | Darby <darbsies@gmail.com> | 2015-09-14 16:37:11 -0700 |
---|---|---|
committer | Darby <darbsies@gmail.com> | 2015-09-14 16:37:11 -0700 |
commit | 84508c40b7a132b775717d2aeef313d4e370a2b9 (patch) | |
tree | d8ce8d5e739abf5d9f7f605e2c2043640fe4ae9b /app | |
parent | a81ce718c772672706da33848670149dd577ae79 (diff) | |
download | gitlab-ce-84508c40b7a132b775717d2aeef313d4e370a2b9.tar.gz |
PAtrially working notification button
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/projects_controller.rb | 1 | ||||
-rw-r--r-- | app/helpers/notifications_helper.rb | 31 | ||||
-rw-r--r-- | app/views/projects/_home_panel.html.haml | 2 | ||||
-rw-r--r-- | app/views/projects/buttons/_notifications.html.haml | 15 |
4 files changed, 49 insertions, 0 deletions
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index dafc11d0707..2c80f237f86 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -82,6 +82,7 @@ class ProjectsController < ApplicationController if @project.empty_repo? render 'projects/empty' else + @membership_id = @project.project_members.where(user_id: current_user.id).first render :show end else diff --git a/app/helpers/notifications_helper.rb b/app/helpers/notifications_helper.rb index 2f8e64c375f..db6fe3b29ed 100644 --- a/app/helpers/notifications_helper.rb +++ b/app/helpers/notifications_helper.rb @@ -12,4 +12,35 @@ module NotificationsHelper icon('circle-o', class: 'ns-default') end end + + def notification_list_item(notification_level) + case notification_level + when Notification::N_DISABLED + content_tag(:li) do + icon('microphone-slash') do + 'Disabled' + end + end + when Notification::N_PARTICIPATING + content_tag(:li) do + icon('volume-up') do + 'Participating' + end + end + when Notification::N_WATCH + content_tag(:li) do + icon('globe') do + 'Watch' + end + end + when Notification::N_MENTION + content_tag(:li) do + icon('at') do + 'Mention' + end + end + else + # do nothing + end + end end diff --git a/app/views/projects/_home_panel.html.haml b/app/views/projects/_home_panel.html.haml index b93036e78e6..67a00b4ebef 100644 --- a/app/views/projects/_home_panel.html.haml +++ b/app/views/projects/_home_panel.html.haml @@ -25,6 +25,8 @@ = icon('download fw') Download + = render 'projects/buttons/notifications' + = render 'projects/buttons/dropdown' = render "shared/clone_panel" diff --git a/app/views/projects/buttons/_notifications.html.haml b/app/views/projects/buttons/_notifications.html.haml new file mode 100644 index 00000000000..fb30868fc6b --- /dev/null +++ b/app/views/projects/buttons/_notifications.html.haml @@ -0,0 +1,15 @@ +- if current_user and !@membership_id.nil? + %span.dropdown + = form_tag profile_notifications_path, method: :put, remote: true do + = hidden_field_tag :notification_type, 'project' + = hidden_field_tag :notification_id, @membership_id + %a.dropdown-toggle.btn.btn-new{href: '#', "data-toggle" => "dropdown"} + = icon('bell') + Notifications + %ul.dropdown-menu.dropdown-menu-right.project-home-dropdown + - Notification.notification_levels.each do | level | + = notification_list_item(level) + + + + |