Fix user email address being banned on self-deletion (#16503)
* Add tests * Fix user email address being banned on self-deletion Fixes #16498
This commit is contained in:
		
							parent
							
								
									83d7f4785f
								
							
						
					
					
						commit
						1e452a10b8
					
				
					 3 changed files with 7 additions and 3 deletions
				
			
		|  | @ -42,7 +42,7 @@ class Settings::DeletesController < Settings::BaseController | |||
|   end | ||||
| 
 | ||||
|   def destroy_account! | ||||
|     current_account.suspend!(origin: :local) | ||||
|     current_account.suspend!(origin: :local, block_email: false) | ||||
|     AccountDeletionWorker.perform_async(current_user.account_id) | ||||
|     sign_out | ||||
|   end | ||||
|  |  | |||
|  | @ -232,11 +232,11 @@ class Account < ApplicationRecord | |||
|     suspended? && deletion_request.present? | ||||
|   end | ||||
| 
 | ||||
|   def suspend!(date: Time.now.utc, origin: :local) | ||||
|   def suspend!(date: Time.now.utc, origin: :local, block_email: true) | ||||
|     transaction do | ||||
|       create_deletion_request! | ||||
|       update!(suspended_at: date, suspension_origin: origin) | ||||
|       create_canonical_email_block! | ||||
|       create_canonical_email_block! if block_email | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|  |  | |||
|  | @ -59,6 +59,10 @@ describe Settings::DeletesController do | |||
|           expect(user.account.reload).to be_suspended | ||||
|         end | ||||
| 
 | ||||
|         it 'does not create an email block' do | ||||
|           expect(CanonicalEmailBlock.block?(user.email)).to be false | ||||
|         end | ||||
| 
 | ||||
|         context 'when suspended' do | ||||
|           let(:user) { Fabricate(:user, account_attributes: { username: 'alice', suspended_at: Time.now.utc }) } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue