Merge branch '8784-dir-listings'
[arvados.git] / apps / workbench / app / views / application / _projects_tree_menu.html.erb
index 77b9d45f93587e1d1102582f62a0bda24e32fb0c..08d3b81110e46cd460722550cca64e203ae54566 100644 (file)
@@ -1,3 +1,27 @@
+<%# Copyright (C) The Arvados Authors. All rights reserved.
+
+SPDX-License-Identifier: AGPL-3.0 %>
+
+<% starred_projects = my_starred_projects current_user%>
+<% if starred_projects.andand.any? %>
+  <li role="presentation" class="dropdown-header">
+    My favorite projects
+  </li>
+  <li>
+    <%= project_link_to.call({object: current_user, depth: 0}) do %>
+      <span style="padding-left: 0">Home</span>
+    <% end %>
+  </li>
+  <% (starred_projects).each do |pnode| %>
+    <li>
+      <%= project_link_to.call({object: pnode, depth: 0}) do%>
+        <span style="padding-left: 0em"></span><%= pnode[:name] %>
+      <% end %>
+    </li>
+  <% end %>
+  <li role="presentation" class="divider"></li>
+<% end %>
+
 <li role="presentation" class="dropdown-header">
   My projects
 </li>
@@ -6,7 +30,8 @@
     <span style="padding-left: 0">Home</span>
   <% end %>
 </li>
-<% my_project_tree.each do |pnode| %>
+<% my_tree = my_wanted_projects_tree current_user %>
+<% my_tree[0].each do |pnode| %>
   <% next if pnode[:object].class != Group %>
   <li>
     <%= project_link_to.call pnode do %>
     <% end %>
   </li>
 <% end %>
+<% if my_tree[1] or my_tree[0].size > 200 %>
+<li role="presentation" class="dropdown-header">
+  Some projects have been omitted.
+</li>
+<% elsif my_tree[2] %>
+<li role="presentation" class="dropdown-header">
+  Showing top three levels of your projects.
+</li>
+<% end %>