Skip to content
Snippets Groups Projects
admin_navigation.rb 3.51 KiB
Newer Older
Arnaud Levy's avatar
Arnaud Levy committed
SimpleNavigation::Configuration.run do |navigation|
  navigation.renderer = ::Appstack::SimpleNavigationRenderer
  navigation.auto_highlight = true
Arnaud Levy's avatar
Arnaud Levy committed
  navigation.highlight_on_subpath = true
Arnaud Levy's avatar
Arnaud Levy committed
  navigation.selected_class = 'active'
Arnaud Levy's avatar
Arnaud Levy committed
  navigation.items do |primary|
Arnaud Levy's avatar
Arnaud Levy committed
    primary.item :dashboard, t('admin.dashboard'), admin_root_path, { icon: 'tachometer-alt', highlights_on: /admin$/ }
Arnaud Levy's avatar
Arnaud Levy committed

Sébastien Gaya's avatar
Sébastien Gaya committed
    if can?(:read, User) || can?(:read, University::Person)
      primary.item :university, University.model_name.human, nil, { kind: :header }
      primary.item :university, University::Person.model_name.human(count: 2), admin_university_people_path, { icon: 'users-cog' }
    end

Sébastien Gaya's avatar
Sébastien Gaya committed
    if can?(:read, Education::Program)
      primary.item :education, Education.model_name.human, nil, { kind: :header }
Sébastien Gaya's avatar
Sébastien Gaya committed
      primary.item :education, t('education.teachers', count: 2), admin_education_teachers_path, { icon: 'user-graduate' } if can?(:read, University::Person)
Arnaud Levy's avatar
Arnaud Levy committed
      primary.item :education, Education::School.model_name.human(count: 2), admin_education_schools_path, { icon: 'university' } if can?(:read, Education::School)
Sébastien Gaya's avatar
Sébastien Gaya committed
      primary.item :education_programs, Education::Program.model_name.human(count: 2), admin_education_programs_path, { icon: 'graduation-cap' } if can?(:read, Education::Program)
      primary.item :education, 'Ressources éducatives', nil, { icon: 'laptop' }
      primary.item :education, 'Feedbacks', nil, { icon: 'comments' }
    end
Arnaud Levy's avatar
Arnaud Levy committed

Sébastien Gaya's avatar
Sébastien Gaya committed
    if can?(:read, Research::Journal) || can?(:read, Research::Laboratory)
Sébastien Gaya's avatar
Sébastien Gaya committed
      primary.item :research, Research.model_name.human, nil, { kind: :header }
Sébastien Gaya's avatar
Sébastien Gaya committed
      primary.item :research_researchers, t('research.researchers', count: 2), admin_research_researchers_path(journal_id: nil), { icon: 'microscope' } if can?(:read, University::Person)
Sébastien Gaya's avatar
Sébastien Gaya committed
      primary.item :research_laboratories, Research::Laboratory.model_name.human(count: 2), admin_research_laboratories_path, { icon: 'flask' } if can?(:read, Research::Laboratory)
Sébastien Gaya's avatar
Sébastien Gaya committed
      primary.item :research_theses, Research::Thesis.model_name.human(count: 2), admin_research_theses_path, { icon: 'scroll' } if can?(:read, Research::Thesis)
Sébastien Gaya's avatar
Sébastien Gaya committed
      primary.item :research, 'Veille', nil, { icon: 'eye' }
      primary.item :research_journals, Research::Journal.model_name.human(count: 2), admin_research_journals_path, { icon: 'newspaper' } if can?(:read, Research::Journal)
    end
Arnaud Levy's avatar
Arnaud Levy committed

Sébastien Gaya's avatar
Sébastien Gaya committed
    if can?(:read, Communication::Website)
      primary.item :communication, 'Communication', nil, { kind: :header }
      primary.item :communication_websites, 'Sites Web', admin_communication_websites_path, { icon: 'sitemap' } if can?(:read, Communication::Website)
      primary.item :communication, 'Lettres d\'information', nil, { icon: 'envelope' }
      primary.item :communication, 'Alumni', nil, { icon: 'users' }
    end
Arnaud Levy's avatar
Arnaud Levy committed

Sébastien Gaya's avatar
Sébastien Gaya committed
    if can?(:read, Administration::Qualiopi::Criterion)
Sébastien Gaya's avatar
Sébastien Gaya committed
      primary.item :administration, 'Administration', nil, { kind: :header }
      primary.item :administration, 'Campus', nil, { icon: 'map-marker-alt' }
      primary.item :administration, 'Admissions', nil, { icon: 'door-open' }
      primary.item :administration, 'Statistiques', nil, { icon: 'cog' }
      primary.item :administration_qualiopi, 'Qualité', admin_administration_qualiopi_criterions_path, { icon: 'tasks' } if can?(:read, Administration::Qualiopi::Criterion)
    end
pabois's avatar
pabois committed

    if can?(:read, User)
      primary.item :administration, 'Osuny', nil, { kind: :header }
      primary.item :administration_users, User.model_name.human(count: 2), admin_users_path, { icon: 'user' } if can?(:read, User)
    end
Arnaud Levy's avatar
Arnaud Levy committed
  end
end