X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/a6010696b246cc43c721a35d56179c629d54e798..8b90f80efca772efd2697ffc70d7809c32564171:/services/api/app/controllers/arvados/v1/repositories_controller.rb diff --git a/services/api/app/controllers/arvados/v1/repositories_controller.rb b/services/api/app/controllers/arvados/v1/repositories_controller.rb index 94c172da32..b5123d97e3 100644 --- a/services/api/app/controllers/arvados/v1/repositories_controller.rb +++ b/services/api/app/controllers/arvados/v1/repositories_controller.rb @@ -18,7 +18,9 @@ class Arvados::V1::RepositoriesController < ApplicationController if ArvadosModel::resource_class_for_uuid(perm.tail_uuid) == Group @users.each do |user_uuid, user| user.group_permissions.each do |group_uuid, perm_mask| - if perm_mask[:write] + if perm_mask[:manage] + perms << {name: 'can_manage', user_uuid: user_uuid} + elsif perm_mask[:write] perms << {name: 'can_write', user_uuid: user_uuid} elsif perm_mask[:read] perms << {name: 'can_read', user_uuid: user_uuid} @@ -57,7 +59,11 @@ class Arvados::V1::RepositoriesController < ApplicationController end @repo_info.values.each do |repo_users| repo_users[:user_permissions].each do |user_uuid,perms| - if perms['can_write'] + if perms['can_manage'] + perms[:gitolite_permissions] = 'RW' + perms['can_write'] = true + perms['can_read'] = true + elsif perms['can_write'] perms[:gitolite_permissions] = 'RW' perms['can_read'] = true elsif perms['can_read'] @@ -65,10 +71,8 @@ class Arvados::V1::RepositoriesController < ApplicationController end end end - render json: { - kind: 'arvados#RepositoryPermissionSnapshot', - repositories: @repo_info.values, - user_keys: @user_aks - } + send_json(kind: 'arvados#RepositoryPermissionSnapshot', + repositories: @repo_info.values, + user_keys: @user_aks) end end