Add moderator role and add pundit policies for admin actions (#5635)
* Add moderator role and add pundit policies for admin actions * Add rake task for turning user into mod and revoking it again * Fix handling of unauthorized exception * Deliver new report e-mails to staff, not just admins * Add promote/demote to admin UI, hide some actions conditionally * Fix unused i18n
This commit is contained in:
		
							
								
								
									
										25
									
								
								app/controllers/admin/roles_controller.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								app/controllers/admin/roles_controller.rb
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,25 @@
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Admin
 | 
			
		||||
  class RolesController < BaseController
 | 
			
		||||
    before_action :set_user
 | 
			
		||||
 | 
			
		||||
    def promote
 | 
			
		||||
      authorize @user, :promote?
 | 
			
		||||
      @user.promote!
 | 
			
		||||
      redirect_to admin_account_path(@user.account_id)
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def demote
 | 
			
		||||
      authorize @user, :demote?
 | 
			
		||||
      @user.demote!
 | 
			
		||||
      redirect_to admin_account_path(@user.account_id)
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    private
 | 
			
		||||
 | 
			
		||||
    def set_user
 | 
			
		||||
      @user = Account.find(params[:account_id]).user || raise(ActiveRecord::RecordNotFound)
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
		Reference in New Issue
	
	Block a user