2891: Workbench current_user copes when API server is unreachable.
[arvados.git] / apps / workbench / app / views / layouts / application.html.erb
index 23e071525f254db74e4af36479aa9478ee40b5b3..3b4c7a2f749ba79e76bd4bb3b57bebde068aeaa1 100644 (file)
@@ -74,7 +74,6 @@
           </li>
           -->
 
-          <% if current_user %>
           <li class="dropdown notification-menu">
             <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="notifications-menu">
               <span class="badge badge-alert notification-count"><%= @notification_count %></span>
@@ -97,7 +96,6 @@
               <% end %>
             </ul>
           </li>
-          <% end %>
 
           <li class="dropdown selection-menu">
             <a href="#" class="dropdown-toggle" data-toggle="dropdown">
               </a>
               <ul class="dropdown-menu" role="menu">
                 <li role="presentation" class="dropdown-header">
-                  System tools
+                  Settings
                 </li>
                 <li role="presentation"><a href="/repositories">
                     <i class="fa fa-lg fa-code-fork fa-fw"></i> Repositories
           <% else %>
             <li><a href="<%= arvados_api_client.arvados_login_url(return_to: root_url) %>">Log in</a></li>
           <% end %>
+
+          <li class="dropdown help-menu">
+            <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="arv-help">
+              <span class="fa fa-lg fa-question-circle"></span>
+            </a>
+            <ul class="dropdown-menu">
+              <li><%= link_to raw('<i class="fa fa-book fa-fw"></i> Tutorials and User guide'), "#{Rails.configuration.arvados_docsite}/user", target: "_blank" %></li>
+              <li><%= link_to raw('<i class="fa fa-book fa-fw"></i> API Reference'), "#{Rails.configuration.arvados_docsite}/api", target: "_blank" %></li>
+              <li><%= link_to raw('<i class="fa fa-book fa-fw"></i> SDK Reference'), "#{Rails.configuration.arvados_docsite}/sdk", target: "_blank" %></li>
+            </ul>
+          </li>
         </ul>
       </div><!-- /.navbar-collapse -->
     </nav>
 
     <% if current_user.andand.is_active %>
+     <% begin %>
       <nav class="navbar navbar-default breadcrumbs" role="navigation">
         <ul class="nav navbar-nav navbar-left">
           <li class="dropdown">
           <% end %>
         </ul>
       </nav>
+     <% rescue ArvadosApiClient::NotLoggedInException %>
+       <% raise  # Let ApplicationController handle this. %>
+     <% rescue ArvadosApiClient::ApiError  # Just skip rendering projects.  %>
+     <% end %>
     <% end %>
 
     <div id="page-wrapper">