diff options
Diffstat (limited to 'app/workers/update_highest_role_worker.rb')
-rw-r--r-- | app/workers/update_highest_role_worker.rb | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/app/workers/update_highest_role_worker.rb b/app/workers/update_highest_role_worker.rb index e62131a77d0..1e2c974b6e5 100644 --- a/app/workers/update_highest_role_worker.rb +++ b/app/workers/update_highest_role_worker.rb @@ -11,9 +11,15 @@ class UpdateHighestRoleWorker # rubocop: disable CodeReuse/ActiveRecord def perform(user_id) - user = User.active.find_by(id: user_id) + user = User.find_by(id: user_id) - Users::UpdateHighestMemberRoleService.new(user).execute if user.present? + return unless user.present? + + if user.active? && user.user_type.nil? && !user.internal? + Users::UpdateHighestMemberRoleService.new(user).execute + else + UserHighestRole.where(user_id: user_id).delete_all + end end # rubocop: enable CodeReuse/ActiveRecord end |