diff --git a/app/permissions/project.rb b/app/permissions/project.rb index 579a434ea..e7bb62e53 100644 --- a/app/permissions/project.rb +++ b/app/permissions/project.rb @@ -1,13 +1,15 @@ Canaid::Permissions.register_for(Project) do - # project: view, view reports, view activities, view comments, view users, - # view samples, view archive, view notifications + # project: read, read activities, read comments, read users, read archive, + # read notifications + # reports: read + # samples: read can :read_project do |user, project| user.is_member_of_project?(project) || user.is_admin_of_team?(project.team) || (project.visible? && user.is_member_of_team?(project.team)) end - # project: update, delete, archive, add users, update users, delete users + # project: update/delete/archive, assign/reassign/unassign users can :manage_project do |user, project| user.is_owner_of_project?(project) end @@ -32,14 +34,14 @@ Canaid::Permissions.register_for(Project) do user.is_technician_or_higher_of_project?(project) end - # project: create tag, update tag, delete tag - # module: create tag, update tag, delete tag + # project: create/update/delete tag + # module: assign/reassign/unassign tag can :create_or_manage_tags do |user, project| user.is_user_or_higher_of_project?(project) end - # project: create report, update report, delete report - can :create_or_manage_reports do |user, project| # preimenuj + # reports: create/delete + can :create_or_manage_reports do |user, project| user.is_technician_or_higher_of_project?(project) end @@ -57,7 +59,7 @@ Canaid::Permissions.register_for(Project) do end Canaid::Permissions.register_for(Comment) do - # project: update comment, delete comment + # project: update/delete comment can :manage_comment_in_project do |user, comment| comment.project.present? && (comment.user == user || user.is_owner_of_project?(project))