diff options
author | Javier Castro <javier.alejandro.castro@gmail.com> | 2014-03-04 15:09:33 -0300 |
---|---|---|
committer | Javier Castro <javier.alejandro.castro@gmail.com> | 2014-03-04 15:09:33 -0300 |
commit | b61f80babb10d0583d3199d557b4e8234d981a33 (patch) | |
tree | 747f124631f6547103bd30d4b48586382b91ae89 /lib/api/projects.rb | |
parent | 556ae5ae8187b89a3785219d5621e7ebc9bb7a8c (diff) | |
parent | fbbd989770ea48d472a5c4d7d95b970542279099 (diff) | |
download | gitlab-ce-b61f80babb10d0583d3199d557b4e8234d981a33.tar.gz |
Merge remote-tracking branch 'upstream/master' into fix-4305
Diffstat (limited to 'lib/api/projects.rb')
-rw-r--r-- | lib/api/projects.rb | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/lib/api/projects.rb b/lib/api/projects.rb index 66e0d1ba3ef..bcca69ff49a 100644 --- a/lib/api/projects.rb +++ b/lib/api/projects.rb @@ -11,7 +11,7 @@ module API end not_found! end - + def map_public_to_visibility_level(attrs) publik = attrs.delete(:public) publik = [ true, 1, '1', 't', 'T', 'true', 'TRUE', 'on', 'ON' ].include?(publik) @@ -102,7 +102,7 @@ module API :visibility_level, :import_url] attrs = map_public_to_visibility_level(attrs) - @project = ::Projects::CreateContext.new(current_user, attrs).execute + @project = ::Projects::CreateService.new(current_user, attrs).execute if @project.saved? present @project, with: Entities::Project else @@ -143,7 +143,7 @@ module API :public, :visibility_level] attrs = map_public_to_visibility_level(attrs) - @project = ::Projects::CreateContext.new(user, attrs).execute + @project = ::Projects::CreateService.new(user, attrs).execute if @project.saved? present @project, with: Entities::Project else @@ -266,7 +266,7 @@ module API authorize! :admin_project, user_project required_attributes! [:access_level] - team_member = user_project.users_projects.find_by_user_id(params[:user_id]) + team_member = user_project.users_projects.find_by(user_id: params[:user_id]) not_found!("User can not be found") if team_member.nil? if team_member.update_attributes(project_access: params[:access_level]) @@ -286,7 +286,7 @@ module API # DELETE /projects/:id/members/:user_id delete ":id/members/:user_id" do authorize! :admin_project, user_project - team_member = user_project.users_projects.find_by_user_id(params[:user_id]) + team_member = user_project.users_projects.find_by(user_id: params[:user_id]) unless team_member.nil? team_member.destroy else @@ -308,6 +308,18 @@ module API projects = Project.where("(id in (?) OR visibility_level in (?)) AND (name LIKE (?))", ids, visibility_levels, "%#{params[:query]}%") present paginate(projects), with: Entities::Project end + + + # Get a users list + # + # Example Request: + # GET /users + get ':id/users' do + @users = User.where(id: user_project.team.users.map(&:id)) + @users = @users.search(params[:search]) if params[:search].present? + @users = paginate @users + present @users, with: Entities::User + end end end end |