library.rb 1.02 KB
class DspacePlugin::Library < Folder

  settings_items :dspace_server_url, :type => :string

  attr_accessible :dspace_server_url

  def dspace_server_url_valid

    if self.dspace_server_url.blank?
      errors.add(:dspace_server_url, _("can't be blank") )
      return
    end

    errors.add(self.dspace_server_url, _("is not a valid URL. Please correct it and resubmit.")) unless url_valid?(self.dspace_server_url)
  end

  validate :dspace_server_url_valid

  def self.icon_name(article = nil)
    'dspace-library'
  end

  def self.short_description
    _("DSpace library")
  end

  def self.description
    _("Defines a DSpace library")
  end

  def to_html(options = {})
    dspace_content = self
    proc do
      render :file => 'content_viewer/dspace_content', :locals => { :dspace_content => dspace_content }
    end
  end

  def communities
    DspacePlugin::Communityy.find(:all)
  end

  protected

  def url_valid?(url)
    url = URI.parse(url) rescue false
    url.kind_of?(URI::HTTP) || url.kind_of?(URI::HTTPS)
  end

end