mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2024-09-21 07:26:15 +08:00
refactor create project permission
This commit is contained in:
parent
72023c7dfe
commit
29f9414839
|
@ -12,6 +12,7 @@ class ProjectsController < ApplicationController
|
||||||
:samples, :experiment_archive,
|
:samples, :experiment_archive,
|
||||||
:samples_index]
|
:samples_index]
|
||||||
before_action :check_view_notifications_permissions, only: [ :notifications ]
|
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_edit_permissions, only: [ :edit ]
|
||||||
before_action :check_experiment_archive_permissions,
|
before_action :check_experiment_archive_permissions,
|
||||||
only: [:experiment_archive]
|
only: [:experiment_archive]
|
||||||
|
@ -322,6 +323,10 @@ class ProjectsController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def check_create_permissions
|
||||||
|
render_403 unless can_create_project?(current_team)
|
||||||
|
end
|
||||||
|
|
||||||
def check_view_notifications_permissions
|
def check_view_notifications_permissions
|
||||||
unless can_view_project_notifications(@project)
|
unless can_view_project_notifications(@project)
|
||||||
render_403
|
render_403
|
||||||
|
|
|
@ -255,9 +255,9 @@ module PermissionHelper
|
||||||
# is_member_of_team(team)
|
# is_member_of_team(team)
|
||||||
# end
|
# end
|
||||||
|
|
||||||
def can_create_project(team)
|
# def can_create_project(team)
|
||||||
is_normal_user_or_admin_of_team(team)
|
# is_normal_user_or_admin_of_team(team)
|
||||||
end
|
# end
|
||||||
|
|
||||||
# User can view project if he's assigned onto it, or if
|
# 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
|
# a project is public/visible, and user is a member of that team
|
||||||
|
|
|
@ -14,6 +14,11 @@ Canaid::Permissions.register_for(Team) do
|
||||||
user.is_admin_of_team?(team)
|
user.is_admin_of_team?(team)
|
||||||
end
|
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
|
# create protocol in repository, import protocol to repository
|
||||||
can :create_protocol do |user, team|
|
can :create_protocol do |user, team|
|
||||||
user.is_normal_user_or_admin_of_team?(team)
|
user.is_normal_user_or_admin_of_team?(team)
|
||||||
|
|
Loading…
Reference in a new issue