Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/app/roles
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dzaporozhets@sphereconsultinginc.com>2012-07-31 09:32:49 +0400
committerDmitriy Zaporozhets <dzaporozhets@sphereconsultinginc.com>2012-07-31 09:32:49 +0400
commit5926bbac12d5831e1ad90964272b96e152a72e34 (patch)
treee222160f8f35e7dd772dbd124eef089592efc9c2 /app/roles
parent69e41250d1b1eea609ae63f2702d5888396cba9a (diff)
Backend Refactoring
Diffstat (limited to 'app/roles')
-rw-r--r--app/roles/team.rb29
1 files changed, 29 insertions, 0 deletions
diff --git a/app/roles/team.rb b/app/roles/team.rb
index 2a477b6edba..bf3a67027d2 100644
--- a/app/roles/team.rb
+++ b/app/roles/team.rb
@@ -4,7 +4,36 @@ module Team
users_projects.find_by_user_id(user.id) if user
end
+ # Get Team Member record by user id
def team_member_by_id(user_id)
users_projects.find_by_user_id(user_id)
end
+
+ # Add user to project
+ # with passed access role
+ def add_user_to_team(user, access_role)
+ add_user_id_to_team(user.id, access_role)
+ end
+
+ # Add multiple users to project
+ # with same access role
+ def add_users_to_team(users, access_role)
+ add_users_ids_to_team(users.map(&:id), access_role)
+ end
+
+ # Add user to project
+ # with passed access role by user id
+ def add_user_id_to_team(user_id, access_role)
+ users_projects.create(
+ :user_id => user_id,
+ :project_access => access_role
+ )
+ end
+
+ # Add multiple users to project
+ # with same access role by user ids
+ def add_users_ids_to_team(users_ids, access_role)
+ UsersProject.bulk_import(self, users_ids, access_role)
+ self.update_repository
+ end
end