X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/81f6ebc139c29723b62fc0f5e6d0588dfb85897b..f05771f1bbaa93afbda43820af483727f4a2df3a:/services/api/app/models/user.rb diff --git a/services/api/app/models/user.rb b/services/api/app/models/user.rb index 6e7facd5d5..3b201b5bab 100644 --- a/services/api/app/models/user.rb +++ b/services/api/app/models/user.rb @@ -29,6 +29,7 @@ class User < ArvadosModel t.add :is_admin t.add :is_invited t.add :prefs + t.add :writable_by end ALL_PERMISSIONS = {read: true, write: true, manage: true} @@ -233,8 +234,10 @@ 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 + if not self.uuid.end_with?('anonymouspublic') and + User.where("uuid not like '%-000000000000000'").where(:is_admin => true).count == 0 + if (Rails.configuration.auto_admin_user and self.email == Rails.configuration.auto_admin_user) or + Rails.configuration.auto_admin_first_user self.is_admin = true self.is_active = true end @@ -450,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