X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/c4b9e5167a6196ad26121816fa82f400a2d7a9d2..09a3f207ceb2ddcdc7d31d0190eeed94962740d1:/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 15bf77fa09..0a872446d5 100644 --- a/apps/workbench/app/helpers/application_helper.rb +++ b/apps/workbench/app/helpers/application_helper.rb @@ -12,11 +12,11 @@ module ApplicationHelper end def current_api_host - Rails.configuration.arvados_v1_base.gsub /https?:\/\/|\/arvados\/v1/,'' + "#{Rails.configuration.Services.Controller.ExternalURL.hostname}:#{Rails.configuration.Services.Controller.ExternalURL.port}" end def current_uuid_prefix - current_api_host[0..4] + Rails.configuration.ClusterID end def render_markup(markup) @@ -25,7 +25,7 @@ module ApplicationHelper end def human_readable_bytes_html(n) - return h(n) unless n.is_a? Fixnum + return h(n) unless n.is_a? Integer return "0 bytes" if (n == 0) orders = { @@ -359,8 +359,8 @@ module ApplicationHelper display_value = link.name elsif value_info[:link_name] display_value = value_info[:link_name] - elsif value_info[:selection_name] - display_value = value_info[:selection_name] + elsif (sn = value_info[:selection_name]) && sn != "" + display_value = sn end end if (attr == :components) and (subattr.size > 2) @@ -474,8 +474,8 @@ module ApplicationHelper def cwl_inputs_required(object, inputs_schema, set_attr_path) r = 0 inputs_schema.each do |input| - required, primary_type, param_id = cwl_input_info(input) - dn, attrvalue = cwl_input_value(object, input, set_attr_path + [param_id]) + required, _, param_id = cwl_input_info(input) + _, attrvalue = cwl_input_value(object, input, set_attr_path + [param_id]) r += 1 if required and attrvalue.nil? end r @@ -495,11 +495,12 @@ module ApplicationHelper chooser_title = "Choose a #{primary_type == 'Directory' ? 'dataset' : 'file'}:" selection_param = object.class.to_s.underscore + dn if attrvalue.is_a? Hash - display_value = attrvalue[:"arv:collection"] || attrvalue[:location] + display_value = attrvalue[:"http://arvados.org/cwl#collectionUUID"] || attrvalue[:"arv:collection"] || attrvalue[:location] re = CollectionsHelper.match_uuid_with_optional_filepath(display_value) + locationre = CollectionsHelper.match(attrvalue[:location][5..-1]) if re - if re[4] - display_value = "#{Collection.find(re[1]).name} / #{re[4][1..-1]}" + if locationre and locationre[4] + display_value = "#{Collection.find(re[1]).name} / #{locationre[4][1..-1]}" else display_value = Collection.find(re[1]).name end @@ -677,8 +678,8 @@ module ApplicationHelper render_runtime duration, use_words, round_to_min end - # Keep locators are expected to be of the form \"...\" - JSON_KEEP_LOCATOR_REGEXP = /([0-9a-f]{32}\+\d+[^'"]*?)(?=['"]|\z|$)/ + # Keep locators are expected to be of the form \"...\" or \"...\" + JSON_KEEP_LOCATOR_REGEXP = /([0-9a-f]{32}\+\d+[^'"]*|[a-z0-9]{5}-4zz18-[a-z0-9]{15}[^'"]*)(?=['"]|\z|$)/ def keep_locator_in_json str # Return a list of all matches str.scan(JSON_KEEP_LOCATOR_REGEXP).flatten @@ -686,6 +687,6 @@ module ApplicationHelper private def is_textile?( object, attr ) - is_textile = object.textile_attributes.andand.include?(attr) + object.textile_attributes.andand.include?(attr) end end