Change account suspensions to be reversible by default (#14726)

This commit is contained in:
Eugen Rochko 2020-09-15 14:37:58 +02:00 committed by GitHub
parent bbcbf12215
commit ed099d8bdc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
39 changed files with 526 additions and 279 deletions

View file

@ -10,7 +10,7 @@ class NotificationMailer < ApplicationMailer
@me = recipient
@status = notification.target_status
return if @me.user.disabled? || @status.nil?
return unless @me.user.functional? && @status.present?
locale_for_account(@me) do
thread_by_conversation(@status.conversation)
@ -22,7 +22,7 @@ class NotificationMailer < ApplicationMailer
@me = recipient
@account = notification.from_account
return if @me.user.disabled?
return unless @me.user.functional?
locale_for_account(@me) do
mail to: @me.user.email, subject: I18n.t('notification_mailer.follow.subject', name: @account.acct)
@ -34,7 +34,7 @@ class NotificationMailer < ApplicationMailer
@account = notification.from_account
@status = notification.target_status
return if @me.user.disabled? || @status.nil?
return unless @me.user.functional? && @status.present?
locale_for_account(@me) do
thread_by_conversation(@status.conversation)
@ -47,7 +47,7 @@ class NotificationMailer < ApplicationMailer
@account = notification.from_account
@status = notification.target_status
return if @me.user.disabled? || @status.nil?
return unless @me.user.functional? && @status.present?
locale_for_account(@me) do
thread_by_conversation(@status.conversation)
@ -59,7 +59,7 @@ class NotificationMailer < ApplicationMailer
@me = recipient
@account = notification.from_account
return if @me.user.disabled?
return unless @me.user.functional?
locale_for_account(@me) do
mail to: @me.user.email, subject: I18n.t('notification_mailer.follow_request.subject', name: @account.acct)
@ -67,7 +67,7 @@ class NotificationMailer < ApplicationMailer
end
def digest(recipient, **opts)
return if recipient.user.disabled?
return unless recipient.user.functional?
@me = recipient
@since = opts[:since] || [@me.user.last_emailed_at, (@me.user.current_sign_in_at + 1.day)].compact.max
@ -88,8 +88,10 @@ class NotificationMailer < ApplicationMailer
def thread_by_conversation(conversation)
return if conversation.nil?
msg_id = "<conversation-#{conversation.id}.#{conversation.created_at.strftime('%Y-%m-%d')}@#{Rails.configuration.x.local_domain}>"
headers['In-Reply-To'] = msg_id
headers['References'] = msg_id
headers['References'] = msg_id
end
end

View file

@ -15,7 +15,7 @@ class UserMailer < Devise::Mailer
@token = token
@instance = Rails.configuration.x.local_domain
return if @resource.disabled?
return unless @resource.active_for_authentication?
I18n.with_locale(@resource.locale || I18n.default_locale) do
mail to: @resource.unconfirmed_email.presence || @resource.email,
@ -29,7 +29,7 @@ class UserMailer < Devise::Mailer
@token = token
@instance = Rails.configuration.x.local_domain
return if @resource.disabled?
return unless @resource.active_for_authentication?
I18n.with_locale(@resource.locale || I18n.default_locale) do
mail to: @resource.email, subject: I18n.t('devise.mailer.reset_password_instructions.subject')
@ -40,7 +40,7 @@ class UserMailer < Devise::Mailer
@resource = user
@instance = Rails.configuration.x.local_domain
return if @resource.disabled?
return unless @resource.active_for_authentication?
I18n.with_locale(@resource.locale || I18n.default_locale) do
mail to: @resource.email, subject: I18n.t('devise.mailer.password_change.subject')
@ -51,7 +51,7 @@ class UserMailer < Devise::Mailer
@resource = user
@instance = Rails.configuration.x.local_domain
return if @resource.disabled?
return unless @resource.active_for_authentication?
I18n.with_locale(@resource.locale || I18n.default_locale) do
mail to: @resource.email, subject: I18n.t('devise.mailer.email_changed.subject')
@ -62,7 +62,7 @@ class UserMailer < Devise::Mailer
@resource = user
@instance = Rails.configuration.x.local_domain
return if @resource.disabled?
return unless @resource.active_for_authentication?
I18n.with_locale(@resource.locale || I18n.default_locale) do
mail to: @resource.email, subject: I18n.t('devise.mailer.two_factor_enabled.subject')
@ -73,7 +73,7 @@ class UserMailer < Devise::Mailer
@resource = user
@instance = Rails.configuration.x.local_domain
return if @resource.disabled?
return unless @resource.active_for_authentication?
I18n.with_locale(@resource.locale || I18n.default_locale) do
mail to: @resource.email, subject: I18n.t('devise.mailer.two_factor_disabled.subject')
@ -84,7 +84,7 @@ class UserMailer < Devise::Mailer
@resource = user
@instance = Rails.configuration.x.local_domain
return if @resource.disabled?
return unless @resource.active_for_authentication?
I18n.with_locale(@resource.locale || I18n.default_locale) do
mail to: @resource.email, subject: I18n.t('devise.mailer.two_factor_recovery_codes_changed.subject')
@ -95,7 +95,7 @@ class UserMailer < Devise::Mailer
@resource = user
@instance = Rails.configuration.x.local_domain
return if @resource.disabled?
return unless @resource.active_for_authentication?
I18n.with_locale(@resource.locale || I18n.default_locale) do
mail to: @resource.email, subject: I18n.t('devise.mailer.webauthn_enabled.subject')
@ -106,7 +106,7 @@ class UserMailer < Devise::Mailer
@resource = user
@instance = Rails.configuration.x.local_domain
return if @resource.disabled?
return unless @resource.active_for_authentication?
I18n.with_locale(@resource.locale || I18n.default_locale) do
mail to: @resource.email, subject: I18n.t('devise.mailer.webauthn_disabled.subject')
@ -118,7 +118,7 @@ class UserMailer < Devise::Mailer
@instance = Rails.configuration.x.local_domain
@webauthn_credential = webauthn_credential
return if @resource.disabled?
return unless @resource.active_for_authentication?
I18n.with_locale(@resource.locale || I18n.default_locale) do
mail to: @resource.email, subject: I18n.t('devise.mailer.webauthn_credential.added.subject')
@ -130,7 +130,7 @@ class UserMailer < Devise::Mailer
@instance = Rails.configuration.x.local_domain
@webauthn_credential = webauthn_credential
return if @resource.disabled?
return unless @resource.active_for_authentication?
I18n.with_locale(@resource.locale || I18n.default_locale) do
mail to: @resource.email, subject: I18n.t('devise.mailer.webauthn_credential.deleted.subject')
@ -141,7 +141,7 @@ class UserMailer < Devise::Mailer
@resource = user
@instance = Rails.configuration.x.local_domain
return if @resource.disabled?
return unless @resource.active_for_authentication?
I18n.with_locale(@resource.locale || I18n.default_locale) do
mail to: @resource.email, subject: I18n.t('user_mailer.welcome.subject')
@ -153,7 +153,7 @@ class UserMailer < Devise::Mailer
@instance = Rails.configuration.x.local_domain
@backup = backup
return if @resource.disabled?
return unless @resource.active_for_authentication?
I18n.with_locale(@resource.locale || I18n.default_locale) do
mail to: @resource.email, subject: I18n.t('user_mailer.backup_ready.subject')
@ -181,7 +181,7 @@ class UserMailer < Devise::Mailer
@detection = Browser.new(user_agent)
@timestamp = timestamp.to_time.utc
return if @resource.disabled?
return unless @resource.active_for_authentication?
I18n.with_locale(@resource.locale || I18n.default_locale) do
mail to: @resource.email,