Restore scroll on projects menu. Do not offer "Add project" button in projects dropdo...
[arvados.git] / apps / workbench / app / views / layouts / body.html.erb
index dd80822656d5692d768d14a1996451bb6bb22e2e..ba138bfdee648667c3c825806e77bff0babcf2f0 100644 (file)
           </li>
 
           <% if current_user %>
-          <li>
-            <form class="navbar-form" role="search"
-                       data-search-modal=
-                       "<%= url_for(
-                        action: 'choose',
-                        controller: 'search',
-                        title: 'Search',
-                        action_name: 'Show',
-                        action_href: url_for(controller: :actions, action: :show),
-                        action_method: 'get',
-                        action_data: {selection_param: 'uuid', success: 'redirect-to-created-object', copy_from_search_box: true}.to_json)
-                       %>">
-              <div class="input-group" style="width: 220px">
-                <input type="text" class="form-control" placeholder="search">
-                <a class="input-group-addon"><span class="glyphicon glyphicon-search"></span></a>
-              </div>
-            </form>
-          </li>
-
-          <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>
-              <%= current_user.email %>
-            </a>
-            <ul class="dropdown-menu" role="menu">
-              <li role="presentation" class="dropdown-header">
-                My account
-              </li>
-              <% if current_user.is_active %>
-              <li role="presentation"><a href="/manage_account" role="menuitem"><i class="fa fa-key fa-fw"></i> Manage account</a></li>
-              <% if Rails.configuration.user_profile_form_fields %>
-                <li role="presentation"><a href="/users/<%=current_user.uuid%>/profile" role="menuitem"><i class="fa fa-key fa-fw"></i> Manage profile</a></li>
-              <% end %>
-              <li role="presentation" class="divider"></li>
-              <% end %>
-              <li role="presentation"><a href="<%= logout_path %>" role="menuitem"><i class="fa fa-sign-out fa-fw"></i> Log out</a></li>
-              <% if current_user.is_active and
-                    (@notifications || []).length > 0 %>
-                <li role="presentation" class="divider"></li>
-                <% @notifications.each_with_index do |n, i| %>
-                  <% if i > 0 %><li class="divider"></li><% end %>
-                  <li class="notification"><%= n.call(self) %></li>
-                <% end %>
-              <% end %>
-            </ul>
-          </li>
-
-          <li class="dropdown selection-menu">
-            <a href="#" class="dropdown-toggle" data-toggle="dropdown">
-              <span class="fa fa-lg fa-paperclip"></span>
-              <span class="badge" id="persistent-selection-count"></span>
-            </a>
-            <ul class="dropdown-menu" role="menu" id="persistent-selection-list">
-              <%= form_tag '/actions' do %>
-                <%= hidden_field_tag 'uuid', @object.andand.uuid %>
-                <div id="selection-form-content"></div>
-              <% end %>
-            </ul>
-          </li>
+            <% if current_user.is_active %>
+            <li>
+              <form class="navbar-form" role="search"
+                         data-search-modal=
+                         "<%= url_for(
+                          action: 'choose',
+                          controller: 'search',
+                          title: 'Search',
+                          action_name: 'Show',
+                          action_href: url_for(controller: :actions, action: :show),
+                          action_method: 'get',
+                          action_data: {selection_param: 'uuid', success: 'redirect-to-created-object', copy_from_search_box: true}.to_json)
+                         %>">
+                <div class="input-group" style="width: 220px">
+                  <input type="text" class="form-control" placeholder="search">
+                  <a class="input-group-addon"><span class="glyphicon glyphicon-search"></span></a>
+                </div>
+              </form>
+            </li>
+            <% end %>
 
-          <% if current_user.is_active %>
-            <li class="dropdown">
-              <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="system-menu">
-                <span class="fa fa-lg fa-gear"></span>
+            <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>
+                <%= current_user.email %> <span class="caret"></span>
               </a>
               <ul class="dropdown-menu" role="menu">
                 <li role="presentation" class="dropdown-header">
-                  Settings
+                  My account
                 </li>
-                <% if current_user.andand.is_admin %>
-                  <li role="presentation"><a href="/repositories">
+                <% if current_user.is_active %>
+                <li role="menuitem"><a href="/manage_account" role="menuitem"><i class="fa fa-key fa-fw"></i> Manage account</a></li>
+                <% if Rails.configuration.user_profile_form_fields %>
+                  <li role="menuitem"><a href="/users/<%=current_user.uuid%>/profile" role="menuitem"><i class="fa fa-key fa-fw"></i> Manage profile</a></li>
+                <% end %>
+                <li role="presentation" class="divider"></li>
+                <% end %>
+                <li role="menuitem"><a href="<%= logout_path %>" role="menuitem"><i class="fa fa-sign-out fa-fw"></i> Log out</a></li>
+                <% if current_user.is_active and
+                      (@notifications || []).length > 0 %>
+                  <li role="presentation" class="divider"></li>
+                  <% @notifications.each_with_index do |n, i| %>
+                    <% if i > 0 %><li class="divider"></li><% end %>
+                    <li class="notification"><%= n.call(self) %></li>
+                  <% end %>
+                <% end %>
+              </ul>
+            </li>
+
+            <% if current_user.is_admin %>
+              <li class="dropdown">
+                <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="system-menu">
+                  <span class="fa fa-lg fa-gear"></span>
+                </a>
+                <ul class="dropdown-menu" role="menu">
+                  <li role="presentation" class="dropdown-header">
+                    Settings
+                  </li>
+                  <li role="menuitem"><a href="/repositories">
                       <i class="fa fa-lg fa-code-fork fa-fw"></i> Repositories
                   </a></li>
