-
- # setup user
- setup_repo_vm_links(username,
- Rails.configuration.auto_setup_new_users_with_vm_uuid,
- Rails.configuration.default_openid_prefix)
- end
-
- # Find a username that starts with the given string and does not collide
- # with any existing repository name or VM login name
- def derive_unique_username username
- while true
- if Repository.where(name: username).empty?
- login_collisions = Link.where(link_class: 'permission',
- name: 'can_login').select do |perm|
- perm.properties['username'] == username
- end
- return username if login_collisions.empty?
- end
- username = username + SecureRandom.random_number(10).to_s
- end