Revert "Upstream 20240517"
This commit is contained in:
parent
9c006fd893
commit
f6dec44e95
2347 changed files with 26470 additions and 87494 deletions
|
@ -3,13 +3,13 @@
|
|||
module Admin
|
||||
class AccountsController < BaseController
|
||||
before_action :set_account, except: [:index, :batch]
|
||||
before_action :require_remote_account!, only: [:redownload, :approve_remote, :reject_remote]
|
||||
before_action :require_remote_account!, only: [:redownload]
|
||||
before_action :require_local_account!, only: [:enable, :memorialize, :approve, :reject]
|
||||
|
||||
def index
|
||||
authorize :account, :index?
|
||||
|
||||
@accounts = filtered_accounts.page(params[:page]).without_count
|
||||
@accounts = filtered_accounts.page(params[:page])
|
||||
@form = Form::AccountBatch.new
|
||||
end
|
||||
|
||||
|
@ -66,20 +66,6 @@ module Admin
|
|||
redirect_to admin_accounts_path(status: 'pending'), notice: I18n.t('admin.accounts.rejected_msg', username: @account.acct)
|
||||
end
|
||||
|
||||
def approve_remote
|
||||
authorize @account, :approve_remote?
|
||||
@account.approve_remote!
|
||||
log_action :approve_remote, @account
|
||||
redirect_to admin_account_path(@account.id), notice: I18n.t('admin.accounts.approved_msg', username: @account.acct)
|
||||
end
|
||||
|
||||
def reject_remote
|
||||
authorize @account, :reject_remote?
|
||||
@account.reject_remote!
|
||||
log_action :reject_remote, @account
|
||||
redirect_to admin_account_path(@account.id), notice: I18n.t('admin.accounts.rejected_msg', username: @account.acct)
|
||||
end
|
||||
|
||||
def destroy
|
||||
authorize @account, :destroy?
|
||||
Admin::AccountDeletionWorker.perform_async(@account.id)
|
||||
|
@ -142,7 +128,7 @@ module Admin
|
|||
def unblock_email
|
||||
authorize @account, :unblock_email?
|
||||
|
||||
CanonicalEmailBlock.matching_account(@account).delete_all
|
||||
CanonicalEmailBlock.where(reference_account: @account).delete_all
|
||||
|
||||
log_action :unblock_email, @account
|
||||
|
||||
|
@ -182,12 +168,6 @@ module Admin
|
|||
'approve'
|
||||
elsif params[:reject]
|
||||
'reject'
|
||||
elsif params[:approve_remote]
|
||||
'approve_remote'
|
||||
elsif params[:approve_remote_domain]
|
||||
'approve_remote_domain'
|
||||
elsif params[:reject_remote]
|
||||
'reject_remote'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -6,7 +6,7 @@ module Admin
|
|||
|
||||
def index
|
||||
authorize :audit_log, :index?
|
||||
@auditable_accounts = Account.auditable.select(:id, :username)
|
||||
@auditable_accounts = Account.where(id: Admin::ActionLog.select('distinct account_id')).select(:id, :username)
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
module Admin
|
||||
class ConfirmationsController < BaseController
|
||||
before_action :set_user
|
||||
before_action :redirect_confirmed_user, only: [:resend], if: :user_confirmed?
|
||||
before_action :check_confirmation, only: [:resend]
|
||||
|
||||
def create
|
||||
authorize @user, :confirm?
|
||||
@user.mark_email_as_confirmed!
|
||||
@user.confirm!
|
||||
log_action :confirm, @user
|
||||
redirect_to admin_accounts_path
|
||||
end
|
||||
|
@ -25,13 +25,11 @@ module Admin
|
|||
|
||||
private
|
||||
|
||||
def redirect_confirmed_user
|
||||
flash[:error] = I18n.t('admin.accounts.resend_confirmation.already_confirmed')
|
||||
redirect_to admin_accounts_path
|
||||
end
|
||||
|
||||
def user_confirmed?
|
||||
@user.confirmed?
|
||||
def check_confirmation
|
||||
if @user.confirmed?
|
||||
flash[:error] = I18n.t('admin.accounts.resend_confirmation.already_confirmed')
|
||||
redirect_to admin_accounts_path
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2,12 +2,10 @@
|
|||
|
||||
module Admin
|
||||
class CustomEmojisController < BaseController
|
||||
before_action :set_custom_emoji, only: [:edit, :update]
|
||||
|
||||
def index
|
||||
authorize :custom_emoji, :index?
|
||||
|
||||
@custom_emojis = filtered_custom_emojis.eager_load(:local_counterpart).page(params[:page]).without_count
|
||||
@custom_emojis = filtered_custom_emojis.eager_load(:local_counterpart).page(params[:page])
|
||||
@form = Form::CustomEmojiBatch.new
|
||||
end
|
||||
|
||||
|
@ -17,10 +15,6 @@ module Admin
|
|||
@custom_emoji = CustomEmoji.new
|
||||
end
|
||||
|
||||
def edit
|
||||
authorize :custom_emoji, :create?
|
||||
end
|
||||
|
||||
def create
|
||||
authorize :custom_emoji, :create?
|
||||
|
||||
|
@ -34,19 +28,6 @@ module Admin
|
|||
end
|
||||
end
|
||||
|
||||
def update
|
||||
authorize :custom_emoji, :create?
|
||||
|
||||
@custom_emoji.assign_attributes(update_params)
|
||||
|
||||
if @custom_emoji.save
|
||||
log_action :update, @custom_emoji
|
||||
redirect_to admin_custom_emojis_path(filter_params), notice: I18n.t('admin.custom_emojis.updated_msg')
|
||||
else
|
||||
render :new
|
||||
end
|
||||
end
|
||||
|
||||
def batch
|
||||
authorize :custom_emoji, :index?
|
||||
|
||||
|
@ -62,16 +43,8 @@ module Admin
|
|||
|
||||
private
|
||||
|
||||
def set_custom_emoji
|
||||
@custom_emoji = CustomEmoji.find(params[:id])
|
||||
end
|
||||
|
||||
def resource_params
|
||||
params.require(:custom_emoji).permit(:shortcode, :image, :category_id, :visible_in_picker, :aliases_raw, :license)
|
||||
end
|
||||
|
||||
def update_params
|
||||
params.require(:custom_emoji).permit(:category_id, :visible_in_picker, :aliases_raw, :license)
|
||||
params.require(:custom_emoji).permit(:shortcode, :image, :visible_in_picker)
|
||||
end
|
||||
|
||||
def filtered_custom_emojis
|
||||
|
|
|
@ -25,8 +25,6 @@ class Admin::DomainAllowsController < Admin::BaseController
|
|||
def destroy
|
||||
authorize @domain_allow, :destroy?
|
||||
UnallowDomainService.new.call(@domain_allow)
|
||||
log_action :destroy, @domain_allow
|
||||
|
||||
redirect_to admin_instances_path, notice: I18n.t('admin.domain_allows.destroyed_msg')
|
||||
end
|
||||
|
||||
|
|
|
@ -88,19 +88,15 @@ module Admin
|
|||
end
|
||||
|
||||
def update_params
|
||||
params.require(:domain_block).permit(:severity, :reject_media, :reject_favourite, :reject_reply_exclude_followers, :reject_send_sensitive, :reject_hashtag,
|
||||
:reject_straight_follow, :reject_new_follow, :reject_friend, :block_trends, :detect_invalid_subscription, :reject_reports, :private_comment, :public_comment, :obfuscate, :hidden)
|
||||
params.require(:domain_block).permit(:severity, :reject_media, :reject_reports, :private_comment, :public_comment, :obfuscate)
|
||||
end
|
||||
|
||||
def resource_params
|
||||
params.require(:domain_block).permit(:domain, :severity, :reject_media, :reject_favourite, :reject_reply_exclude_followers, :reject_send_sensitive, :reject_hashtag,
|
||||
:reject_straight_follow, :reject_new_follow, :reject_friend, :block_trends, :detect_invalid_subscription, :reject_reports, :private_comment, :public_comment, :obfuscate, :hidden)
|
||||
params.require(:domain_block).permit(:domain, :severity, :reject_media, :reject_reports, :private_comment, :public_comment, :obfuscate)
|
||||
end
|
||||
|
||||
def form_domain_block_batch_params
|
||||
params.require(:form_domain_block_batch).permit(domain_blocks_attributes: [:enabled, :domain, :severity, :reject_media, :reject_favourite, :reject_reply_exclude_followers,
|
||||
:reject_send_sensitive, :reject_hashtag, :reject_straight_follow, :reject_new_follow, :reject_friend, :block_trends, :detect_invalid_subscription,
|
||||
:reject_reports, :private_comment, :public_comment, :obfuscate, :hidden])
|
||||
params.require(:form_domain_block_batch).permit(domain_blocks_attributes: [:enabled, :domain, :severity, :reject_media, :reject_reports, :private_comment, :public_comment, :obfuscate])
|
||||
end
|
||||
|
||||
def action_from_button
|
||||
|
|
|
@ -38,7 +38,7 @@ module Admin
|
|||
log_action :create, @email_domain_block
|
||||
|
||||
(@email_domain_block.other_domains || []).uniq.each do |domain|
|
||||
next if EmailDomainBlock.exists?(domain: domain)
|
||||
next if EmailDomainBlock.where(domain: domain).exists?
|
||||
|
||||
other_email_domain_block = EmailDomainBlock.create!(domain: domain, allow_with_approval: @email_domain_block.allow_with_approval, parent: @email_domain_block)
|
||||
log_action :create, other_email_domain_block
|
||||
|
|
|
@ -36,17 +36,7 @@ module Admin
|
|||
reject_reports: row.fetch('#reject_reports', false),
|
||||
private_comment: @global_private_comment,
|
||||
public_comment: row['#public_comment'],
|
||||
obfuscate: row.fetch('#obfuscate', false),
|
||||
reject_favourite: row.fetch('#reject_favourite', false),
|
||||
reject_send_sensitive: row.fetch('#reject_send_sensitive', false),
|
||||
reject_hashtag: row.fetch('#reject_hashtag', false),
|
||||
reject_straight_follow: row.fetch('#reject_straight_follow', false),
|
||||
reject_new_follow: row.fetch('#reject_new_follow', false),
|
||||
hidden: row.fetch('#hidden', false),
|
||||
detect_invalid_subscription: row.fetch('#detect_invalid_subscription', false),
|
||||
reject_reply_exclude_followers: row.fetch('#reject_reply_exclude_followers', false),
|
||||
reject_friend: row.fetch('#reject_friend', false),
|
||||
block_trends: row.fetch('#block_trends', false))
|
||||
obfuscate: row.fetch('#obfuscate', false))
|
||||
|
||||
if domain_block.invalid?
|
||||
flash.now[:alert] = I18n.t('admin.export_domain_blocks.invalid_domain_block', error: domain_block.errors.full_messages.join(', '))
|
||||
|
@ -59,7 +49,7 @@ module Admin
|
|||
next
|
||||
end
|
||||
|
||||
@warning_domains = instances_from_imported_blocks.pluck(:domain)
|
||||
@warning_domains = Instance.where(domain: @domain_blocks.map(&:domain)).where('EXISTS (SELECT 1 FROM follows JOIN accounts ON follows.account_id = accounts.id OR follows.target_account_id = accounts.id WHERE accounts.domain = instances.domain)').pluck(:domain)
|
||||
rescue ActionController::ParameterMissing
|
||||
flash.now[:alert] = I18n.t('admin.export_domain_blocks.no_file')
|
||||
set_dummy_import!
|
||||
|
@ -68,56 +58,18 @@ module Admin
|
|||
|
||||
private
|
||||
|
||||
def instances_from_imported_blocks
|
||||
Instance.with_domain_follows(@domain_blocks.map(&:domain))
|
||||
end
|
||||
|
||||
def export_filename
|
||||
'domain_blocks.csv'
|
||||
end
|
||||
|
||||
def export_headers
|
||||
%w(
|
||||
#domain
|
||||
#severity
|
||||
#reject_media
|
||||
#reject_reports
|
||||
#public_comment
|
||||
#obfuscate
|
||||
#reject_favourite
|
||||
#reject_send_sensitive
|
||||
#reject_hashtag
|
||||
#reject_straight_follow
|
||||
#reject_new_follow
|
||||
#hidden
|
||||
#detect_invalid_subscription
|
||||
#reject_reply_exclude_followers
|
||||
#reject_friend
|
||||
#block_trends
|
||||
)
|
||||
%w(#domain #severity #reject_media #reject_reports #public_comment #obfuscate)
|
||||
end
|
||||
|
||||
def export_data
|
||||
CSV.generate(headers: export_headers, write_headers: true) do |content|
|
||||
DomainBlock.with_limitations.order(id: :asc).each do |instance|
|
||||
content << [
|
||||
instance.domain,
|
||||
instance.severity,
|
||||
instance.reject_media,
|
||||
instance.reject_reports,
|
||||
instance.public_comment,
|
||||
instance.obfuscate,
|
||||
instance.reject_favourite,
|
||||
instance.reject_send_sensitive,
|
||||
instance.reject_hashtag,
|
||||
instance.reject_straight_follow,
|
||||
instance.reject_new_follow,
|
||||
instance.hidden,
|
||||
instance.detect_invalid_subscription,
|
||||
instance.reject_reply_exclude_followers,
|
||||
instance.reject_friend,
|
||||
instance.block_trends,
|
||||
]
|
||||
content << [instance.domain, instance.severity, instance.reject_media, instance.reject_reports, instance.public_comment, instance.obfuscate]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,93 +0,0 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Admin
|
||||
class FriendServersController < BaseController
|
||||
before_action :set_friend, except: [:index, :new, :create]
|
||||
before_action :warn_signatures_not_enabled!, only: [:new, :edit, :create, :follow, :unfollow, :accept, :reject]
|
||||
|
||||
def index
|
||||
authorize :friend_server, :update?
|
||||
@friends = FriendDomain.all
|
||||
end
|
||||
|
||||
def new
|
||||
authorize :friend_server, :update?
|
||||
@friend = FriendDomain.new
|
||||
end
|
||||
|
||||
def edit
|
||||
authorize :friend_server, :update?
|
||||
end
|
||||
|
||||
def create
|
||||
authorize :friend_server, :update?
|
||||
|
||||
@friend = FriendDomain.new(resource_params)
|
||||
|
||||
if @friend.save
|
||||
@friend.follow!
|
||||
redirect_to admin_friend_servers_path
|
||||
else
|
||||
render action: :new
|
||||
end
|
||||
end
|
||||
|
||||
def update
|
||||
authorize :friend_server, :update?
|
||||
|
||||
if @friend.update(update_resource_params)
|
||||
redirect_to admin_friend_servers_path
|
||||
else
|
||||
render action: :edit
|
||||
end
|
||||
end
|
||||
|
||||
def destroy
|
||||
authorize :friend_server, :update?
|
||||
@friend.destroy
|
||||
redirect_to admin_friend_servers_path
|
||||
end
|
||||
|
||||
def follow
|
||||
authorize :friend_server, :update?
|
||||
@friend.follow!
|
||||
render action: :edit
|
||||
end
|
||||
|
||||
def unfollow
|
||||
authorize :friend_server, :update?
|
||||
@friend.unfollow!
|
||||
render action: :edit
|
||||
end
|
||||
|
||||
def accept
|
||||
authorize :friend_server, :update?
|
||||
@friend.accept!
|
||||
render action: :edit
|
||||
end
|
||||
|
||||
def reject
|
||||
authorize :friend_server, :update?
|
||||
@friend.reject!
|
||||
render action: :edit
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_friend
|
||||
@friend = FriendDomain.find(params[:id])
|
||||
end
|
||||
|
||||
def resource_params
|
||||
params.require(:friend_domain).permit(:domain, :inbox_url, :available, :pseudo_relay, :delivery_local, :unlocked, :allow_all_posts)
|
||||
end
|
||||
|
||||
def update_resource_params
|
||||
params.require(:friend_domain).permit(:inbox_url, :available, :pseudo_relay, :delivery_local, :unlocked, :allow_all_posts)
|
||||
end
|
||||
|
||||
def warn_signatures_not_enabled!
|
||||
flash.now[:error] = I18n.t('admin.relays.signatures_not_enabled') if authorized_fetch_mode?
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,24 +0,0 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Admin
|
||||
class NgRuleHistoriesController < BaseController
|
||||
before_action :set_ng_rule
|
||||
before_action :set_histories
|
||||
|
||||
PER_PAGE = 20
|
||||
|
||||
def show
|
||||
authorize :ng_words, :show?
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_ng_rule
|
||||
@ng_rule = ::NgRule.find(params[:id])
|
||||
end
|
||||
|
||||
def set_histories
|
||||
@histories = NgRuleHistory.where(ng_rule_id: params[:id]).order(id: :desc).page(params[:page]).per(PER_PAGE)
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,115 +0,0 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Admin
|
||||
class NgRulesController < BaseController
|
||||
before_action :set_ng_rule, only: [:edit, :update, :destroy, :duplicate]
|
||||
|
||||
def index
|
||||
authorize :ng_words, :show?
|
||||
|
||||
@ng_rules = ::NgRule.order(id: :asc)
|
||||
end
|
||||
|
||||
def new
|
||||
authorize :ng_words, :show?
|
||||
|
||||
@ng_rule = ::NgRule.build
|
||||
end
|
||||
|
||||
def edit
|
||||
authorize :ng_words, :show?
|
||||
end
|
||||
|
||||
def create
|
||||
authorize :ng_words, :create?
|
||||
|
||||
begin
|
||||
test_words!
|
||||
rescue
|
||||
flash[:alert] = I18n.t('admin.ng_rules.test_error')
|
||||
redirect_to new_admin_ng_rule_path
|
||||
return
|
||||
end
|
||||
|
||||
@ng_rule = ::NgRule.build(resource_params)
|
||||
|
||||
if @ng_rule.save
|
||||
redirect_to admin_ng_rules_path
|
||||
else
|
||||
render :new
|
||||
end
|
||||
end
|
||||
|
||||
def update
|
||||
authorize :ng_words, :create?
|
||||
|
||||
begin
|
||||
test_words!
|
||||
rescue
|
||||
flash[:alert] = I18n.t('admin.ng_rules.test_error')
|
||||
redirect_to edit_admin_ng_rule_path(id: @ng_rule.id)
|
||||
return
|
||||
end
|
||||
|
||||
if @ng_rule.update(resource_params)
|
||||
redirect_to admin_ng_rules_path
|
||||
else
|
||||
render :edit
|
||||
end
|
||||
end
|
||||
|
||||
def duplicate
|
||||
authorize :ng_words, :create?
|
||||
|
||||
@ng_rule = @ng_rule.copy!
|
||||
|
||||
flash[:alert] = I18n.t('admin.ng_rules.copy_error') unless @ng_rule.save
|
||||
|
||||
redirect_to admin_ng_rules_path
|
||||
end
|
||||
|
||||
def destroy
|
||||
authorize :ng_words, :create?
|
||||
|
||||
@ng_rule.destroy
|
||||
redirect_to admin_ng_rules_path
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_ng_rule
|
||||
@ng_rule = ::NgRule.find(params[:id])
|
||||
end
|
||||
|
||||
def resource_params
|
||||
params.require(:ng_rule).permit(:title, :expires_in, :available, :account_domain, :account_username, :account_display_name,
|
||||
:account_note, :account_field_name, :account_field_value, :account_avatar_state,
|
||||
:account_header_state, :account_include_local, :status_spoiler_text, :status_text, :status_tag,
|
||||
:status_sensitive_state, :status_cw_state, :status_media_state, :status_poll_state,
|
||||
:status_mention_state, :status_reference_state,
|
||||
:status_quote_state, :status_reply_state, :status_media_threshold, :status_poll_threshold,
|
||||
:status_mention_threshold, :status_allow_follower_mention,
|
||||
:reaction_allow_follower, :emoji_reaction_name, :emoji_reaction_origin_domain,
|
||||
:status_reference_threshold, :account_allow_followed_by_local, :record_history_also_local,
|
||||
status_visibility: [], status_searchability: [], reaction_type: [])
|
||||
end
|
||||
|
||||
def test_words!
|
||||
arr = [
|
||||
resource_params[:account_domain],
|
||||
resource_params[:account_username],
|
||||
resource_params[:account_display_name],
|
||||
resource_params[:account_note],
|
||||
resource_params[:account_field_name],
|
||||
resource_params[:account_field_value],
|
||||
resource_params[:status_spoiler_text],
|
||||
resource_params[:status_text],
|
||||
resource_params[:status_tag],
|
||||
resource_params[:emoji_reaction_name],
|
||||
resource_params[:emoji_reaction_origin_domain],
|
||||
].compact_blank.join("\n")
|
||||
|
||||
Admin::NgRule.extract_test!(arr) if arr.present?
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,30 +0,0 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Admin
|
||||
class NgWords::KeywordsController < NgWordsController
|
||||
def show
|
||||
super
|
||||
@ng_words = ::NgWord.caches.presence || [::NgWord.new]
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def validate
|
||||
begin
|
||||
::NgWord.save_from_raws(settings_params_test)
|
||||
return true
|
||||
rescue
|
||||
flash[:alert] = I18n.t('admin.ng_words.test_error')
|
||||
redirect_to after_update_redirect_path
|
||||
end
|
||||
|
||||
false
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def after_update_redirect_path
|
||||
admin_ng_words_keywords_path
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,11 +0,0 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Admin
|
||||
class NgWords::SettingsController < NgWordsController
|
||||
protected
|
||||
|
||||
def after_update_redirect_path
|
||||
admin_ng_words_settings_path
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,34 +0,0 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Admin
|
||||
class NgWords::WhiteListController < NgWordsController
|
||||
def show
|
||||
super
|
||||
@white_list_domains = SpecifiedDomain.white_list_domain_caches.presence || [SpecifiedDomain.new]
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def validate
|
||||
begin
|
||||
SpecifiedDomain.save_from_raws_as_white_list(settings_params_list)
|
||||
return true
|
||||
rescue
|
||||
flash[:alert] = I18n.t('admin.ng_words.save_error')
|
||||
redirect_to after_update_redirect_path
|
||||
end
|
||||
|
||||
false
|
||||
end
|
||||
|
||||
def after_update_redirect_path
|
||||
admin_ng_words_white_list_path
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def settings_params_list
|
||||
params.require(:form_admin_settings)[:specified_domains]
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,46 +0,0 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Admin
|
||||
class NgWordsController < BaseController
|
||||
def show
|
||||
authorize :ng_words, :show?
|
||||
|
||||
@admin_settings = Form::AdminSettings.new
|
||||
end
|
||||
|
||||
def create
|
||||
authorize :ng_words, :create?
|
||||
|
||||
return unless validate
|
||||
|
||||
@admin_settings = Form::AdminSettings.new(settings_params)
|
||||
|
||||
if @admin_settings.save
|
||||
flash[:notice] = I18n.t('generic.changes_saved_msg')
|
||||
redirect_to after_update_redirect_path
|
||||
else
|
||||
render :show
|
||||
end
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def validate
|
||||
true
|
||||
end
|
||||
|
||||
def after_update_redirect_path
|
||||
admin_ng_words_path
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def settings_params
|
||||
params.require(:form_admin_settings).permit(*Form::AdminSettings::KEYS)
|
||||
end
|
||||
|
||||
def settings_params_test
|
||||
params.require(:form_admin_settings)[:ng_words_test]
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,19 +0,0 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Admin
|
||||
class NgwordHistoriesController < BaseController
|
||||
before_action :set_histories
|
||||
|
||||
PER_PAGE = 20
|
||||
|
||||
def index
|
||||
authorize :ng_words, :show?
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_histories
|
||||
@histories = NgwordHistory.order(id: :desc).page(params[:page]).per(PER_PAGE)
|
||||
end
|
||||
end
|
||||
end
|
|
@ -12,7 +12,7 @@ class Admin::Reports::ActionsController < Admin::BaseController
|
|||
authorize @report, :show?
|
||||
|
||||
case action_from_button
|
||||
when 'delete', 'mark_as_sensitive', 'force_cw'
|
||||
when 'delete', 'mark_as_sensitive'
|
||||
status_batch_action = Admin::StatusBatchAction.new(
|
||||
type: action_from_button,
|
||||
status_ids: @report.status_ids,
|
||||
|
@ -52,8 +52,6 @@ class Admin::Reports::ActionsController < Admin::BaseController
|
|||
'delete'
|
||||
elsif params[:mark_as_sensitive]
|
||||
'mark_as_sensitive'
|
||||
elsif params[:force_cw]
|
||||
'force_cw'
|
||||
elsif params[:silence]
|
||||
'silence'
|
||||
elsif params[:suspend]
|
||||
|
|
|
@ -53,7 +53,7 @@ module Admin
|
|||
end
|
||||
|
||||
def resource_params
|
||||
params.require(:rule).permit(:text, :hint, :priority)
|
||||
params.require(:rule).permit(:text, :priority)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,47 +0,0 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Admin
|
||||
class SensitiveWordsController < BaseController
|
||||
def show
|
||||
authorize :sensitive_words, :show?
|
||||
|
||||
@admin_settings = Form::AdminSettings.new
|
||||
@sensitive_words = ::SensitiveWord.caches.presence || [::SensitiveWord.new]
|
||||
end
|
||||
|
||||
def create
|
||||
authorize :sensitive_words, :create?
|
||||
|
||||
begin
|
||||
::SensitiveWord.save_from_raws(settings_params_test)
|
||||
rescue
|
||||
flash[:alert] = I18n.t('admin.ng_words.test_error')
|
||||
redirect_to after_update_redirect_path
|
||||
return
|
||||
end
|
||||
|
||||
@admin_settings = Form::AdminSettings.new(settings_params)
|
||||
|
||||
if @admin_settings.save
|
||||
flash[:notice] = I18n.t('generic.changes_saved_msg')
|
||||
redirect_to after_update_redirect_path
|
||||
else
|
||||
render :index
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def after_update_redirect_path
|
||||
admin_sensitive_words_path
|
||||
end
|
||||
|
||||
def settings_params
|
||||
params.require(:form_admin_settings).permit(*Form::AdminSettings::KEYS)
|
||||
end
|
||||
|
||||
def settings_params_test
|
||||
params.require(:form_admin_settings)[:sensitive_words_test]
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,18 +1,9 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class Admin::Settings::RegistrationsController < Admin::SettingsController
|
||||
include RegistrationLimitationHelper
|
||||
|
||||
before_action :set_limitation_counts, only: :show # rubocop:disable Rails/LexicallyScopedActionFilter
|
||||
|
||||
private
|
||||
|
||||
def after_update_redirect_path
|
||||
admin_settings_registrations_path
|
||||
end
|
||||
|
||||
def set_limitation_counts
|
||||
@current_users_count = user_count_for_registration
|
||||
@current_users_count_today = today_increase_user_count
|
||||
end
|
||||
end
|
||||
|
|
|
@ -9,7 +9,7 @@ module Admin
|
|||
|
||||
@site_upload.destroy!
|
||||
|
||||
redirect_back fallback_location: admin_settings_path, notice: I18n.t('admin.site_uploads.destroyed_msg')
|
||||
redirect_to admin_settings_path, notice: I18n.t('admin.site_uploads.destroyed_msg')
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
@ -1,34 +0,0 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Admin
|
||||
class SpecialDomainsController < BaseController
|
||||
def show
|
||||
authorize :instance, :show?
|
||||
|
||||
@admin_settings = Form::AdminSettings.new
|
||||
end
|
||||
|
||||
def create
|
||||
authorize :instance, :destroy?
|
||||
|
||||
@admin_settings = Form::AdminSettings.new(settings_params)
|
||||
|
||||
if @admin_settings.save
|
||||
flash[:notice] = I18n.t('generic.changes_saved_msg')
|
||||
redirect_to after_update_redirect_path
|
||||
else
|
||||
render :show
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def after_update_redirect_path
|
||||
admin_special_domains_path
|
||||
end
|
||||
|
||||
def settings_params
|
||||
params.require(:form_admin_settings).permit(*Form::AdminSettings::KEYS)
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,34 +0,0 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Admin
|
||||
class SpecialInstancesController < BaseController
|
||||
def show
|
||||
authorize :instance, :show?
|
||||
|
||||
@admin_settings = Form::AdminSettings.new
|
||||
end
|
||||
|
||||
def create
|
||||
authorize :instance, :destroy?
|
||||
|
||||
@admin_settings = Form::AdminSettings.new(settings_params)
|
||||
|
||||
if @admin_settings.save
|
||||
flash[:notice] = I18n.t('generic.changes_saved_msg')
|
||||
redirect_to after_update_redirect_path
|
||||
else
|
||||
render :show
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def after_update_redirect_path
|
||||
admin_special_instances_path
|
||||
end
|
||||
|
||||
def settings_params
|
||||
params.require(:form_admin_settings).permit(*Form::AdminSettings::KEYS)
|
||||
end
|
||||
end
|
||||
end
|
|
@ -4,7 +4,7 @@ module Admin
|
|||
class StatusesController < BaseController
|
||||
before_action :set_account
|
||||
before_action :set_statuses, except: :show
|
||||
before_action :set_status, only: [:show, :remove_history, :remove_media, :force_sensitive, :force_cw, :remove_status]
|
||||
before_action :set_status, only: :show
|
||||
|
||||
PER_PAGE = 20
|
||||
|
||||
|
@ -29,65 +29,6 @@ module Admin
|
|||
redirect_to after_create_redirect_path
|
||||
end
|
||||
|
||||
def remove_history
|
||||
authorize [:admin, @status], :show?
|
||||
UpdateStatusService.new.call(
|
||||
@status,
|
||||
edit_status_account_id,
|
||||
no_history: true,
|
||||
bypass_validation: true
|
||||
)
|
||||
log_action(:remove_history, @status)
|
||||
redirect_to admin_account_status_path
|
||||
end
|
||||
|
||||
def remove_media
|
||||
authorize [:admin, @status], :show?
|
||||
UpdateStatusService.new.call(
|
||||
@status,
|
||||
edit_status_account_id,
|
||||
media_ids: [],
|
||||
media_attributes: [],
|
||||
bypass_validation: true
|
||||
)
|
||||
log_action(:remove_media, @status)
|
||||
redirect_to admin_account_status_path
|
||||
end
|
||||
|
||||
def force_sensitive
|
||||
authorize [:admin, @status], :show?
|
||||
UpdateStatusService.new.call(
|
||||
@status,
|
||||
edit_status_account_id,
|
||||
sensitive: true,
|
||||
bypass_validation: true
|
||||
)
|
||||
log_action(:force_sensitive, @status)
|
||||
redirect_to admin_account_status_path
|
||||
end
|
||||
|
||||
def force_cw
|
||||
authorize [:admin, @status], :show?
|
||||
UpdateStatusService.new.call(
|
||||
@status,
|
||||
edit_status_account_id,
|
||||
spoiler_text: 'CW',
|
||||
bypass_validation: true
|
||||
)
|
||||
log_action(:force_cw, @status)
|
||||
redirect_to admin_account_status_path
|
||||
end
|
||||
|
||||
def remove_status
|
||||
authorize [:admin, @status], :show?
|
||||
@status.discard_with_reblogs
|
||||
StatusPin.find_by(status: @status)&.destroy
|
||||
@status.account.statuses_count = @status.account.statuses_count - 1
|
||||
RemovalWorker.perform_async(@status.id, { 'redraft' => false })
|
||||
log_action(:remove_status, @status)
|
||||
redirect_to admin_account_path
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def batched_ordered_status_edits
|
||||
|
@ -121,13 +62,6 @@ module Admin
|
|||
@statuses = Admin::StatusFilter.new(@account, filter_params).results.preload(:application, :preloadable_poll, :media_attachments, active_mentions: :account, reblog: [:account, :application, :preloadable_poll, :media_attachments, active_mentions: :account]).page(params[:page]).per(PER_PAGE)
|
||||
end
|
||||
|
||||
def edit_status_account_id
|
||||
return @edit_account_id || @account.id if @edit_account_checked
|
||||
|
||||
@edit_account_checked = true
|
||||
@edit_account_id = Account.representative.id
|
||||
end
|
||||
|
||||
def filter_params
|
||||
params.slice(*Admin::StatusFilter::KEYS).permit(*Admin::StatusFilter::KEYS)
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue