projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' into 2871-preload-objects
[arvados.git]
/
apps
/
workbench
/
app
/
helpers
/
application_helper.rb
diff --git
a/apps/workbench/app/helpers/application_helper.rb
b/apps/workbench/app/helpers/application_helper.rb
index b03b1093acf5a4d5ed57081990c4bc671006b00c..43c96b55366e8a3a583b57fc82717c58f19c99a1 100644
(file)
--- a/
apps/workbench/app/helpers/application_helper.rb
+++ b/
apps/workbench/app/helpers/application_helper.rb
@@
-89,7
+89,11
@@
module ApplicationHelper
link_name = attrvalue.friendly_link_name
else
begin
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
rescue RuntimeError
# If that lookup failed, the link will too. So don't make one.
return attrvalue
@@
-100,13
+104,15
@@
module ApplicationHelper
link_name = "#{resource_class.to_s}: #{link_name}"
end
if !opts[:no_tags] and resource_class == Collection
link_name = "#{resource_class.to_s}: #{link_name}"
end
if !opts[:no_tags] and resource_class == Collection
- Link.where(head_uuid: link_uuid, link_class: ["tag", "identifier"]).each do |tag|
- link_name += ' <span class="label label-info">' + html_escape(tag.name) + '</span>'
+ links_for_object(link_uuid).each do |tag|
+ if tag.link_class.in? ["tag", "identifier"]
+ link_name += ' <span class="label label-info">' + html_escape(tag.name) + '</span>'
+ end
end
end
if opts[:thumbnail] and resource_class == Collection
# add an image thumbnail if the collection consists of a single image file.
end
end
if opts[:thumbnail] and resource_class == Collection
# add an image thumbnail if the collection consists of a single image file.
-
Collection.where(uuid:
link_uuid).each do |c|
+
collections_for_object(
link_uuid).each do |c|
if c.files.length == 1 and CollectionsHelper::is_image c.files.first[1]
link_name += " "
link_name += image_tag "#{url_for c}/#{CollectionsHelper::file_path c.files.first}", style: "height: 4em; width: auto"
if c.files.length == 1 and CollectionsHelper::is_image c.files.first[1]
link_name += " "
link_name += image_tag "#{url_for c}/#{CollectionsHelper::file_path c.files.first}", style: "height: 4em; width: auto"
@@
-239,13
+245,14
@@
module ApplicationHelper
dn += '[value]'
end
dn += '[value]'
end
- preload_uuids = [attrvalue]
+ # preload data
+ preload_uuids = []
items = []
selectables = []
attrtext = attrvalue
if dataclass and dataclass.is_a? Class
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
objects.each do |item|
items << item
preload_uuids << item.uuid
@@
-268,7
+275,7
@@
module ApplicationHelper
itemuuids << item.uuid
selectables.append({name: item.uuid, uuid: item.uuid, type: dataclass.to_s})
end
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"]
itemuuids.each do |itemuuid|
links_for_object(itemuuid).each do |link|
if link.link_class.in? ["tag", "identifier"]