X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/c03195617369efedab9e14392c5ed14bb8700590..aec1081434d75a6bb73baf096139d1d214dd1f47:/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 3f72d5a2aa..f22ab50166 100644 --- a/apps/workbench/app/helpers/application_helper.rb +++ b/apps/workbench/app/helpers/application_helper.rb @@ -12,11 +12,15 @@ module ApplicationHelper end def current_api_host - Rails.configuration.arvados_v1_base.gsub /https?:\/\/|\/arvados\/v1/,'' + if Rails.configuration.Services.Controller.ExternalURL.port == 443 + "#{Rails.configuration.Services.Controller.ExternalURL.hostname}" + else + "#{Rails.configuration.Services.Controller.ExternalURL.hostname}:#{Rails.configuration.Services.Controller.ExternalURL.port}" + end end def current_uuid_prefix - current_api_host[0..4] + Rails.configuration.ClusterID end def render_markup(markup) @@ -172,7 +176,7 @@ module ApplicationHelper raw(link_name) else controller_class = resource_class.to_s.tableize - if controller_class.eql?('groups') and object.andand.group_class.eql?('project') + if controller_class.eql?('groups') and (object.andand.group_class.eql?('project') or object.andand.group_class.eql?('filter')) controller_class = 'projects' end (link_to raw(link_name), { controller: controller_class, action: 'show', id: ((opts[:name_link].andand.uuid) || link_uuid) }, style_opts) + raw(tags) @@ -243,11 +247,15 @@ module ApplicationHelper end input_type = 'text' + opt_selection = nil attrtype = object.class.attribute_info[attr.to_sym].andand[:type] if attrtype == 'text' or attr == 'description' input_type = 'textarea' elsif attrtype == 'datetime' input_type = 'date' + elsif attrtype == 'boolean' + input_type = 'select' + opt_selection = ([{value: "true", text: "true"}, {value: "false", text: "false"}]).to_json else input_type = 'text' end @@ -275,6 +283,7 @@ module ApplicationHelper "data-emptytext" => '(none)', "data-placement" => "bottom", "data-type" => input_type, + "data-source" => opt_selection, "data-title" => "Edit #{attr.to_s.gsub '_', ' '}", "data-name" => htmloptions['selection_name'] || attr, "data-object-uuid" => object.uuid, @@ -359,8 +368,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 +483,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 @@ -687,6 +696,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