BigW Consortium Gitlab

show.html.haml 2.77 KB
%h3.page-title
  Notifications settings
%p.light
  These are your global notification settings.
%hr


= form_for @user, url: profile_notifications_path, method: :put, html: { class: 'update-notifications form-horizontal global-notifications-form' } 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'

  .form-group
    = f.label :notification_email, class: "control-label"
    .col-sm-10
      = f.select :notification_email, @user.all_emails, { include_blank: false }, class: "form-control"

  .form-group
    = f.label :notification_level, class: 'control-label'
    .col-sm-10
      .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
            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 all notifications from projects in which you participate

  .form-actions
    = f.submit 'Save changes', class: "btn btn-save"

.clearfix
  %hr
.row.all-notifications
  .col-md-6
    %p
      You can also specify notification level per group or per project.
      %br
      By default all projects and groups uses notification level set above.
    %h4 Groups:
    %ul.bordered-list
      - @group_members.each do |users_group|
        - notification = Notification.new(users_group)
        = render 'settings', type: 'group', membership: users_group, notification: notification

  .col-md-6
    %p
      To specify notification level per project of a group you belong to,
      %br
      you need to be a member of the project itself, not only its group.
    %h4 Projects:
    %ul.bordered-list
      - @project_members.each do |project_member|
        - notification = Notification.new(project_member)
        = render 'settings', type: 'project', membership: project_member, notification: notification