refactor create project permission

This commit is contained in:
mlorb 2017-12-07 17:08:41 +01:00
parent 72023c7dfe
commit 29f9414839
3 changed files with 13 additions and 3 deletions

View file

@ -12,6 +12,7 @@ class ProjectsController < ApplicationController
:samples, :experiment_archive,
:samples_index]
before_action :check_view_notifications_permissions, only: [ :notifications ]
before_action :check_create_permissions, only: [ :new, :create ]
before_action :check_edit_permissions, only: [ :edit ]
before_action :check_experiment_archive_permissions,
only: [:experiment_archive]
@ -322,6 +323,10 @@ class ProjectsController < ApplicationController
end
end
def check_create_permissions
render_403 unless can_create_project?(current_team)
end
def check_view_notifications_permissions
unless can_view_project_notifications(@project)
render_403

View file

@ -255,9 +255,9 @@ module PermissionHelper
# is_member_of_team(team)
# end
def can_create_project(team)
is_normal_user_or_admin_of_team(team)
end
# def can_create_project(team)
# is_normal_user_or_admin_of_team(team)
# end
# User can view project if he's assigned onto it, or if
# a project is public/visible, and user is a member of that team

View file

@ -14,6 +14,11 @@ Canaid::Permissions.register_for(Team) do
user.is_admin_of_team?(team)
end
# create project
can :create_project do |user, team|
user.is_normal_user_or_admin_of_team?(team)
end
# create protocol in repository, import protocol to repository
can :create_protocol do |user, team|
user.is_normal_user_or_admin_of_team?(team)