-                  <li role="presentation"><a href="/virtual_machines">
+                  <li role="menuitem"><a href="/virtual_machines">
                       <i class="fa fa-lg fa-terminal fa-fw"></i> Virtual machines
                   </a></li>
-                  <li role="presentation"><a href="/authorized_keys">
+                  <li role="menuitem"><a href="/authorized_keys">
                       <i class="fa fa-lg fa-key fa-fw"></i> SSH keys
                   </a></li>
-                  <li role="presentation"><a href="/api_client_authorizations">
+                  <li role="menuitem"><a href="/api_client_authorizations">
                       <i class="fa fa-lg fa-ticket fa-fw"></i> API tokens
                   </a></li>
-                <% end %>
-                <li role="presentation"><a href="/links">
-                    <i class="fa fa-lg fa-arrows-h fa-fw"></i> Links
-                </a></li>
-                <% if current_user.andand.is_admin %>
-                  <li role="presentation"><a href="/users">
+                  <li role="menuitem"><a href="/links">
+                      <i class="fa fa-lg fa-arrows-h fa-fw"></i> Links
+                  </a></li>
+                  <li role="menuitem"><a href="/users">
                       <i class="fa fa-lg fa-user fa-fw"></i> Users
                   </a></li>
-                <% end %>
-                <li role="presentation"><a href="/groups">
-                    <i class="fa fa-lg fa-users fa-fw"></i> Groups
-                </a></li>
-                <li role="presentation"><a href="/nodes">
-                    <i class="fa fa-lg fa-cloud fa-fw"></i> Compute nodes
-                </a></li>
-                <li role="presentation"><a href="/keep_services">
-                    <i class="fa fa-lg fa-exchange fa-fw"></i> Keep services
-                </a></li>
-                <li role="presentation"><a href="/keep_disks">
-                    <i class="fa fa-lg fa-hdd-o fa-fw"></i> Keep disks
-                </a></li>
-              </ul>
-            </li>
-          <% end %>
+                  <li role="menuitem"><a href="/groups">
+                      <i class="fa fa-lg fa-users fa-fw"></i> Groups
+                  </a></li>
+                  <li role="menuitem"><a href="/nodes">
+                      <i class="fa fa-lg fa-cloud fa-fw"></i> Compute nodes
+                  </a></li>
+                  <li role="menuitem"><a href="/keep_services">
+                      <i class="fa fa-lg fa-exchange fa-fw"></i> Keep services
+                  </a></li>
+                  <li role="menuitem"><a href="/keep_disks">
+                      <i class="fa fa-lg fa-hdd-o fa-fw"></i> Keep disks
+                  </a></li>
+                </ul>
+              </li>
+            <% end %>
           <% else %>
             <li><a href="<%= arvados_api_client.arvados_login_url(return_to: root_url) %>">Log in</a></li>
           <% end %>
               <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>
               <li role="presentation" class="divider"></li>
-              <li> <%= link_to report_issue_popup_path(popup_type: 'version', current_location: request.fullpath, action_method: 'post'),
-                      {class: 'report-issue-modal-window', 'data-toggle' =>  "modal", 'data-target' => '#report-issue-modal-window', :remote => true, return_to: request.url} do %>
-                       <i class="fa fa-fw fa-support"></i> Show version / debugging info
+              <li> <%= link_to report_issue_popup_path(popup_type: 'version', current_location: request.url, current_path: request.fullpath, action_method: 'post'),
+                      {class: 'report-issue-modal-window',  :remote => true, return_to: request.url} do %>
+                       <i class="fa fa-fw fa-support"></i> Show version / debugging info ...
                       <% end %>
               </li>
-              <li> <%= link_to report_issue_popup_path(popup_type: 'report', current_location: request.fullpath, action_method: 'post'),
-                      {class: 'report-issue-modal-window', 'data-toggle' =>  "modal", 'data-target' => '#report-issue-modal-window', :remote => true, return_to: request.url} do %>
-                       <i class="fa fa-fw fa-support"></i> Report a problem
+              <li> <%= link_to report_issue_popup_path(popup_type: 'report', current_location: request.url, current_path: request.fullpath, action_method: 'post'),
+                      {class: 'report-issue-modal-window', :remote => true, return_to: request.url} do %>
+                       <i class="fa fa-fw fa-support"></i> Report a problem ...
                       <% end %>
               </li>
             </ul>
               Projects
               <span class="caret"></span>
             </a>
-            <ul class="dropdown-menu" role="menu">
-            <%= render partial: "projects_tree_menu", locals: {
+            <ul class="dropdown-menu" style="min-width: 20em" role="menu">
+              <li>
+                <%= link_to projects_path(options: {ensure_unique_name: true}), method: :post, class: 'btn btn-xs btn-default pull-right' do %>
+                  <i class="fa fa-plus"></i> Add a new project
+                <% end %>
+              </li>
+              <%= render partial: "projects_tree_menu", locals: {
                   :project_link_to => Proc.new do |pnode, &block|
                     link_to(project_path(pnode[:object].uuid),
                       data: { 'object-uuid' => pnode[:object].uuid,
                               'name' => 'name' },
                       &block)
                   end,
-                  :top_button => Proc.new do %>
-                    <% link_to projects_path, method: 'post', class: 'btn btn-xs btn-default pull-right' do %>
-                      <i class="fa fa-plus"></i> New project
-                    <% end %>
-                  <% end %>
-            <% } %>
+              } %>
             </ul>
           </li>
           <% if @name_link or @object %>
   <%= yield :footer_html %>
 
 <div class="modal-container"></div>
-<div id="report-issue-modal-window" class="modal fade" role="dialog" aria-labelledby="report-issue-modal" aria-hidden="true"></div>
+<div id="report-issue-modal-window"></div>