diff --git a/app/models/master_file.rb b/app/models/master_file.rb index de3e8bf9d8..2d78f14928 100644 --- a/app/models/master_file.rb +++ b/app/models/master_file.rb @@ -250,7 +250,6 @@ def media_object=(mo) self._media_object=(mo) unless self.media_object.nil? self.media_object.ordered_master_files += [self] - self.media_object.master_files = self.media_object.ordered_master_files.to_a self.media_object.save end end diff --git a/config/initializers/active_fedora_general.rb b/config/initializers/active_fedora_general.rb index dd7fced447..588b78cdfc 100644 --- a/config/initializers/active_fedora_general.rb +++ b/config/initializers/active_fedora_general.rb @@ -152,30 +152,32 @@ def changes end ActiveFedora::Associations::IndirectlyContainsAssociation.class_eval do - def insert_record(record, force = true, validate = true) - container.save! - if force - record.save! - else - return false unless record.save(validate: validate) - end + def insert_record(record, force = true, validate = true) + container.save! + if force + record.save! + else + return false unless record.save(validate: validate) + end - save_through_record(record) + save_through_record(record) - owner.send(:attribute_will_change!, reflection.name) - owner.resource << ::RDF::Statement(owner.resource, reflection.predicate, record.id) - owner.save + # Add triples to the parent object + owner.send(:attribute_will_change!, reflection.name) + owner.resource << ::RDF::Statement(owner.resource, reflection.predicate, record.id) + owner.save - true - end + true + end private - def delete_record(record) - record_proxy_finder.find(record).delete + def delete_record(record) + record_proxy_finder.find(record).delete - owner.send(:attribute_will_change!, reflection.name) - owner.resource.delete({ predicate: reflection.predicate, object: record.id}) - owner.save - end + # Remove triples from the parent object + owner.send(:attribute_will_change!, reflection.name) + owner.resource.delete({ predicate: reflection.predicate, object: record.id}) + owner.save + end end