diff --git a/app/helpers/hera/ce_helper.rb b/app/helpers/hera/ce_helper.rb
new file mode 100644
index 000000000..4790d78a8
--- /dev/null
+++ b/app/helpers/hera/ce_helper.rb
@@ -0,0 +1,75 @@
+module Hera::CEHelper
+ def body_css
+ classes = [controller_path.gsub('/', '-'), action_name]
+ classes << content_for(:body_class) if content_for?(:body_class)
+ classes.compact.join(' ')
+ end
+
+ def colored_icon_for_model(model, icon_class, extra_class = nil)
+ css = ['fa-solid']
+ css << icon_class
+ css << extra_class if extra_class
+
+ options = { class: css.join(' ') }
+ tag = nil
+
+ case model
+ when Evidence
+ tag = model.issue.tags.first
+ when Issue
+ tag = model.tags.first
+ end
+
+ if tag
+ options[:style] = "color: #{tag.color}"
+ else
+ options[:style] = 'color: #222'
+ end
+
+ content_tag :i, nil, options
+ end
+
+ def css_class_for_node(node)
+ classes = []
+ classes << 'hasSubmenu' if node.children_count > 0
+ classes << 'active' if node == @node
+ classes << 'in' if @node && @node.parent_id == node.id
+ classes.join(' ')
+ end
+
+ def css_class_for_sub_nodes(node)
+ controller_name == 'nodes' && @node && (@node.parent_id == node.id || @node.id == node.id) ? 'in' : ''
+ end
+
+ def flash_messages
+ flash.select { |key, _| FlashHelper::ALERT_TYPES.keys.include?(key) }.collect do |name, msg|
+ flash_attrs = flash_attrs(msg, name)
+
+ content_tag :div, class: flash_attrs[:flash_css] do
+ [
+ button_tag(class: 'btn-close', data: flash_attrs[:data_attrs]) do
+ 'Close alert'.html_safe
+ end,
+ h(msg)
+ ].join("\n").html_safe
+ end
+ end.join("\n").html_safe
+ end
+
+ def navbar_brand
+ link_to main_app.project_path(current_project), class: 'navbar-brand' do
+ image_tag 'logo_small.png', alt: 'Dradis CE logo', class: 'p-lg-0'
+ end
+ end
+
+ def page_title
+ [content_for(:title), 'Dradis Community Edition'].compact.join(' | ')
+ end
+
+ def present(object, klass = nil)
+ klass ||= "#{object.class}Presenter".constantize
+ presenter = klass.new(object, self)
+ yield presenter if block_given?
+ presenter
+ end
+end
diff --git a/app/helpers/hera_helper.rb b/app/helpers/hera_helper.rb
index 70b69fe0b..2c86e760d 100644
--- a/app/helpers/hera_helper.rb
+++ b/app/helpers/hera_helper.rb
@@ -1,81 +1,3 @@
module HeraHelper
- def body_css
- classes = [controller_path.gsub('/', '-'), action_name]
- classes << content_for(:body_class) if content_for?(:body_class)
- classes.compact.join(' ')
- end
-
- def colored_icon_for_model(model, icon_class, extra_class = nil)
- css = ['fa-solid']
- css << icon_class
- css << extra_class if extra_class
-
- options = { class: css.join(' ') }
- tag = nil
-
- case model
- when Evidence
- tag = model.issue.tags.first
- when Issue
- tag = model.tags.first
- end
-
- if tag
- options[:style] = "color: #{tag.color}"
- else
- options[:style] = 'color: #222'
- end
-
- content_tag :i, nil, options
- end
-
- def css_class_for_node(node)
- classes = []
- classes << 'hasSubmenu' if node.children_count > 0
- classes << 'active' if node == @node
- classes << 'in' if @node && @node.parent_id == node.id
- classes.join(' ')
- end
-
- def css_class_for_sub_nodes(node)
- controller_name == 'nodes' && @node && (@node.parent_id == node.id || @node.id == node.id) ? 'in' : ''
- end
-
- def flash_messages
- flash.select { |key, _| FlashHelper::ALERT_TYPES.keys.include?(key) }.collect do |name, msg|
- flash_attrs = flash_attrs(msg, name)
-
- content_tag :div, class: flash_attrs[:flash_css] do
- [
- button_tag(class: 'btn-close', data: flash_attrs[:data_attrs]) do
- 'Close alert'.html_safe
- end,
- h(msg)
- ].join("\n").html_safe
- end
- end.join("\n").html_safe
- end
-
- def navbar_brand
- if !defined?(Dradis::Pro)
- link_to main_app.project_path(current_project), class: 'navbar-brand' do
- image_tag 'logo_small.png', alt: 'Dradis CE logo', class: 'p-lg-0'
- end
- else
- link_to current_user.role?(:contributor) ? main_app.contributors_home_path : main_app.dashboard_path, class: 'navbar-brand' do
- image_tag 'logo_small.png', alt: 'Dradis Pro logo', class: 'p-lg-0'
- end
- end
- end
-
- def page_title
- [content_for(:title), "Dradis #{defined?(Dradis::Pro) ? 'Professional' : 'Community' } Edition"].compact.join(' | ')
- end
-
- def present(object, klass = nil)
- klass ||= "#{object.class}Presenter".constantize
- presenter = klass.new(object, self)
- yield presenter if block_given?
- presenter
- end
+ include Hera::CEHelper
end