REpostiry, Team models
This commit is contained in:
parent
e6c0673ef1
commit
39ba934c0a
31 changed files with 329 additions and 315 deletions
|
@ -42,7 +42,21 @@ class UsersProject < ActiveRecord::Base
|
|||
scope :in_project, ->(project) { where(project_id: project.id) }
|
||||
|
||||
class << self
|
||||
def add_users_into_projects(project_ids, user_ids, project_access)
|
||||
|
||||
# Add users to project teams with passed access option
|
||||
#
|
||||
# access can be an integer representing a access code
|
||||
# or symbol like :master representing role
|
||||
#
|
||||
def add_users_into_projects(project_ids, user_ids, access)
|
||||
project_access = if @roles.has_key?(access)
|
||||
@roles[access]
|
||||
elsif @roles.values.include?(access)
|
||||
access
|
||||
else
|
||||
raise "Non valid access"
|
||||
end
|
||||
|
||||
UsersProject.transaction do
|
||||
project_ids.each do |project_id|
|
||||
user_ids.each do |user_id|
|
||||
|
@ -141,6 +155,15 @@ class UsersProject < ActiveRecord::Base
|
|||
add_users_into_projects(project_ids, [user.id], project_access)
|
||||
end
|
||||
|
||||
def roles_hash
|
||||
{
|
||||
guest: GUEST,
|
||||
reporter: REPORTER,
|
||||
developer: DEVELOPER,
|
||||
master: MASTER
|
||||
}
|
||||
end
|
||||
|
||||
def access_roles
|
||||
{
|
||||
"Guest" => GUEST,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue