diff --git a/app/models/user.rb b/app/models/user.rb index db3837ecdf2f41968a3a5263b775ce72c4252a12..fa6f336f6b5350b79518296ba0c3c0f0b44603f6 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -350,12 +350,15 @@ class User < ActiveRecord::Base def ghost unique_internal(where(ghost: true), 'ghost', 'ghost%s@example.com') do |u| u.bio = 'This is a "Ghost User", created to hold all issues authored by users that have since been deleted. This user cannot be removed.' - u.state = :blocked u.name = 'Ghost User' end end end + def internal? + ghost? + end + # # Instance methods # diff --git a/app/policies/global_policy.rb b/app/policies/global_policy.rb index 3c2fbe6b56baa58386384ef32b957684a5a203ec..a1946584dd0a8ef1430a9aa1acaf4cb6f519fecd 100644 --- a/app/policies/global_policy.rb +++ b/app/policies/global_policy.rb @@ -4,5 +4,11 @@ class GlobalPolicy < BasePolicy can! :create_group if @user.can_create_group can! :read_users_list + + unless @user.blocked? || @user.internal? + can! :log_in + can! :access_api + can! :access_git + end end end