summaryrefslogtreecommitdiff
path: root/app/helpers/projects/issues/service_desk_helper.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/helpers/projects/issues/service_desk_helper.rb')
-rw-r--r--app/helpers/projects/issues/service_desk_helper.rb35
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