app/forms/hyrax/forms/administrative_set_form.rb in hyrax-3.3.0 vs app/forms/hyrax/forms/administrative_set_form.rb in hyrax-3.4.0
- old
+ new
@@ -4,17 +4,35 @@
module Forms
##
# @api public
# @see https://github.com/samvera/valkyrie/wiki/ChangeSets-and-Dirty-Tracking
class AdministrativeSetForm < Valkyrie::ChangeSet
+ ##
+ # @api private
+ AdminSetMembersPopulator = lambda do |_options|
+ self.member_ids =
+ if model.new_record
+ []
+ else
+ Hyrax
+ .query_service
+ .find_inverse_references_by(property: :admin_set_id, resource: model)
+ .map(&:id)
+ end
+ end
+
property :title, required: true, primary: true
property :description, primary: true
property :human_readable_type, writable: false
property :date_modified, readable: false
property :date_uploaded, readable: false
- property :depositor
+ property :creator
+
+ validates :title, presence: true
+
+ property :member_ids, virtual: true, default: [], prepopulator: AdminSetMembersPopulator
class << self
def model_class
Hyrax::AdministrativeSet
end