Sha256: 9e8fd270520cd5e9cc390bc2019aa9eacf543b4c0b50e2aa62e447f155547a8e
Contents?: true
Size: 1.3 KB
Versions: 3
Compression:
Stored size: 1.3 KB
Contents
# frozen_string_literal: true module Hyrax module Forms ## # Represents a lease for edit through a work. That is, this form can # be used to wrap a Work in order to capture state changes related only to # its lease, ignoring the work's other fields. # # @note this supports the edit functionality of # +LeasesControllerBehavior+. class WorkLeaseForm < Hyrax::ChangeSet property :lease, form: Hyrax::Forms::Lease, populator: :lease_populator, prepopulator: :lease_populator property :lease_expiration_date, virtual: true, prepopulator: proc { |_opts| self.lease_expiration_date = model.lease&.lease_expiration_date } property :visibility_after_lease, virtual: true, prepopulator: proc { |_opts| self.visibility_after_lease = model.lease&.visibility_after_lease } property :visibility_during_lease, virtual: true, prepopulator: proc { |_opts| self.visibility_during_lease = model.lease&.visibility_during_lease } def lease_populator(**) self.lease = Hyrax::LeaseManager.lease_for(resource: model) end ## # @return [String] def human_readable_type model.to_model.human_readable_type end ## # @return [ActiveModel::Name] def model_name model.to_model.model_name end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
hyrax-4.0.0 | app/forms/hyrax/forms/work_lease_form.rb |
hyrax-4.0.0.rc3 | app/forms/hyrax/forms/work_lease_form.rb |
hyrax-4.0.0.rc2 | app/forms/hyrax/forms/work_lease_form.rb |