require 'rails_admin'
require 'rails_admin/i18n_support'
RailsAdmin::ApplicationHelper.class_eval do
include RailsAdmin::I18nSupport
def main_navigation
nodes_stack = RailsAdmin::Config.visible_models(:controller => self.controller)
nodes_stack.group_by(&:navigation_label).map do |navigation_label, nodes|
li_stack = nodes.select { |n| n.parent.nil? || !n.parent.to_s.in?(nodes_stack.map { |c| c.abstract_model.model_name }) }.map do |node|
%{
<li data-model="#{node.abstract_model.to_param}">
<a class="pjax" href="#{url_for(:action => :index, :controller => 'rails_admin/main', :model_name => node.abstract_model.to_param)}">#{node.label_plural}</a>
</li>
#{navigation(nodes_stack, nodes_stack.select { |n| n.parent.to_s == node.abstract_model.model_name }, 1)}
}.html_safe
end.join.html_safe
li_stack +=%{<li data-model="extra-nav">
<a class="pjax" href="/import">Import</a>
</li>}.html_safe
if li_stack.present?
li_stack = %{<li class='nav-header'>Kamil#{navigation_label || t('admin.misc.navigation')}</li>}.html_safe + li_stack
end
li_stack
end.join.html_safe
end
end