Refactored auto-approve code to make it more readable

This commit is contained in:
Christoph Haas 2018-08-17 17:07:42 +02:00
parent 9428d8d7dd
commit 228b7375e7
2 changed files with 17 additions and 3 deletions

View file

@ -50,6 +50,21 @@ class User < ApplicationRecord
self.provider == nil
end
# Do uploads from this user get approved automatically?
def auto_approve?
# Admins do not need moderation
return true if current_user.is_admin?
# Debian developers do not need moderation
return true if current_user.provider == 'debian-sso'
# After one successfully approved screenshot users do not need moderation
return true if current_user.approved_screenshots.count > 0
# Any other user's upload must be moderated
return false
end
def self.from_omniauth(auth)
where(provider: auth.provider, email: auth.info.email).first_or_create do |user|
user.provider = auth.provider