blob: 81bb5d6289e1791e9558baa3dc220504622c5ee9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# frozen_string_literal: true
module Namespaces
class GroupProjectNamespaceSharedPolicy < ::NamespacePolicy
# As we move policies from ProjectPolicy to ProjectNamespacePolicy,
# anything common with GroupPolicy but not with UserNamespacePolicy can go in here.
# See https://gitlab.com/groups/gitlab-org/-/epics/6689
condition(:timelog_categories_enabled, score: 0, scope: :subject) do
Feature.enabled?(:timelog_categories, @subject)
end
rule { ~timelog_categories_enabled }.policy do
prevent :read_timelog_category
end
rule { can?(:reporter_access) }.policy do
enable :read_timelog_category
end
rule { can?(:guest_access) }.policy do
enable :create_work_item
enable :read_work_item
enable :read_issue
enable :read_note
enable :read_namespace
enable :read_namespace_via_membership
end
rule { can?(:create_work_item) }.enable :create_task
end
end
Namespaces::GroupProjectNamespaceSharedPolicy.prepend_mod
|