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
|