Sha256: dcbb7318dc4428717e26b992b094445611792a97fa48b7454b4487b8edffdab7

Contents?: true

Size: 1.05 KB

Versions: 6

Compression:

Stored size: 1.05 KB

Contents

class Collection < ActiveFedora::Base
  include Hydra::Collection
  include Sufia::ModelMethods
  include Sufia::Noid
  include Sufia::GenericFile::Permissions
  include Sufia::GenericFile::WebForm # provides initialize_fields method

  before_save :update_permissions
  validates :title, presence: true

  has_metadata "properties", type: PropertiesDatastream

  def terms_for_display
    [:title, :creator, :description, :date_modified, :date_uploaded]
  end
  
  def terms_for_editing
    terms_for_display - [:date_modified, :date_uploaded]
  end
  
  # Test to see if the given field is required
  # @param [Symbol] key a field
  # @return [Boolean] is it required or not
  def required?(key)
    self.class.validators_on(key).any?{|v| v.kind_of? ActiveModel::Validations::PresenceValidator}
  end
  
  def to_param
    noid
  end

  def to_solr(solr_doc={}, opts={})
    super(solr_doc, opts)
    solr_doc[Solrizer.solr_name("noid", Sufia::GenericFile.noid_indexer)] = noid
    return solr_doc
  end

  def update_permissions
    self.visibility = "open"
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
sufia-4.0.0.rc1 sufia-models/app/models/collection.rb
sufia-models-4.0.0.rc1 app/models/collection.rb
sufia-4.0.0.beta4 sufia-models/app/models/collection.rb
sufia-models-4.0.0.beta4 app/models/collection.rb
sufia-models-4.0.0.beta3 app/models/collection.rb
sufia-4.0.0.beta3 sufia-models/app/models/collection.rb