Merge branch 'master' into 2871-preload-objects
[arvados.git] / apps / workbench / app / helpers / application_helper.rb
index b50f223287f6c480d3357d06877cacefd65ebb68..43c96b55366e8a3a583b57fc82717c58f19c99a1 100644 (file)
@@ -89,7 +89,11 @@ module ApplicationHelper
             link_name = attrvalue.friendly_link_name
           else
             begin
-              link_name = resource_class.find(link_uuid).friendly_link_name
+              if resource_class.name == 'Collection'
+                link_name = collections_for_object(link_uuid).andand.first.andand.friendly_link_name
+              else
+                link_name = object_for_dataclass(resource_class, link_uuid).friendly_link_name
+              end
             rescue RuntimeError
               # If that lookup failed, the link will too. So don't make one.
               return attrvalue
@@ -241,13 +245,14 @@ module ApplicationHelper
       dn += '[value]'
     end
 
-    preload_uuids = [attrvalue]
+    # preload data
+    preload_uuids = []
     items = []
     selectables = []
 
     attrtext = attrvalue
     if dataclass and dataclass.is_a? Class
-      objects = get_objects_of_type dataclass, 10
+      objects = get_n_objects_of_class dataclass, 10
       objects.each do |item|
         items << item
         preload_uuids << item.uuid
@@ -270,7 +275,7 @@ module ApplicationHelper
         itemuuids << item.uuid
         selectables.append({name: item.uuid, uuid: item.uuid, type: dataclass.to_s})
       end
-      
+
       itemuuids.each do |itemuuid|
         links_for_object(itemuuid).each do |link|
           if link.link_class.in? ["tag", "identifier"]