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
							
								
									5f51992e16
								
							
						
					
					
						commit
						35e3791ba4
					
				
					 3 changed files with 10 additions and 10 deletions
				
			
		| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue