Merge branch '8784-dir-listings'
[arvados.git] / apps / workbench / app / views / collections / show_file_links.html.erb
index 78d75b1f7949f871409057ca883afa3982d2a7f8..8a2ce6b8268195605ba370153c1292be0a2a0c03 100644 (file)
@@ -1,3 +1,7 @@
+<%# Copyright (C) The Arvados Authors. All rights reserved.
+
+SPDX-License-Identifier: AGPL-3.0 %>
+
 <!DOCTYPE html>
 <html>
 <% coll_name = "Collection #{@object.uuid}" %>
@@ -38,15 +42,17 @@ Arvados.  You can download individual files listed below.  To download
 the entire collection with wget, try:</p>
 
 <pre>$ wget --mirror --no-parent --no-host --cut-dirs=3 <%=
-         url_for(link_opts.merge(action: 'show_file_links', only_path: false))
+         url_for(link_opts.merge(action: 'show_file_links', only_path: false,
+                                 trailing_slash: true))
        %></pre>
 
 <h2>File Listing</h2>
 
-<% if @object.andand.files_tree.andand.any? %>
+<% file_tree = @object.andand.files_tree %>
+<% if file_tree.andand.any? %>
   <ul id="collection_files" class="collection_files">
-  <% dirstack = [@object.files_tree.first.first] %>
-  <% @object.files_tree.each_with_index do |(dirname, filename, size), index| %>
+  <% dirstack = [file_tree.first.first] %>
+  <% file_tree.take(10000).each_with_index do |(dirname, filename, size), index| %>
     <% file_path = CollectionsHelper::file_path([dirname, filename]) %>
     <% while dirstack.any? and (dirstack.last != dirname) %>
       <% dirstack.pop %></ul></li>
@@ -58,9 +64,7 @@ the entire collection with wget, try:</p>
       <ul class="collection_files">
     <% else %>
       <%= link_to(filename,
-                  {controller: 'collections', action: 'show_file',
-                   uuid: @object.uuid, file: file_path,
-                   reader_token: params[:reader_token]},
+                  link_opts.merge(file: file_path),
                   {title: "Download #{file_path}"}) %>
       </li>
     <% end %>