Add moderation warnings (#9519)
* Add moderation warnings Replace individual routes for disabling, silencing, and suspending a user, as well as the report update route, with a unified account action controller that allows you to select an action (none, disable, silence, suspend) as well as whether it should generate an e-mail notification with optional custom text. That notification, with the optional custom text, is saved as a warning. Additionally, there are warning presets you can configure to save time when performing the above. * Use Account#local_username_and_domain
This commit is contained in:
		
					parent
					
						
							
								00862dcaff
							
						
					
				
			
			
				commit
				
					
						3c033c4352
					
				
			
		
					 72 changed files with 685 additions and 539 deletions
				
			
		
							
								
								
									
										36
									
								
								app/controllers/admin/account_actions_controller.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								app/controllers/admin/account_actions_controller.rb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,36 @@ | |||
| # frozen_string_literal: true | ||||
| 
 | ||||
| module Admin | ||||
|   class AccountActionsController < BaseController | ||||
|     before_action :set_account | ||||
| 
 | ||||
|     def new | ||||
|       @account_action  = Admin::AccountAction.new(type: params[:type], report_id: params[:report_id], send_email_notification: true) | ||||
|       @warning_presets = AccountWarningPreset.all | ||||
|     end | ||||
| 
 | ||||
|     def create | ||||
|       account_action                 = Admin::AccountAction.new(resource_params) | ||||
|       account_action.target_account  = @account | ||||
|       account_action.current_account = current_account | ||||
| 
 | ||||
|       account_action.save! | ||||
| 
 | ||||
|       if account_action.with_report? | ||||
|         redirect_to admin_report_path(account_action.report) | ||||
|       else | ||||
|         redirect_to admin_account_path(@account.id) | ||||
|       end | ||||
|     end | ||||
| 
 | ||||
|     private | ||||
| 
 | ||||
|     def set_account | ||||
|       @account = Account.find(params[:account_id]) | ||||
|     end | ||||
| 
 | ||||
|     def resource_params | ||||
|       params.require(:admin_account_action).permit(:type, :report_id, :warning_preset_id, :text, :send_email_notification) | ||||
|     end | ||||
|   end | ||||
| end | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue