Change old moderation strikes to be displayed in a separate page (#17566)
* Change old moderation strikes to be displayed in a separate page Fixes #17552 This changes the moderation strikes displayed on `/auth/edit` to be those from the past 3 months, and make all moderation strikes targeting the current user available in `/disputes`. * Add short description of what the strikes page is for * Move link to list of strikes to “Account status” instead of navigation item * Normalize i18n file * Fix layout and styling of strikes link * Revert highlights_on regexp * Reintroduce account status summary - this way, “Account status” is never empty - account status is not necessarily bound to strikes, or recent strikesgh/stable
parent
50ea54b3ed
commit
14919fe11e
|
@ -127,7 +127,7 @@ class Auth::RegistrationsController < Devise::RegistrationsController
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_strikes
|
def set_strikes
|
||||||
@strikes = current_account.strikes.active.latest
|
@strikes = current_account.strikes.recent.latest
|
||||||
end
|
end
|
||||||
|
|
||||||
def require_not_suspended!
|
def require_not_suspended!
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
class Disputes::StrikesController < Disputes::BaseController
|
class Disputes::StrikesController < Disputes::BaseController
|
||||||
before_action :set_strike
|
before_action :set_strike, only: [:show]
|
||||||
|
|
||||||
|
def index
|
||||||
|
@strikes = current_account.strikes.latest
|
||||||
|
end
|
||||||
|
|
||||||
def show
|
def show
|
||||||
authorize @strike, :show?
|
authorize @strike, :show?
|
||||||
|
|
|
@ -33,7 +33,7 @@ class AccountWarning < ApplicationRecord
|
||||||
|
|
||||||
scope :latest, -> { order(id: :desc) }
|
scope :latest, -> { order(id: :desc) }
|
||||||
scope :custom, -> { where.not(text: '') }
|
scope :custom, -> { where.not(text: '') }
|
||||||
scope :active, -> { where(overruled_at: nil).or(where('account_warnings.overruled_at >= ?', 30.days.ago)) }
|
scope :recent, -> { where('account_warnings.created_at >= ?', 3.months.ago) }
|
||||||
|
|
||||||
def statuses
|
def statuses
|
||||||
Status.with_discarded.where(id: status_ids || [])
|
Status.with_discarded.where(id: status_ids || [])
|
||||||
|
|
|
@ -12,6 +12,22 @@
|
||||||
|
|
||||||
%h3= t('auth.status.account_status')
|
%h3= t('auth.status.account_status')
|
||||||
|
|
||||||
|
%p.hint
|
||||||
|
- if @user.account.suspended?
|
||||||
|
%span.negative-hint= t('user_mailer.warning.explanation.suspend')
|
||||||
|
- elsif @user.disabled?
|
||||||
|
%span.negative-hint= t('user_mailer.warning.explanation.disable')
|
||||||
|
- elsif @user.account.silenced?
|
||||||
|
%span.warning-hint= t('user_mailer.warning.explanation.silence')
|
||||||
|
- else
|
||||||
|
%span.positive-hint= t('auth.status.functional')
|
||||||
|
|
||||||
= render partial: 'account_warning', collection: @strikes
|
= render partial: 'account_warning', collection: @strikes
|
||||||
|
|
||||||
|
- if @user.account.strikes.exists?
|
||||||
|
%hr.spacer/
|
||||||
|
|
||||||
|
%p.muted-hint
|
||||||
|
= link_to t('auth.status.view_strikes'), disputes_strikes_path
|
||||||
|
|
||||||
%hr.spacer/
|
%hr.spacer/
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
- content_for :page_title do
|
||||||
|
= t('settings.strikes')
|
||||||
|
|
||||||
|
%p= t('disputes.strikes.description_html', instance: Rails.configuration.x.local_domain)
|
||||||
|
|
||||||
|
= render partial: 'auth/registrations/account_warning', collection: @strikes
|
|
@ -933,8 +933,10 @@ en:
|
||||||
status:
|
status:
|
||||||
account_status: Account status
|
account_status: Account status
|
||||||
confirming: Waiting for e-mail confirmation to be completed.
|
confirming: Waiting for e-mail confirmation to be completed.
|
||||||
|
functional: Your account is fully operational.
|
||||||
pending: Your application is pending review by our staff. This may take some time. You will receive an e-mail if your application is approved.
|
pending: Your application is pending review by our staff. This may take some time. You will receive an e-mail if your application is approved.
|
||||||
redirecting_to: Your account is inactive because it is currently redirecting to %{acct}.
|
redirecting_to: Your account is inactive because it is currently redirecting to %{acct}.
|
||||||
|
view_strikes: View past strikes against your account
|
||||||
too_fast: Form submitted too fast, try again.
|
too_fast: Form submitted too fast, try again.
|
||||||
trouble_logging_in: Trouble logging in?
|
trouble_logging_in: Trouble logging in?
|
||||||
use_security_key: Use security key
|
use_security_key: Use security key
|
||||||
|
@ -1010,6 +1012,7 @@ en:
|
||||||
submit: Submit appeal
|
submit: Submit appeal
|
||||||
associated_report: Associated report
|
associated_report: Associated report
|
||||||
created_at: Dated
|
created_at: Dated
|
||||||
|
description_html: These are actions taken against your account and warnings that have been sent to you by the staff of %{instance}.
|
||||||
recipient: Addressed to
|
recipient: Addressed to
|
||||||
status: 'Post #%{id}'
|
status: 'Post #%{id}'
|
||||||
status_removed: Post already removed from system
|
status_removed: Post already removed from system
|
||||||
|
@ -1391,6 +1394,7 @@ en:
|
||||||
profile: Profile
|
profile: Profile
|
||||||
relationships: Follows and followers
|
relationships: Follows and followers
|
||||||
statuses_cleanup: Automated post deletion
|
statuses_cleanup: Automated post deletion
|
||||||
|
strikes: Moderation strikes
|
||||||
two_factor_authentication: Two-factor Auth
|
two_factor_authentication: Two-factor Auth
|
||||||
webauthn_authentication: Security keys
|
webauthn_authentication: Security keys
|
||||||
statuses:
|
statuses:
|
||||||
|
|
|
@ -165,7 +165,7 @@ Rails.application.routes.draw do
|
||||||
end
|
end
|
||||||
|
|
||||||
namespace :disputes do
|
namespace :disputes do
|
||||||
resources :strikes, only: [:show] do
|
resources :strikes, only: [:show, :index] do
|
||||||
resource :appeal, only: [:create]
|
resource :appeal, only: [:create]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Reference in New Issue