debian-mirror-gitlab/app/policies/namespaces/group_project_namespace_shared_policy.rb
2023-06-20 00:43:36 +05:30

32 lines
948 B
Ruby

# 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_namespace
end
rule { can?(:create_work_item) }.enable :create_task
end
end
Namespaces::GroupProjectNamespaceSharedPolicy.prepend_mod