diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 72de1284..ef6981ab 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -17,7 +17,7 @@ def build_navigation return unless user_signed_in? @admin_nav = [ - { :name => t('nav.user.admin.upload-session'), :path => new_session_path }, + { :name => t('nav.user.admin.upload-session'), :path => new_session_path, :organizer => true }, { :name => t('nav.user.admin.create-season'), :path => new_season_path }, { :name => t('nav.user.admin.import-tracks'), :path => new_track_path }, { :name => t('nav.user.admin.import-cars'), :path => new_car_path }, @@ -26,9 +26,9 @@ def build_navigation { :name => t('nav.user.admin.import-users'), :path => users_new_path } ] @nav = [ - { :name => t('nav.user.admin.title'), :path => '', :sub => @admin_nav, :admin => true }, - { :name => t('nav.user.my-profile'), :path => user_path(current_user.username) }, - { :name => t('nav.user.settings'), :path => main_app.edit_user_registration_path } + { :name => t('nav.user.admin.title'), :path => '', :sub => @admin_nav, :organizer => true }, + { :name => t('nav.user.my-profile'), :path => user_path(current_user.username), :user => true }, + { :name => t('nav.user.settings'), :path => main_app.edit_user_registration_path, :user => true } ] end @@ -46,19 +46,26 @@ def nav_link(item) def render_navigation(item) if item[:sub] - return if item[:admin] && !user_is_admin? - - subs = item[:sub].map { |sub| render_navigation(sub) }.compact - %( - - ).html_safe + subs = item[:sub].map do |sub| + if sub[:user] || user_is_admin? || ((sub[:organizer] && user_is_organizer?) || (sub[:mod] && user_is_mod?)) + render_navigation(sub) + end + end + + if item[:user] || user_is_admin? || ((item[:organizer] && user_is_organizer?) || (item[:mod] && user_is_mod?)) + %( + + ).html_safe + end else - %(
  • #{nav_link(item)}
  • ).html_safe + if item[:user] || user_is_admin? || ((item[:organizer] && user_is_organizer?) || (item[:mod] && user_is_mod?)) + %(
  • #{nav_link(item)}
  • ).html_safe + end end end