X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/a93ef946eb1e73ee190ea4ff19c4f9278235530c..9c0ea426167e01ea69ff022a811803aa95a302d4:/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 106716a0f7..c4a801d68b 100644 --- a/apps/workbench/app/helpers/application_helper.rb +++ b/apps/workbench/app/helpers/application_helper.rb @@ -16,7 +16,8 @@ module ApplicationHelper end def render_markup(markup) - raw RedCloth.new(markup.to_s).to_html(:refs_arvados, :textile) if markup + allowed_tags = Rails::Html::Sanitizer.white_list_sanitizer.allowed_tags + %w(table tbody th tr td col colgroup caption thead tfoot) + sanitize(raw(RedCloth.new(markup.to_s).to_html(:refs_arvados, :textile)), tags: allowed_tags) if markup end def human_readable_bytes_html(n) @@ -43,13 +44,6 @@ module ApplicationHelper end return h(n) - #raw = n.to_s - #cooked = '' - #while raw.length > 3 - # cooked = ',' + raw[-3..-1] + cooked - # raw = raw[0..-4] - #end - #cooked = raw + cooked end def resource_class_for_uuid(attrvalue, opts={}) @@ -680,9 +674,10 @@ module ApplicationHelper end # Keep locators are expected to be of the form \"...\" - JSON_KEEP_LOCATOR_REGEXP = /(.*)(([0-9a-f]{32}\+\d+)(.*)\"(.*))/ + JSON_KEEP_LOCATOR_REGEXP = /([0-9a-f]{32}\+\d+[^'"]*?)(?=['"]|\z|$)/ def keep_locator_in_json str - JSON_KEEP_LOCATOR_REGEXP.match str + # Return a list of all matches + str.scan(JSON_KEEP_LOCATOR_REGEXP).flatten end private