Feature #31521 ยป user_api.patch
| app/helpers/users_helper.rb | ||
|---|---|---|
| 88 | 88 |
end |
| 89 | 89 |
end |
| 90 | 90 |
end |
| 91 | ||
| 92 |
def render_api_user_includes(user, api, memberships = nil) |
|
| 93 |
api.array :groups do |groups| |
|
| 94 |
user.groups.each do |group| |
|
| 95 |
api.group :id => group.id, :name => group.name |
|
| 96 |
end |
|
| 97 |
end if User.current.admin? && include_in_api_response?('groups')
|
|
| 98 | ||
| 99 |
api.array :memberships do |
|
| 100 |
memberships.each do |membership| |
|
| 101 |
api.membership do |
|
| 102 |
api.id membership.id |
|
| 103 |
api.project :id => membership.project.id, :name => membership.project.name |
|
| 104 |
api.array :roles do |
|
| 105 |
membership.member_roles.each do |member_role| |
|
| 106 |
if member_role.role |
|
| 107 |
attrs = {:id => member_role.role.id, :name => member_role.role.name}
|
|
| 108 |
attrs.merge!(:inherited => true) if member_role.inherited_from.present? |
|
| 109 |
api.role attrs |
|
| 110 |
end |
|
| 111 |
end |
|
| 112 |
end |
|
| 113 |
end if membership.project |
|
| 114 |
end |
|
| 115 |
end if include_in_api_response?('memberships') && memberships
|
|
| 116 |
end |
|
| 91 | 117 |
end |
| app/views/users/index.api.rsb | ||
|---|---|---|
| 11 | 11 |
api.last_login_on user.last_login_on |
| 12 | 12 | |
| 13 | 13 |
render_api_custom_values user.visible_custom_field_values, api |
| 14 |
render_api_user_includes(user, api) |
|
| 14 | 15 |
end |
| 15 | 16 |
end |
| 16 | 17 |
end |
| app/views/users/show.api.rsb | ||
|---|---|---|
| 11 | 11 |
api.status @user.status if User.current.admin? |
| 12 | 12 | |
| 13 | 13 |
render_api_custom_values @user.visible_custom_field_values, api |
| 14 | ||
| 15 |
api.array :groups do |groups| |
|
| 16 |
@user.groups.each do |group| |
|
| 17 |
api.group :id => group.id, :name => group.name |
|
| 18 |
end |
|
| 19 |
end if User.current.admin? && include_in_api_response?('groups')
|
|
| 20 | ||
| 21 |
api.array :memberships do |
|
| 22 |
@memberships.each do |membership| |
|
| 23 |
api.membership do |
|
| 24 |
api.id membership.id |
|
| 25 |
api.project :id => membership.project.id, :name => membership.project.name |
|
| 26 |
api.array :roles do |
|
| 27 |
membership.member_roles.each do |member_role| |
|
| 28 |
if member_role.role |
|
| 29 |
attrs = {:id => member_role.role.id, :name => member_role.role.name}
|
|
| 30 |
attrs.merge!(:inherited => true) if member_role.inherited_from.present? |
|
| 31 |
api.role attrs |
|
| 32 |
end |
|
| 33 |
end |
|
| 34 |
end |
|
| 35 |
end if membership.project |
|
| 36 |
end |
|
| 37 |
end if include_in_api_response?('memberships') && @memberships
|
|
| 14 |
render_api_user_includes(@user, api, @memberships) |
|
| 38 | 15 |
end |