end
end
- # It's not always possible to know the user's username when submitting
- # this request. If it included a plain repository name, expand that to a
- # user-owned name now.
+ # It's not always possible for the client to know the user's
+ # username when submitting this request: the username might have
+ # been assigned automatically in create!() above. If client
+ # provided a plain repository name, prefix it with the username
+ # now that we know what it is.
if params[:repo_name].nil?
full_repo_name = nil
+ elsif @object.username.nil?
+ raise ArgumentError.
+ new("cannot setup a repository because user has no username")
+ elsif params[:repo_name].include?("/")
+ full_repo_name = params[:repo_name]
else
full_repo_name = "#{@object.username}/#{params[:repo_name]}"
end
+
if object_found
- if params[:repo_name].andand.include?("/")
- repo_name = params[:repo_name]
- elsif @object.username.nil?
- raise ArgumentError.
- new("can't setup a user without a username with a repository")
- else
- repo_name = full_repo_name
- end
- @response = @object.setup_repo_vm_links repo_name,
+ @response = @object.setup_repo_vm_links full_repo_name,
params[:vm_uuid], params[:openid_prefix]
else
@response = User.setup @object, params[:openid_prefix],