- def manage_account
- # repositories current user can read / write
- repo_links = []
- Link.filter([['head_uuid', 'is_a', 'arvados#repository'],
- ['tail_uuid', '=', current_user.uuid],
- ['link_class', '=', 'permission'],
- ['name', 'in', ['can_write', 'can_read']],
- ]).
- each do |perm_link|
- repo_links << perm_link[:head_uuid]
- end
- @my_repositories = Repository.where(uuid: repo_links)
+ def repositories
+ repo_links = Link.
+ filter([['head_uuid', 'is_a', 'arvados#repository'],
+ ['tail_uuid', '=', current_user.uuid],
+ ['link_class', '=', 'permission'],
+ ])
+
+ owned_repositories = Repository.where(owner_uuid: @object.uuid)
+
+ @my_repositories = (Repository.where(uuid: repo_links.collect(&:head_uuid)) |
+ owned_repositories).
+ uniq { |repo| repo.uuid }