DEV: add transaction and active check to invalidate job

DEV: add transaction and active check to invalidate job

Follows up on 3b76f196684a8 this per @tgxworld a transaction makes sense here

Very minor

Follows up on 3b76f196684a8 this per @tgxworld a transaction makes sense here

Very minor


diff --git a/app/jobs/scheduled/invalidate_inactive_admins.rb b/app/jobs/scheduled/invalidate_inactive_admins.rb
index 208a627..12f788a 100644
--- a/app/jobs/scheduled/invalidate_inactive_admins.rb
+++ b/app/jobs/scheduled/invalidate_inactive_admins.rb
@@ -8,15 +8,18 @@ module Jobs
 
       User.human_users
         .where(admin: true)
+        .where(active: true)
         .where('last_seen_at < ?', SiteSetting.invalidate_inactive_admin_email_after_days.days.ago)
         .each do |user|
 
-        user.deactivate
-        user.email_tokens.update_all(confirmed: false, expired: true)
+        User.transaction do
+          user.deactivate
+          user.email_tokens.update_all(confirmed: false, expired: true)
 
-        Discourse.authenticators.each do |authenticator|
-          if authenticator.can_revoke? && authenticator.description_for_user(user).present?
-            authenticator.revoke(user)
+          Discourse.authenticators.each do |authenticator|
+            if authenticator.can_revoke? && authenticator.description_for_user(user).present?
+              authenticator.revoke(user)
+            end
           end
         end
       end

GitHub

2 Likes