diff --git a/hyrax/app/assets/javascripts/date_picker_options.js b/hyrax/app/assets/javascripts/date_picker_options.js index c101bba22c9c9b939be7749a9e7d64b6dc7881d1..13a753bdc48b606637c36fdc90a0ef376358ea63 100644 --- a/hyrax/app/assets/javascripts/date_picker_options.js +++ b/hyrax/app/assets/javascripts/date_picker_options.js @@ -1,6 +1,6 @@ Blacklight.onLoad(function() { // $.fn.datepicker.defaults.format = "dd/mm/yyyy"; - $("#complex_session_session_date_recorded").datepicker({ + $('[data-provide="datepicker"]').datepicker({ orientation: "bottom left" }); }); diff --git a/hyrax/app/helpers/hyrax/listeners/lifecycle_listener_helper.rb b/hyrax/app/helpers/hyrax/listeners/lifecycle_listener_helper.rb index 0611c960782a90ec8f326b3eef47487f1cb627dc..714cce1aede3ae9f429477f65e027f2308a8fa0d 100644 --- a/hyrax/app/helpers/hyrax/listeners/lifecycle_listener_helper.rb +++ b/hyrax/app/helpers/hyrax/listeners/lifecycle_listener_helper.rb @@ -44,8 +44,8 @@ module Hyrax def after_destroy_callbacks(object) case object.class.name - when 'Crc1280Experiment' - object.complex_subjects.destroy_all + when 'Crc1280Experiment', 'Dataset' + object.clear_s3_and_all_associated_objects when 'FileSet' destroy_set_meta_data(object) end diff --git a/hyrax/app/models/concerns/s3_file_handleable.rb b/hyrax/app/models/concerns/s3_file_handleable.rb index c7cc1580d211fc573401b5621962a340b6b58373..73c40f99a6b097f11c263883a487971f9cede974 100644 --- a/hyrax/app/models/concerns/s3_file_handleable.rb +++ b/hyrax/app/models/concerns/s3_file_handleable.rb @@ -18,7 +18,8 @@ module S3FileHandleable if self.class.in?([Dataset, Crc1280Experiment]) bucket_name = s3.sanitise_name(ENV.fetch("S3_FILE_UPLOAD_BUCKET")) user = ::User.find_by_user_key(self.depositor) - s3.delete_bucket(bucket_name) + all_objects, size = s3.list_all_objects(bucket_name, self.id.to_s) + s3.delete_objects(bucket_name, all_objects.map { |obj| obj[:key] }) if all_objects.present? if self.class == Crc1280Experiment self.complex_subjects.destroy_all end @@ -27,7 +28,7 @@ module S3FileHandleable user = ::User.find_by_user_key(self.crc1280_experiment.depositor) objects_prefix = objects_prefix(self, s3_folder_name) all_objects, size = s3.list_all_objects(bucket_name, objects_prefix) - s3.delete_objects(bucket_name, all_objects.map{|obj| obj[:key]}) + s3.delete_objects(bucket_name, all_objects.map{|obj| obj[:key]}) if all_objects.present? end self.file_sets.each do |file_set| diff --git a/hyrax/app/models/dataset.rb b/hyrax/app/models/dataset.rb index c7290ef6a2dd1f3652f291cc37344e51dd78063b..b12f4b88b3c1694b71e266c0869976f98f957a2d 100644 --- a/hyrax/app/models/dataset.rb +++ b/hyrax/app/models/dataset.rb @@ -13,6 +13,7 @@ class Dataset < Hyrax::Work include CommonWorksQuery include ::Hyrax::TombstoneBehavior include ExternalServices + include S3FileHandleable def default_admin_set AdminSetHelper.find_admin_set_by_property(title: [ENV.fetch('RUB_ADMIN_SET_TITLE', 'RUB publication workflow')]) diff --git a/hyrax/config/metadata/crc1280_experiment.yaml b/hyrax/config/metadata/crc1280_experiment.yaml index 96e373709b62087f1f5d9f69662165fc46e67aba..15488802eede1f3956d86666d5369884b8bc8dfa 100644 --- a/hyrax/config/metadata/crc1280_experiment.yaml +++ b/hyrax/config/metadata/crc1280_experiment.yaml @@ -49,6 +49,7 @@ attributes: predicate: http://www.example.com/vocabs/rdms/isTombstone format: type: string + multiple: true index_keys: - "format_ssim" predicate: http://www.example.com/vocabs/rdms/format diff --git a/hyrax/config/metadata/dataset.yaml b/hyrax/config/metadata/dataset.yaml index 13cd7a7e87d1a5393ebb4e0227678db462750edf..45b7129555a07b7f7d4cc513407268351664e549 100644 --- a/hyrax/config/metadata/dataset.yaml +++ b/hyrax/config/metadata/dataset.yaml @@ -49,6 +49,7 @@ attributes: predicate: http://www.example.com/vocabs/rdms/isTombstone format: type: string + multiple: true index_keys: - "format_ssim" predicate: http://www.example.com/vocabs/rdms/format