Merge branch 'master' into 2871-preload-objects
[arvados.git] / apps / workbench / app / helpers / application_helper.rb
index bdfa78b3bf3cb570202876fcdb6c37f0917e144c..43c96b55366e8a3a583b57fc82717c58f19c99a1 100644 (file)
@@ -89,10 +89,10 @@ module ApplicationHelper
             link_name = attrvalue.friendly_link_name
           else
             begin
-              link_name = ''
-              collections_for_object(link_uuid).each do |c|
-                link_name = c.friendly_link_name
-                break
+              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.
@@ -245,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
@@ -274,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"]