Commit 0447c731ba392641145ac53cb8c50fab5392cda7

Authored by Dmitriy Zaporozhets
2 parents c2280985 41f88f46

Merge pull request #4161 from Undev/fix-#4109

Fix bug with team assignation on project from #4109
lib/gitlab/user_team_manager.rb
@@ -99,8 +99,8 @@ module Gitlab @@ -99,8 +99,8 @@ module Gitlab
99 99
100 teams ||= project.user_teams.with_member(user) 100 teams ||= project.user_teams.with_member(user)
101 101
102 - if action && (action == :added) && (teams.count == 1)  
103 - result_access ||= project.users_project.with_user(user).first.project_access 102 + if action && (action == :added)
  103 + result_access = project.users_projects.with_user(user).first.project_access if project.users_projects.with_user(user).any?
104 end 104 end
105 105
106 if teams.any? 106 if teams.any?
spec/lib/gitlab/user_team_manager_spec.rb 0 → 100644
@@ -0,0 +1,28 @@ @@ -0,0 +1,28 @@
  1 +require 'spec_helper'
  2 +
  3 +describe Gitlab::UserTeamManager do
  4 + before do
  5 + @user = create :user
  6 + @project = create :project, creator: @user
  7 +
  8 + @master = create :user
  9 + @developer = create :user
  10 + @reporter = create :user
  11 +
  12 + @project.team << [@master, :master]
  13 + @project.team << [@developer, :developer]
  14 + @project.team << [@reporter, :reporter]
  15 +
  16 + @team = create :user_team, owner: @user
  17 +
  18 + @team.add_members([@master.id, @developer.id, @reporter.id], UsersProject::DEVELOPER, false)
  19 + end
  20 +
  21 + it "should assign team to project with correct permissions result" do
  22 + @team.assign_to_project(@project, UsersProject::MASTER)
  23 +
  24 + @project.users_projects.find_by_user_id(@master).project_access.should == UsersProject::MASTER
  25 + @project.users_projects.find_by_user_id(@developer).project_access.should == UsersProject::DEVELOPER
  26 + @project.users_projects.find_by_user_id(@reporter).project_access.should == UsersProject::DEVELOPER
  27 + end
  28 +end