X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/ceddd030ffb6d11d0fc4244d45fd7b8e17d337e6..74f663c4d31f8b09a945c256b8f40c4ebfdaea67:/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 4b34886472..5500938587 100644 --- a/apps/workbench/app/helpers/application_helper.rb +++ b/apps/workbench/app/helpers/application_helper.rb @@ -54,17 +54,20 @@ module ApplicationHelper if !link_name link_name = link_uuid - if opts[:friendly_name] and resource_class.column_names.include? "name" and resource_class.find(link_uuid).name != nil and not resource_class.find(link_uuid).name.empty? - link_name = "#{resource_class.to_s} #{resource_class.find(link_uuid).name}" - elsif opts[:friendly_name] and resource_class.column_names.include? "hostname" and resource_class.find(link_uuid).hostname != nil and not resource_class.find(link_uuid).hostname.empty? - link_name = "#{resource_class.to_s} #{resource_class.find(link_uuid).hostname}" - elsif opts[:friendly_name] and resource_class.column_names.include? "first_name" - link_name = "#{resource_class.to_s} #{resource_class.find(link_uuid).first_name} #{resource_class.find(link_uuid).last_name}" - else - if opts[:with_class_name] - link_name = "#{resource_class.to_s} #{link_name}" + if opts[:friendly_name] + begin + friendly_name = resource_class.find(link_uuid).friendly_link_name + if friendly_name and not friendly_name.empty? + link_name = friendly_name + end + rescue RuntimeError + # If that lookup failed, the link will too. So don't make one. + return attrvalue end end + if opts[:with_class_name] + link_name = "#{resource_class.to_s}: #{link_name}" + end end link_to link_name, { controller: resource_class.to_s.underscore.pluralize, action: 'show', id: link_uuid }, style_opts else