50 lines
799 B
Ruby
50 lines
799 B
Ruby
|
class Team
|
||
|
attr_accessor :project
|
||
|
|
||
|
def initialize(project)
|
||
|
@project = project
|
||
|
@roles = UsersProject.roles_hash
|
||
|
end
|
||
|
|
||
|
def add_user(user, access)
|
||
|
add_users_ids([user.id], access)
|
||
|
end
|
||
|
|
||
|
def add_users(users, access)
|
||
|
add_users_ids(users.map(&:id), access)
|
||
|
end
|
||
|
|
||
|
def add_users_ids(users_ids, access)
|
||
|
UsersProject.add_users_into_projects(
|
||
|
[project.id],
|
||
|
user_ids,
|
||
|
access
|
||
|
)
|
||
|
end
|
||
|
|
||
|
# Remove all users from project team
|
||
|
def truncate
|
||
|
UsersProject.truncate_team(project)
|
||
|
end
|
||
|
|
||
|
def members
|
||
|
project.users_projects
|
||
|
end
|
||
|
|
||
|
def guests
|
||
|
members.guests.map(&:user)
|
||
|
end
|
||
|
|
||
|
def reporters
|
||
|
members.reporters.map(&:user)
|
||
|
end
|
||
|
|
||
|
def developers
|
||
|
members.developers.map(&:user)
|
||
|
end
|
||
|
|
||
|
def masters
|
||
|
members.masters.map(&:user)
|
||
|
end
|
||
|
end
|