X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/69e4d608045afea775b77d1f41afddf0bdfcf5c6..7b9112dbc270ea338fee756f583bb76870f2e391:/services/api/app/models/user.rb diff --git a/services/api/app/models/user.rb b/services/api/app/models/user.rb index ecd50ccdc4..b939d07bf0 100644 --- a/services/api/app/models/user.rb +++ b/services/api/app/models/user.rb @@ -234,11 +234,13 @@ class User < ArvadosModel end def check_auto_admin - if User.where("uuid not like '%-000000000000000'").where(:is_admin => true).count == 0 and Rails.configuration.auto_admin_user - if self.email == Rails.configuration.auto_admin_user - self.is_admin = true - self.is_active = true - end + return if self.uuid.end_with?('anonymouspublic') + if (User.where("email = ?",self.email).where(:is_admin => true).count == 0 and + Rails.configuration.auto_admin_user and self.email == Rails.configuration.auto_admin_user) or + (User.where("uuid not like '%-000000000000000'").where(:is_admin => true).count == 0 and + Rails.configuration.auto_admin_first_user) + self.is_admin = true + self.is_active = true end end @@ -451,6 +453,8 @@ class User < ArvadosModel def auto_setup_new_user return true if !Rails.configuration.auto_setup_new_users return true if !self.email + return true if self.uuid == system_user_uuid + return true if self.uuid == anonymous_user_uuid if Rails.configuration.auto_setup_new_users_with_vm_uuid || Rails.configuration.auto_setup_new_users_with_repository