diff options
Diffstat (limited to 'app/policies/board_policy.rb')
-rw-r--r-- | app/policies/board_policy.rb | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/app/policies/board_policy.rb b/app/policies/board_policy.rb new file mode 100644 index 00000000000..46db008421f --- /dev/null +++ b/app/policies/board_policy.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +class BoardPolicy < BasePolicy + delegate { @subject.parent } + + condition(:is_group_board) { @subject.group_board? } + + rule { is_group_board ? can?(:read_group) : can?(:read_project) }.enable :read_parent + + rule { is_group_board & can?(:read_group) }.policy do + enable :read_milestone + enable :read_issue + end +end |