app/views/layouts/_header.html.erb

Summary

Maintainability
Test Coverage
<%
navbar_css_classes = %w(nav navbar navbar-default navbar-fixed-top)
if true_user && current_user != true_user
  navbar_css_classes << "navbar--impersonate"
end
%>

<div class="<%= navbar_css_classes.join(" ")%>">
  <div class="container">
    <div class="navbar-header">
      <%= link_to root_path, class: "navbar-brand" do %>
        <%= icon("fas", "home", "aria-hidden" => "true") %>
        <%= truncate(@current_project&.name&.humanize, length: 50) || "Home" %>
      <%end%>
    </div>
    <% if @current_project %>
      <div class="navbar-header">
        <%= link_to "Changes", setup_project_changes_path(@current_project), class: "navbar-brand" %>
      </div>
      <div class="navbar-header">
        <%= link_to "Jobs", setup_project_jobs_path(@current_project), class: "navbar-brand" %>
      </div>
      <div class="navbar-header">
        <%= link_to "Meta data", setup_project_metadatas_path(@current_project), class: "navbar-brand" %>
      </div>
      <div class="navbar-header">
        <%= link_to "Documentation", setup_project_rules_path(@current_project), class: "navbar-brand" %>
      </div>

      <% if @current_project&.dhis2_url %>
        <div class="collapse navbar-collapse navbar-header">
          <ul class="nav navbar-nav">
            <li class="dropdown">
              <a href="#" class="dropdown-toggle navbar-brand" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
                Apps
                <span class="caret"></span>
              </a>
              <ul class="dropdown-menu">
                <li>
                  <%= link_to "Dhis2", @current_project.dhis2_url, class: "navbar-brand" %>
                </li> 
                <li>
                  <%= link_to "Dhis2 Maintenance", @current_project.dhis2_url + "/dhis-web-maintenance/#/list/all", class: "navbar-brand" %>
                </li>  
                <% if @current_project.invoice_app_path %>
                  <li>
                    <%= link_to "Invoice App", @current_project.dhis2_url + @current_project.invoice_app_path, class: "navbar-brand" %>
                  </li>      
                <%  end %>
                <li>
                  <%= link_to "Hesabu Manager", @current_project.dhis2_url + "/api/apps/Hesabu/index.html", class: "navbar-brand" %>
                </li>     
              </ul>
            </li>
          </ul>
        </div>
      <%  end %>

      <% if true_user && current_user != true_user %>
        <div class="navbar-header">
          <span class="navbar__impersonate__label label label-danger">
            You are impersonating. <%= link_to "Stop it", stop_impersonating_users_path, method: :post %>
          </span>
        </div>
      <%  end %>
    <% end%>

    <div class="collapse navbar-collapse">
      <ul class="nav navbar-nav navbar-right">
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
            <%= current_user.email %>
            <span class="caret"></span>
          </a>
          <ul class="dropdown-menu">
            <li>
              <%= link_to "Sign out", destroy_user_session_path, method: :delete %>
            </li>
          </ul>
        </li>
      </ul>
    </div>
  </div>
</div>