diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2012-02-06 09:47:10 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2012-02-06 09:47:10 +0000 |
commit | c5665276b7a465f29230341f8800af4f77b3c141 (patch) | |
tree | 63789c1cb348d3a95bfe3a11dd4852809191202e /app/views/members | |
parent | 942651ecdfd860b9da68254b2a7d0919dc8151d2 (diff) | |
download | redmine-c5665276b7a465f29230341f8800af4f77b3c141.tar.gz redmine-c5665276b7a465f29230341f8800af4f77b3c141.zip |
REST API for project memberships (#7420).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8798 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/views/members')
-rw-r--r-- | app/views/members/index.api.rsb | 18 | ||||
-rw-r--r-- | app/views/members/show.api.rsb | 14 |
2 files changed, 32 insertions, 0 deletions
diff --git a/app/views/members/index.api.rsb b/app/views/members/index.api.rsb new file mode 100644 index 000000000..dd591ea7c --- /dev/null +++ b/app/views/members/index.api.rsb @@ -0,0 +1,18 @@ +api.array :memberships, api_meta(:total_count => @member_count, :offset => @offset, :limit => @limit) do + @members.each do |membership| + api.membership do + api.id membership.id + api.project :id => membership.project.id, :name => membership.project.name + api.__send__ membership.principal.class.name.underscore, :id => membership.principal.id, :name => membership.principal.name + api.array :roles do + membership.member_roles.each do |member_role| + if member_role.role + attrs = {:id => member_role.role.id, :name => member_role.role.name} + attrs.merge!(:inherited => true) if member_role.inherited_from.present? + api.role attrs + end + end + end + end + end +end diff --git a/app/views/members/show.api.rsb b/app/views/members/show.api.rsb new file mode 100644 index 000000000..55def9eab --- /dev/null +++ b/app/views/members/show.api.rsb @@ -0,0 +1,14 @@ +api.membership do + api.id @member.id + api.project :id => @member.project.id, :name => @member.project.name + api.__send__ @member.principal.class.name.underscore, :id => @member.principal.id, :name => @member.principal.name + api.array :roles do + @member.member_roles.each do |member_role| + if member_role.role + attrs = {:id => member_role.role.id, :name => member_role.role.name} + attrs.merge!(:inherited => true) if member_role.inherited_from.present? + api.role attrs + end + end + end +end |