TechLadies/home-web

View on GitHub
app/views/layouts/_navigation.html.erb

Summary

Maintainability
Test Coverage
<nav class="navbar navbar-default">
  <div class="container">

    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <%= link_to 'HOME', root_path, class: 'navbar-brand' %>
    </div>

    <%- if current_user %>
      <!-- Collect the nav links, forms, and other content for toggling -->
      <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">

        <ul class="nav navbar-nav">

          <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Cases <span class="caret"></span></a>
            <ul class="dropdown-menu">
              <li><%= link_to 'Pending Cases', cases_path %></li>
              <li><%= link_to 'Archives', archive_cases_path %></li>
              <li role="separator" class="divider"></li>
              <li><%= link_to 'New Case', new_case_path %></li>
            </ul>
          </li>

          <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">People &amp; Orgs<span class="caret"></span></a>
            <ul class="dropdown-menu">
              <li><%= link_to 'People', people_path %></li>
              <li><%= link_to 'Organizations', organizations_path %></li>
              <li role="separator" class="divider"></li>
              <li><%= link_to 'New Person', new_person_path %></li>
              <li><%= link_to 'New Organization', new_organization_path %></li>
            </ul>
          </li>

          <li class="dropdown <%= 'hidden' unless current_user.is_admin? %>">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Reports <span class="caret"></span></a>
            <ul class="dropdown-menu">
              <li><%= link_to 'General Report', admin_cases_path %></li>
              <li><%= link_to 'Days Off Report', days_off_admin_reports_path %></li>
            </ul>
          </li>
        </ul>

        <%= link_to '#', data: { toggle: 'collapse', target: '#search-form' }, class: 'navbar-link navbar-right' do %>
          <%= image_tag 'search.svg' %>
        <%- end %>

        <ul class="nav navbar-nav navbar-right">
          <!-- Admin functions (end) -->
          <li class="dropdown <%= 'hidden' unless current_user.is_admin? %>">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Admin <span class="caret"></span></a>
            <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
              <li><%= link_to 'User Management', admin_users_path %></li>
              <li><%= link_to 'Issue Tagging', admin_tags_path %></li>
              <li><%= link_to 'Audit Logs', admin_audit_trails_path %></li>
            </ul>
          </li>
          <!-- Admin functions (end) -->

          <!-- current_user options (start) -->
          <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
              <%= current_user.name %>
              <span class="caret"></span>
            </a>
            <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
              <li>
                <%= link_to my_account_path do %>
                  My Profile
                  <span class="badge"><%= current_user.case_files.where(status: :pending).count %></span>
                <%- end %>
              </li>
              <li><%= link_to 'Account Settings', edit_my_account_path %></li>
              <li role="separator" class="divider"></li>
              <li><%= link_to 'Logout', session_path, method: :delete %></li>
            </ul>
          </li>
          <!-- current_user options (end) -->
        </ul>

      </div><!-- /.navbar-collapse -->
    <%- end %>

    <%= simple_form_for :query, url: query_path, method: :get, html: { id: 'search-form', class: "navbar-form #{params.dig(:query, :query) ? "" : "collapse"}" } do |form| %>

      <div class="row">
        <div class="col-xs-10">
          <%= form.input :query, label: false, input_html: { value: params.dig(:query, :query) }, placeholder: 'Search for cases, people or organization, via name, contact numbers, passport numbers, etc' %>
        </div>
        <div class="col-xs-2">
          <%= form.submit 'Search', class: 'btn btn-default btn-block' %>
        </div>
      </div>

    <%- end %>

  </div>
</nav>