* Add customizable user roles * Various fixes and improvements * Add migration for old settings and fix tootctl role management
		
			
				
	
	
		
			68 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| # frozen_string_literal: true
 | |
| 
 | |
| class AccountPolicy < ApplicationPolicy
 | |
|   def index?
 | |
|     role.can?(:manage_users)
 | |
|   end
 | |
| 
 | |
|   def show?
 | |
|     role.can?(:manage_users)
 | |
|   end
 | |
| 
 | |
|   def warn?
 | |
|     role.can?(:manage_users, :manage_reports) && role.overrides?(record.user_role)
 | |
|   end
 | |
| 
 | |
|   def suspend?
 | |
|     role.can?(:manage_users, :manage_reports) && role.overrides?(record.user_role) && !record.instance_actor?
 | |
|   end
 | |
| 
 | |
|   def destroy?
 | |
|     record.suspended_temporarily? && role.can?(:delete_user_data)
 | |
|   end
 | |
| 
 | |
|   def unsuspend?
 | |
|     role.can?(:manage_users) && record.suspension_origin_local?
 | |
|   end
 | |
| 
 | |
|   def sensitive?
 | |
|     role.can?(:manage_users, :manage_reports) && role.overrides?(record.user_role)
 | |
|   end
 | |
| 
 | |
|   def unsensitive?
 | |
|     role.can?(:manage_users)
 | |
|   end
 | |
| 
 | |
|   def silence?
 | |
|     role.can?(:manage_users, :manage_reports) && role.overrides?(record.user_role)
 | |
|   end
 | |
| 
 | |
|   def unsilence?
 | |
|     role.can?(:manage_users)
 | |
|   end
 | |
| 
 | |
|   def redownload?
 | |
|     role.can?(:manage_federation)
 | |
|   end
 | |
| 
 | |
|   def remove_avatar?
 | |
|     role.can?(:manage_users, :manage_reports) && role.overrides?(record.user_role)
 | |
|   end
 | |
| 
 | |
|   def remove_header?
 | |
|     role.can?(:manage_users, :manage_reports) && role.overrides?(record.user_role)
 | |
|   end
 | |
| 
 | |
|   def memorialize?
 | |
|     role.can?(:delete_user_data) && role.overrides?(record.user_role) && !record.instance_actor?
 | |
|   end
 | |
| 
 | |
|   def unblock_email?
 | |
|     role.can?(:manage_users)
 | |
|   end
 | |
| 
 | |
|   def review?
 | |
|     role.can?(:manage_taxonomies)
 | |
|   end
 | |
| end
 |