Class: NotePolicy
- Inherits:
-
BasePolicy
- Object
- DeclarativePolicy::Base
- BasePolicy
- NotePolicy
- Includes:
- Gitlab::Utils::StrongMemoize
- Defined in:
- app/policies/note_policy.rb
Instance Method Summary collapse
Instance Method Details
#access_level ⇒ Object
89 90 91 92 93 94 |
# File 'app/policies/note_policy.rb', line 89 def access_level return -1 if @user.nil? return -1 unless parent_namespace lookup_access_level! end |
#lookup_access_level! ⇒ Object
96 97 98 99 100 101 102 103 104 |
# File 'app/policies/note_policy.rb', line 96 def lookup_access_level! return ::Gitlab::Access::REPORTER if alert_bot? if parent_namespace.is_a?(Project) parent_namespace.team.max_member_access(@user.id) else parent_namespace.max_member_access_for_user(@user) end end |
#parent_namespace ⇒ Object
80 81 82 83 84 85 86 87 |
# File 'app/policies/note_policy.rb', line 80 def parent_namespace strong_memoize(:parent_namespace) do next if @subject.is_a?(PersonalSnippet) next @subject.noteable.group if @subject.noteable.is_a?(Epic) @subject.project end end |