REpostiry, Team models
This commit is contained in:
parent
e6c0673ef1
commit
39ba934c0a
31 changed files with 329 additions and 315 deletions
49
app/models/team.rb
Normal file
49
app/models/team.rb
Normal file
|
@ -0,0 +1,49 @@
|
|||
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
|
Loading…
Add table
Add a link
Reference in a new issue