X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/e322205a65bdc3a0565997eb68c86e74cd191762..09a3f207ceb2ddcdc7d31d0190eeed94962740d1:/apps/workbench/app/helpers/collections_helper.rb diff --git a/apps/workbench/app/helpers/collections_helper.rb b/apps/workbench/app/helpers/collections_helper.rb index 23a440ad1e..3f62a5601c 100644 --- a/apps/workbench/app/helpers/collections_helper.rb +++ b/apps/workbench/app/helpers/collections_helper.rb @@ -1,3 +1,7 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + module CollectionsHelper def d3ify_links(links) links.collect do |x| @@ -51,6 +55,27 @@ module CollectionsHelper f0 = '' if f0 == '.' f0 = f0[2..-1] if f0[0..1] == './' f0 += '/' if not f0.empty? - file_path = "#{f0}#{file[1]}" + "#{f0}#{file[1]}" + end + + ## + # Check if collection preview is allowed for the given filename with extension + # + def preview_allowed_for file_name + file_type = MIME::Types.type_for(file_name).first + if file_type.nil? + if file_name.downcase.end_with?('.cwl') # unknown mime type, but we support preview + true + else + false + end + elsif (file_type.raw_media_type == "text") || (file_type.raw_media_type == "image") + true + elsif (file_type.raw_media_type == "application") && + Rails.configuration.Workbench.Workbench.ApplicationMimetypesWithViewIcon[file_type.sub_type] + true + else + false + end end end