summaryrefslogtreecommitdiff
path: root/app/views/profiles/notifications/show.html.haml
blob: 3d15c0d932bc22cda43e17d3fdac39a8bb03ede4 (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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
- page_title "Notifications"
- header_title page_title, profile_notifications_path

= form_for @user, url: profile_notifications_path, method: :put, html: { class: 'update-notifications prepend-top-default' } do |f|
  -if @user.errors.any?
    %div.alert.alert-danger
      %ul
        - @user.errors.full_messages.each do |msg|
          %li= msg

  = hidden_field_tag :notification_type, 'global'
  .row
    .col-lg-3.profile-settings-sidebar
      %h4
        = page_title
      %p
        You can specify notification level per group or per project.
      %p
        By default, all projects and groups will use the global notifications setting.
    .col-lg-9
      %h5
        Global notification settings
      .form-group
        = f.label :notification_email, class: "label-light"
        = f.select :notification_email, @user.all_emails, { include_blank: false }, class: "select2"
      .form-group
        = f.label :notification_level, class: 'label-light'
        .radio
          = f.label :notification_level, value: Notification::N_DISABLED do
            = f.radio_button :notification_level, Notification::N_DISABLED
            .level-title
              Disabled
            %p You will not get any notifications via email

        .radio
          = f.label :notification_level, value: Notification::N_MENTION do
            = f.radio_button :notification_level, Notification::N_MENTION
            .level-title
              On Mention
            %p You will receive notifications only for comments in which you were @mentioned

        .radio
          = f.label :notification_level, value: Notification::N_PARTICIPATING do
            = f.radio_button :notification_level, Notification::N_PARTICIPATING
            .level-title
              Participating
            %p You will only receive notifications from related resources (e.g. from your commits or assigned issues)

        .radio
          = f.label :notification_level, value: Notification::N_WATCH do
            = f.radio_button :notification_level, Notification::N_WATCH
            .level-title
              Watch
            %p You will receive notifications for any activity

      .prepend-top-default
        = f.submit 'Update settings', class: "btn btn-create"
      %hr
.col-lg-9.col-lg-push-3
  %h5
    Groups (#{@group_members.count})
  %div
    %ul.bordered-list
      - @group_members.each do |group_member|
        - notification = Notification.new(group_member)
        = render 'settings', type: 'group', membership: group_member, notification: notification
  %h5
    Projects (#{@project_members.count})
  %p.account-well
    To specify the notification level per project of a group you belong to, you need to be a member of the project itself, not only its group.
  .append-bottom-default
    %ul.bordered-list
      - @project_members.each do |project_member|
        - notification = Notification.new(project_member)
        = render 'settings', type: 'project', membership: project_member, notification: notification