Fix account migration feature (#5837)
* Make removable account migration * Fix error during update of account migration setting * Add notice when update account migration setting
This commit is contained in:
parent
d937a59997
commit
1b57d4dd3a
|
@ -12,13 +12,10 @@ class Settings::MigrationsController < ApplicationController
|
||||||
def update
|
def update
|
||||||
@migration = Form::Migration.new(resource_params)
|
@migration = Form::Migration.new(resource_params)
|
||||||
|
|
||||||
if @migration.valid?
|
if @migration.valid? && migration_account_changed?
|
||||||
if current_account.moved_to_account_id != @migration.account&.id
|
|
||||||
current_account.update!(moved_to_account: @migration.account)
|
current_account.update!(moved_to_account: @migration.account)
|
||||||
ActivityPub::UpdateDistributionWorker.perform_async(@account.id)
|
ActivityPub::UpdateDistributionWorker.perform_async(current_account.id)
|
||||||
end
|
redirect_to settings_migration_path, notice: I18n.t('migrations.updated_msg')
|
||||||
|
|
||||||
redirect_to settings_migration_path
|
|
||||||
else
|
else
|
||||||
render :show
|
render :show
|
||||||
end
|
end
|
||||||
|
@ -29,4 +26,8 @@ class Settings::MigrationsController < ApplicationController
|
||||||
def resource_params
|
def resource_params
|
||||||
params.require(:migration).permit(:acct)
|
params.require(:migration).permit(:acct)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def migration_account_changed?
|
||||||
|
current_account.moved_to_account_id != @migration.account&.id
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -5,8 +5,6 @@ class Form::Migration
|
||||||
|
|
||||||
attr_accessor :acct, :account
|
attr_accessor :acct, :account
|
||||||
|
|
||||||
validates :acct, presence: true
|
|
||||||
|
|
||||||
def initialize(attrs = {})
|
def initialize(attrs = {})
|
||||||
@account = attrs[:account]
|
@account = attrs[:account]
|
||||||
@acct = attrs[:account].acct unless @account.nil?
|
@acct = attrs[:account].acct unless @account.nil?
|
||||||
|
@ -22,6 +20,6 @@ class Form::Migration
|
||||||
private
|
private
|
||||||
|
|
||||||
def set_account
|
def set_account
|
||||||
self.account = ResolveRemoteAccountService.new.call(acct) if account.nil? && acct.present?
|
self.account = (ResolveRemoteAccountService.new.call(acct) if account.nil? && acct.present?)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -460,6 +460,7 @@ en:
|
||||||
acct: username@domain of the new account
|
acct: username@domain of the new account
|
||||||
currently_redirecting: 'Your profile is set to redirect to:'
|
currently_redirecting: 'Your profile is set to redirect to:'
|
||||||
proceed: Save
|
proceed: Save
|
||||||
|
updated_msg: Your account migration setting successfully updated!
|
||||||
moderation:
|
moderation:
|
||||||
title: Moderation
|
title: Moderation
|
||||||
notification_mailer:
|
notification_mailer:
|
||||||
|
|
Reference in New Issue