['tail_uuid', '=', current_user.uuid],
['link_class', '=', 'permission'],
])
- @my_repositories = Repository.where uuid: repo_links.collect(&:head_uuid)
+
+ @my_repositories = (Repository.where(uuid: repo_links.collect(&:head_uuid)) |
+ Repository.where(owner_uuid: current_user.uuid)).
+ uniq { |repo| repo.uuid }
+
+ owned_repositories = Repository.where(owner_uuid: current_user.uuid).collect(&:uuid)
+
@repo_writable = {}
repo_links.each do |link|
if link.name.in? ['can_write', 'can_manage']
end
end
+ owned_repositories.each do |repo|
+ @repo_writable[repo] = 'can_manage'
+ end
+
# virtual machines the current user can login into
@my_vm_logins = {}
Link.where(tail_uuid: current_user.uuid,
assert_includes editables, false, "should have a readonly repository"
end
+ test "show repositories lists linked as well as owned repositories" do
+ get :manage_account, {}, session_for(:active)
+ assert_response :success
+ repos = assigns(:my_repositories)
+ assert repos
+ repo_writables = assigns(:repo_writable)
+ assert_not_empty repo_writables, "repo_writables should not be empty"
+ assert_includes repo_writables, api_fixture('repositories')['repository4']['uuid'] # writable by active
+ assert_includes repo_writables, api_fixture('repositories')['repository2']['uuid'] # owned by active
+ end
+
test "request shell access" do
user = api_fixture('users')['spectator']