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
def resource_params
params.require(:migration).permit(:acct)
end
+
+ def migration_account_changed?
+ current_account.moved_to_account_id != @migration.account&.id
+ end
end
attr_accessor :acct, :account
- validates :acct, presence: true
-
def initialize(attrs = {})
@account = attrs[:account]
@acct = attrs[:account].acct unless @account.nil?
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
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: