2871: get collections methods return all collections for the given uuid.
authorradhika <radhika@curoverse.com>
Wed, 4 Jun 2014 17:37:00 +0000 (13:37 -0400)
committerradhika <radhika@curoverse.com>
Wed, 4 Jun 2014 17:37:00 +0000 (13:37 -0400)
apps/workbench/app/controllers/application_controller.rb
apps/workbench/app/views/users/_tables.html.erb

index df41884bac3ec2f5fe07e5447d36068a05fc8055..e39d7760f45ccbc3a7a0e03a8f43c2b2045300c7 100644 (file)
@@ -494,12 +494,11 @@ class ApplicationController < ActionController::Base
     return @objects_map_for[dataclass]
   end
 
-  # helper method to get collection for the given uuid
-  helper_method :get_collection
-  def get_collection uuid
+  # helper method to get collections for the given uuid
+  helper_method :get_collections
+  def get_collections uuid
     preload_collections([uuid])
-    (@all_collections_for[uuid] && @all_collections_for[uuid].first) ?
-          [@all_collections_for[uuid].first] : []
+    @all_collections_for[uuid]
   end
 
   # helper method to preload collections for the given uuids
@@ -521,14 +520,13 @@ class ApplicationController < ActionController::Base
     end
   end
 
-  # helper method to get log collection for the given log
-  helper_method :get_log_collection
-  def get_log_collection log
+  # helper method to get log collections for the given log
+  helper_method :get_log_collections
+  def get_log_collections log
     fixup = /([a-f0-9]{32}\+\d+)(\+?.*)/.match(log)
     uuid = fixup[1]
     preload_log_collections([uuid])
-    (@all_log_collections_for[uuid] && @all_log_collections_for[uuid].first) ?
-          [@all_log_collections_for[uuid].first] : []
+    @all_log_collections_for[uuid]
   end
 
   # helper method to preload collections for the given uuids
@@ -551,7 +549,7 @@ class ApplicationController < ActionController::Base
     end
 
     # TODO: make sure we get every page of results from API server
-    Collection.limit(100).where(uuid: uuids).each do |collection|
+    Collection.where(uuid: uuids).each do |collection|
       @all_log_collections_for[collection.uuid] << collection
     end
   end
index c271f2b5e8d54d15183449e02700c315fba92385..bfce00f83bac536cadf55593eadbe0674c4b9c35 100644 (file)
@@ -48,7 +48,9 @@
               <small>
                 <% if j.success and j.output %>
                   <a href="<%= collection_path(j.output) %>">
-                    <% get_collection(j.output).each do |c| %>
+                    <% collections = get_collections(j.output) %>
+                      <% if collections && !collections.empty? %>
+                      <% c = collections.first %>
                       <% c.files.each do |file| %>
                         <%= file[0] == '.' ? file[1] : "#{file[0]}/#{file[1]}" %>
                       <% end %>
@@ -61,7 +63,9 @@
 <td>
   <small>
     <% if j.log %>
-      <% get_log_collection(j.log).each do |c| %>
+      <% log_collections = get_log_collections(j.log) %>
+      <% if log_collections && !log_collections.empty? %>
+        <% c = log_collections.first %>
         <% c.files.each do |file| %>
           <a href="<%= collection_path(j.log) %>/<%= file[1] %>?disposition=inline&size=<%= file[2] %>">Log</a>
         <% end %>