2017-11-27 18:24:41 +08:00
|
|
|
Canaid::Permissions.register_for(Team) do
|
2017-12-04 23:45:23 +08:00
|
|
|
# view projects, view protocols
|
2017-11-27 18:24:41 +08:00
|
|
|
can :read_team do |user, team|
|
|
|
|
user.is_member_of_team?(team)
|
|
|
|
end
|
2017-11-28 22:41:52 +08:00
|
|
|
|
2017-12-04 18:12:35 +08:00
|
|
|
# edit team name, edit team description
|
|
|
|
can :update_team do |user, team|
|
|
|
|
user.is_admin_of_team?(team)
|
|
|
|
end
|
|
|
|
|
2017-11-28 22:41:52 +08:00
|
|
|
# invite user to team
|
|
|
|
can :create_user_team do |user, team|
|
|
|
|
user.is_admin_of_team?(team)
|
|
|
|
end
|
2017-12-04 20:07:23 +08:00
|
|
|
|
|
|
|
# create protocol in repository, import protocol to repository
|
|
|
|
can :create_protocol do |user, team|
|
|
|
|
user.is_normal_user_or_admin_of_team?(team)
|
|
|
|
end
|
2017-12-04 23:45:23 +08:00
|
|
|
|
|
|
|
# create sample, import sample
|
|
|
|
can :create_sample do |user, team|
|
|
|
|
user.is_normal_user_or_admin_of_team?(team)
|
|
|
|
end
|
2017-11-28 22:41:52 +08:00
|
|
|
end
|
|
|
|
|
|
|
|
Canaid::Permissions.register_for(UserTeam) do
|
|
|
|
# change user's role, remove user from team, leave team
|
|
|
|
can :update_or_delete_user_team do |user, user_team|
|
|
|
|
user == user_team.user || user.is_admin_of_team?(user_team.team)
|
|
|
|
end
|
2017-11-27 18:24:41 +08:00
|
|
|
end
|