diff .svn/pristine/85/85f72634b1fa7115c56cde5496c8d210d2e64d32.svn-base @ 1298:4f746d8966dd redmine_2.3_integration

Merge from redmine-2.3 branch to create new branch redmine-2.3-integration
author Chris Cannam
date Fri, 14 Jun 2013 09:28:30 +0100
parents 622f24f53b42
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.svn/pristine/85/85f72634b1fa7115c56cde5496c8d210d2e64d32.svn-base	Fri Jun 14 09:28:30 2013 +0100
@@ -0,0 +1,36 @@
+api.user do
+  api.id         @user.id
+  api.login      @user.login if User.current.admin? || (User.current == @user)
+  api.firstname  @user.firstname
+  api.lastname   @user.lastname
+  api.mail       @user.mail if User.current.admin? || !@user.pref.hide_mail
+  api.created_on @user.created_on
+  api.last_login_on @user.last_login_on
+  api.api_key    @user.api_key if User.current.admin? || (User.current == @user)
+
+  render_api_custom_values @user.visible_custom_field_values, api
+
+  api.array :groups do |groups|
+    @user.groups.each do |group|
+      api.group :id => group.id, :name => group.name
+    end
+  end if User.current.admin? && include_in_api_response?('groups')
+
+  api.array :memberships do
+    @memberships.each do |membership|
+      api.membership do
+        api.id membership.id
+        api.project :id => membership.project.id, :name => membership.project.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 if membership.project
+    end
+  end if include_in_api_response?('memberships') && @memberships
+end