mirror of
https://github.com/mastodon/mastodon.git
synced 2024-11-09 17:15:18 +00:00
Disable actions on reports that have already been taken (#31773)
This commit is contained in:
parent
1fed11cfa7
commit
fd7fc7bdc3
|
@ -73,6 +73,14 @@ class Admin::AccountAction
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def disabled_types_for_account(account)
|
||||||
|
if account.suspended?
|
||||||
|
%w(silence suspend)
|
||||||
|
elsif account.silenced?
|
||||||
|
%w(silence)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def i18n_scope
|
def i18n_scope
|
||||||
:activerecord
|
:activerecord
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,6 +1,13 @@
|
||||||
- content_for :page_title do
|
- content_for :page_title do
|
||||||
= t('admin.account_actions.title', acct: @account.pretty_acct)
|
= t('admin.account_actions.title', acct: @account.pretty_acct)
|
||||||
|
|
||||||
|
- if @account.suspended?
|
||||||
|
.flash-message.alert
|
||||||
|
= t('admin.account_actions.already_suspended')
|
||||||
|
- elsif @account.silenced?
|
||||||
|
.flash-message.warn
|
||||||
|
= t('admin.account_actions.already_silenced')
|
||||||
|
|
||||||
= simple_form_for @account_action, url: admin_account_action_path(@account.id) do |f|
|
= simple_form_for @account_action, url: admin_account_action_path(@account.id) do |f|
|
||||||
= f.input :report_id,
|
= f.input :report_id,
|
||||||
as: :hidden
|
as: :hidden
|
||||||
|
@ -9,6 +16,7 @@
|
||||||
= f.input :type,
|
= f.input :type,
|
||||||
as: :radio_buttons,
|
as: :radio_buttons,
|
||||||
collection: Admin::AccountAction.types_for_account(@account),
|
collection: Admin::AccountAction.types_for_account(@account),
|
||||||
|
disabled: Admin::AccountAction.disabled_types_for_account(@account),
|
||||||
hint: t('simple_form.hints.admin_account_action.type_html', acct: @account.pretty_acct),
|
hint: t('simple_form.hints.admin_account_action.type_html', acct: @account.pretty_acct),
|
||||||
include_blank: false,
|
include_blank: false,
|
||||||
label_method: ->(type) { account_action_type_label(type) },
|
label_method: ->(type) { account_action_type_label(type) },
|
||||||
|
|
|
@ -17,21 +17,27 @@
|
||||||
.report-actions__item__button
|
.report-actions__item__button
|
||||||
= form.button t('admin.reports.delete_and_resolve'),
|
= form.button t('admin.reports.delete_and_resolve'),
|
||||||
name: :delete,
|
name: :delete,
|
||||||
class: 'button button--destructive'
|
class: 'button button--destructive',
|
||||||
|
disabled: statuses.empty?,
|
||||||
|
title: statuses.empty? ? t('admin.reports.actions_no_posts') : ''
|
||||||
.report-actions__item__description
|
.report-actions__item__description
|
||||||
= t('admin.reports.actions.delete_description_html')
|
= t('admin.reports.actions.delete_description_html')
|
||||||
.report-actions__item
|
.report-actions__item
|
||||||
.report-actions__item__button
|
.report-actions__item__button
|
||||||
= form.button t('admin.accounts.silence'),
|
= form.button t('admin.accounts.silence'),
|
||||||
name: :silence,
|
name: :silence,
|
||||||
class: 'button button--destructive'
|
class: 'button button--destructive',
|
||||||
|
disabled: report.target_account.silenced? || report.target_account.suspended?,
|
||||||
|
title: report.target_account.silenced? ? t('admin.account_actions.already_silenced') : ''
|
||||||
.report-actions__item__description
|
.report-actions__item__description
|
||||||
= t('admin.reports.actions.silence_description_html')
|
= t('admin.reports.actions.silence_description_html')
|
||||||
.report-actions__item
|
.report-actions__item
|
||||||
.report-actions__item__button
|
.report-actions__item__button
|
||||||
= form.button t('admin.accounts.suspend'),
|
= form.button t('admin.accounts.suspend'),
|
||||||
name: :suspend,
|
name: :suspend,
|
||||||
class: 'button button--destructive'
|
class: 'button button--destructive',
|
||||||
|
disabled: report.target_account.suspended?,
|
||||||
|
title: report.target_account.suspended? ? t('admin.account_actions.already_suspended') : ''
|
||||||
.report-actions__item__description
|
.report-actions__item__description
|
||||||
= t('admin.reports.actions.suspend_description_html')
|
= t('admin.reports.actions.suspend_description_html')
|
||||||
.report-actions__item
|
.report-actions__item
|
||||||
|
|
|
@ -25,6 +25,8 @@ en:
|
||||||
admin:
|
admin:
|
||||||
account_actions:
|
account_actions:
|
||||||
action: Perform action
|
action: Perform action
|
||||||
|
already_silenced: This account has already been silenced.
|
||||||
|
already_suspended: This account has already been suspended.
|
||||||
title: Perform moderation action on %{acct}
|
title: Perform moderation action on %{acct}
|
||||||
account_moderation_notes:
|
account_moderation_notes:
|
||||||
create: Leave note
|
create: Leave note
|
||||||
|
@ -602,6 +604,7 @@ en:
|
||||||
suspend_description_html: The account and all its contents will be inaccessible and eventually deleted, and interacting with it will be impossible. Reversible within 30 days. Closes all reports against this account.
|
suspend_description_html: The account and all its contents will be inaccessible and eventually deleted, and interacting with it will be impossible. Reversible within 30 days. Closes all reports against this account.
|
||||||
actions_description_html: Decide which action to take to resolve this report. If you take a punitive action against the reported account, an email notification will be sent to them, except when the <strong>Spam</strong> category is selected.
|
actions_description_html: Decide which action to take to resolve this report. If you take a punitive action against the reported account, an email notification will be sent to them, except when the <strong>Spam</strong> category is selected.
|
||||||
actions_description_remote_html: Decide which action to take to resolve this report. This will only affect how <strong>your</strong> server communicates with this remote account and handle its content.
|
actions_description_remote_html: Decide which action to take to resolve this report. This will only affect how <strong>your</strong> server communicates with this remote account and handle its content.
|
||||||
|
actions_no_posts: This report doesn't have any associated posts to delete
|
||||||
add_to_report: Add more to report
|
add_to_report: Add more to report
|
||||||
already_suspended_badges:
|
already_suspended_badges:
|
||||||
local: Already suspended on this server
|
local: Already suspended on this server
|
||||||
|
|
Loading…
Reference in a new issue