FEATURE: add setting auto_approve_email_domains to auto approve users (#9323)

* FEATURE: add setting `auto_approve_email_domains` to auto approve users

This commit adds a new site setting `auto_approve_email_domains` to
auto approve users based on their email address domain.

Note that if a domain already exists in `email_domains_whitelist` then
`auto_approve_email_domains` needs to be duplicated there as well,
since users won’t be able to register with email address that is
not allowed in `email_domains_whitelist`.

* Update config/locales/server.en.yml

Co-Authored-By: Robin Ward <robin.ward@gmail.com>
This commit is contained in:
Arpit Jalan
2020-03-31 23:59:15 +05:30
committed by GitHub
parent 0e3fa4072f
commit b2a0d34bb7
8 changed files with 65 additions and 5 deletions

View File

@ -447,8 +447,11 @@ class UsersController < ApplicationController
user ||= User.new
user.attributes = new_user_params
# Handle API approval
ReviewableUser.set_approved_fields!(user, current_user) if user.approved?
# Handle API approval and
# auto approve users based on auto_approve_email_domains setting
if user.approved? || EmailValidator.can_auto_approve_user?(user.email)
ReviewableUser.set_approved_fields!(user, current_user)
end
# Handle custom fields
user_fields = UserField.all