mashirozx/mastodon

View on GitHub
app/views/settings/preferences/notifications/show.html.haml

Summary

Maintainability
Test Coverage
- content_for :page_title do
  = t('settings.notifications')

- content_for :heading_actions do
  = button_tag t('generic.save_changes'), class: 'button', form: 'edit_notification'

= simple_form_for current_user, url: settings_preferences_notifications_path, html: { method: :put, id: 'edit_notification' } do |f|
  = render 'shared/error_messages', object: current_user

  %h4= t 'notifications.email_events'

  %p.hint= t 'notifications.email_events_hint'

  .fields-group
    = f.simple_fields_for :notification_emails, hash_to_object(current_user.settings.notification_emails) do |ff|
      = ff.input :follow, as: :boolean, wrapper: :with_label
      = ff.input :follow_request, as: :boolean, wrapper: :with_label
      = ff.input :reblog, as: :boolean, wrapper: :with_label
      = ff.input :favourite, as: :boolean, wrapper: :with_label
      = ff.input :mention, as: :boolean, wrapper: :with_label
      = ff.input :report, as: :boolean, wrapper: :with_label if current_user.can?(:manage_reports)
      = ff.input :appeal, as: :boolean, wrapper: :with_label if current_user.can?(:manage_appeals)
      = ff.input :pending_account, as: :boolean, wrapper: :with_label if current_user.can?(:manage_users)
      = ff.input :trending_tag, as: :boolean, wrapper: :with_label if current_user.can?(:manage_taxonomies)

  .fields-group
    = f.input :setting_always_send_emails, as: :boolean, wrapper: :with_label

  %h4= t 'notifications.other_settings'

  .fields-group
    = f.simple_fields_for :interactions, hash_to_object(current_user.settings.interactions) do |ff|
      = ff.input :must_be_follower, as: :boolean, wrapper: :with_label
      = ff.input :must_be_following, as: :boolean, wrapper: :with_label
      = ff.input :must_be_following_dm, as: :boolean, wrapper: :with_label