Fix account migration feature (#5837)

* Make removable account migration

* Fix error during update of account migration setting

* Add notice when update account migration setting
remotes/1727458204337373841/tmp_refs/heads/signup-info-prompt
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
@migration = Form::Migration.new(resource_params)
if @migration.valid?
if current_account.moved_to_account_id != @migration.account&.id
current_account.update!(moved_to_account: @migration.account)
ActivityPub::UpdateDistributionWorker.perform_async(@account.id)
end
redirect_to settings_migration_path
if @migration.valid? && migration_account_changed?
current_account.update!(moved_to_account: @migration.account)
ActivityPub::UpdateDistributionWorker.perform_async(current_account.id)
redirect_to settings_migration_path, notice: I18n.t('migrations.updated_msg')
else
render :show
end
@ -29,4 +26,8 @@ class Settings::MigrationsController < ApplicationController
def resource_params
params.require(:migration).permit(:acct)
end
def migration_account_changed?
current_account.moved_to_account_id != @migration.account&.id
end
end

View File

@ -5,8 +5,6 @@ class Form::Migration
attr_accessor :acct, :account
validates :acct, presence: true
def initialize(attrs = {})
@account = attrs[:account]
@acct = attrs[:account].acct unless @account.nil?
@ -22,6 +20,6 @@ class Form::Migration
private
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

View File

@ -460,6 +460,7 @@ en:
acct: username@domain of the new account
currently_redirecting: 'Your profile is set to redirect to:'
proceed: Save
updated_msg: Your account migration setting successfully updated!
moderation:
title: Moderation
notification_mailer: