X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/744ca00ccd1e7fda9d4210b18c1f4a734f3b2261..e5337814593c504ef71e9f517dc1d99d41e19784:/apps/workbench/app/models/collection.rb?ds=sidebyside diff --git a/apps/workbench/app/models/collection.rb b/apps/workbench/app/models/collection.rb index 2346a27859..764817509a 100644 --- a/apps/workbench/app/models/collection.rb +++ b/apps/workbench/app/models/collection.rb @@ -1,15 +1,25 @@ class Collection < ArvadosBase - include ApplicationHelper - MD5_EMPTY = 'd41d8cd98f00b204e9800998ecf8427e' + def default_name + if Collection.is_empty_blob_locator? self.uuid + "Empty Collection" + else + super + end + end + # Return true if the given string is the locator of a zero-length blob def self.is_empty_blob_locator? locator !!locator.to_s.match("^#{MD5_EMPTY}(\\+.*)?\$") end + def self.goes_in_projects? + true + end + def content_summary - human_readable_bytes_html(total_bytes) + " " + super + ApplicationController.helpers.human_readable_bytes_html(total_bytes) + " " + super end def total_bytes @@ -19,10 +29,13 @@ class Collection < ArvadosBase tot += file[2] end tot + else + 0 end end def files_tree + return [] if files.empty? tree = files.group_by { |file_spec| File.split(file_spec.first) } # Fill in entries for empty directories. tree.keys.map { |basedir, _| File.split(basedir) }.each do |splitdir| @@ -43,7 +56,7 @@ class Collection < ArvadosBase dir_to_tree.call('.') end - def attribute_editable?(attr) + def attribute_editable? attr, *args false end