Fix account migration feature (#5837)

* Make removable account migration

* Fix error during update of account migration setting

* Add notice when update account migration setting
main
nullkal 2017-11-28 22:31:23 +09:00 committed by Eugen Rochko
parent d937a59997
commit 1b57d4dd3a
3 changed files with 10 additions and 10 deletions

View File

@ -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(current_account.id)
ActivityPub::UpdateDistributionWorker.perform_async(@account.id) redirect_to settings_migration_path, notice: I18n.t('migrations.updated_msg')
end
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

View File

@ -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

View File

@ -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: