lib/ddr/models/solr_document.rb in ddr-models-1.16.2 vs lib/ddr/models/solr_document.rb in ddr-models-1.17.0
- old
+ new
@@ -211,10 +211,19 @@
def access_role
get("access_role_ssi")
end
+ def display_format
+ get(Ddr::IndexFields::DISPLAY_FORMAT)
+ end
+
+ def research_help
+ research_help_contact = self[Ddr::IndexFields::RESEARCH_HELP_CONTACT] || inherited_research_help_contact
+ Ddr::Contacts.get(research_help_contact) if research_help_contact
+ end
+
private
def targets_query
"#{Ddr::IndexFields::IS_EXTERNAL_TARGET_FOR}:#{internal_uri_for_query}"
end
@@ -235,9 +244,18 @@
Time.parse(date).localtime if date
end
def get_pid(field)
ActiveFedora::Base.pid_from_uri(get(field)) rescue nil
+ end
+
+ def inherited_research_help_contact
+ if admin_policy_pid
+ query = ActiveFedora::SolrService.construct_query_for_pids([admin_policy_pid])
+ results = ActiveFedora::SolrService.query(query)
+ doc = results.map { |result| ::SolrDocument.new(result) }.first
+ doc[Ddr::IndexFields::RESEARCH_HELP_CONTACT].first
+ end
end
end
end
end