diff options
Diffstat (limited to 'app/helpers/projects/issues')
-rw-r--r-- | app/helpers/projects/issues/service_desk_helper.rb | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/app/helpers/projects/issues/service_desk_helper.rb b/app/helpers/projects/issues/service_desk_helper.rb new file mode 100644 index 00000000000..0f87e5ed837 --- /dev/null +++ b/app/helpers/projects/issues/service_desk_helper.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +module Projects::Issues::ServiceDeskHelper + def service_desk_meta(project) + empty_state_meta = { + is_service_desk_supported: Gitlab::ServiceDesk.supported?, + is_service_desk_enabled: project.service_desk_enabled?, + can_edit_project_settings: can?(current_user, :admin_project, project) + } + + if Gitlab::ServiceDesk.supported? + empty_state_meta.merge(supported_meta(project)) + else + empty_state_meta.merge(unsupported_meta(project)) + end + end + + private + + def supported_meta(project) + { + service_desk_address: project.service_desk_address, + service_desk_help_page: help_page_path('user/project/service_desk'), + edit_project_page: edit_project_path(project), + svg_path: image_path('illustrations/service_desk_empty.svg') + } + end + + def unsupported_meta(project) + { + incoming_email_help_page: help_page_path('administration/incoming_email', anchor: 'set-it-up'), + svg_path: image_path('illustrations/service-desk-setup.svg') + } + end +end |