amatriain/feedbunch

View on GitHub
FeedBunch-app/app/views/layouts/navbar/_user_menu.html.erb

Summary

Maintainability
Test Coverage
<ul class="nav navbar-nav navbar-right">

  <li id="user-dropdown"
      class="dropdown">
    <a id="user-management"
       class="dropdown-toggle"
       ng-click="toggle_user_menu()">
      <i class="fa fa-user fa-fw"></i>
      <span id="user-name"><%= current_user.name %></span>
      <i class="fa fa-caret-down fa-fw"></i>
    </a>

<%#= Cache different versions of the user menu for admin and non-admin users
 (admin users have more options available).
 Also cache different versions for the read page (without "read feeds" option) and for other pages
 (with "read feeds" menu option).%>
<% cache "user_menu-#{current_user.admin ? 'admin':'noadmin'}-#{(current_page? '/read') ? 'read_page':'no_read_page'}-#{I18n.locale}" do %>

      <ul class="dropdown-menu">

        <% if can? :manage, ActiveAdmin %>
          <li>
            <%= link_to '/admin', target: '_blank', rel: 'noopener noreferrer' do %>
              <i class="fa fa-wrench fa-fw"></i>
              <%= t 'layouts.navbar.admin' %>
            <% end %>
          </li>
        <% end %>

        <% if can? :manage, PgHero %>
          <li>
            <%= link_to '/pghero', target: '_blank', rel: 'noopener noreferrer' do %>
              <i class="fa fa-database fa-fw"></i>
              <%= t 'layouts.navbar.db_stats' %>
            <% end %>
          </li>
        <% end %>

        <% if can? :manage, Redmon %>
          <li>
            <%= link_to '/redmon', target: '_blank', rel: 'noopener noreferrer' do %>
              <i class="fa fa-area-chart fa-fw"></i>
              <%= t 'layouts.navbar.cache_stats' %>
            <% end %>
          </li>
        <% end %>

        <% if can? :manage, Sidekiq %>
          <li>
            <%= link_to sidekiq_web_path, target: '_blank', rel: 'noopener noreferrer' do %>
              <i class="fa fa-code-fork fa-fw"></i>
              <%= t 'layouts.navbar.background_jobs' %>
            <% end %>
          </li>
        <% end %>

        <% if !current_page? '/read' %>
          <li>
            <%=  link_to read_path, id: 'read_feeds' do %>
              <i class="fa fa-rss fa-fw"></i>
              <%= t 'layouts.navbar.read_feeds' %>
            <% end %>
          </li>
        <% end %>

        <li>
          <%=  link_to edit_user_registration_path, id: 'my_account' do %>
            <i class="fa fa-gear fa-fw"></i>
            <%= t 'layouts.navbar.my_account' %>
          <% end %>
        </li>

        <li>
          <a id="help-kb-shortcuts"
             data-toggle="modal"
             data-target="#help-kb-shortcuts-popup">
            <i class="fa fa-keyboard-o fa-fw"></i>
            <%= t 'layouts.navbar.kb_shortcuts' %>
          </a>
        </li>

        <li>
          <a id="help"
             data-toggle="modal"
             data-target="#help-feedback-popup">
            <i class="fa fa-question fa-fw"></i>
            <%= t 'layouts.navbar.help' %>
          </a>
        </li>

        <li>
          <%= link_to destroy_user_session_path, :method => :delete, id: 'sign_out' do %>
            <i class="fa fa-sign-out fa-fw"></i>
            <%= t 'layouts.navbar.logout' %>
          <% end %>
        </li>
      </ul>
    </li>
  </ul>

<% end %>