Welcome to mirror list, hosted at ThFree Co, Russian Federation.

web_hooks_helper.rb « web_hooks « helpers « app - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: ad792f761f82e1e9e989035b9a739804f4656732 (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 WebHooks
  module WebHooksHelper
    def show_project_hook_failed_callout?(project:)
      return false if project_hook_page?

      show_hook_failed_callout?(project)
    end

    private

    def show_hook_failed_callout?(object)
      return false unless current_user

      return false unless can_access_web_hooks?(object)

      # Assumes include of Users::CalloutsHelper
      return false if web_hook_disabled_dismissed?(object)

      object.fetch_web_hook_failure
    end

    def project_hook_page?
      current_controller?('projects/hooks') || current_controller?('projects/hook_logs')
    end

    def can_access_web_hooks?(object)
      Ability.allowed?(current_user, :admin_project, object)
    end
  end
end

WebHooks::WebHooksHelper.prepend_mod