|
|
|
|
@ -4,13 +4,37 @@ class DoctrineJurisprudence < ApplicationRecord
|
|
|
|
|
belongs_to :doctrine, optional: false |
|
|
|
|
belongs_to :jurisprudence, class_name: "Cdao::Jurisprudence", optional: false |
|
|
|
|
|
|
|
|
|
def search_year |
|
|
|
|
jurisprudence.year.present? && jurisprudence.year > 0 ? jurisprudence.year : (jurisprudence.doc_date.try :year) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
def search_doc_date |
|
|
|
|
jurisprudence.doc_date.presence || Date.new(jurisprudence.year.presence || 0) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
searchable do |
|
|
|
|
integer :doctrine_id |
|
|
|
|
integer :jurisprudence_id |
|
|
|
|
integer :search_year |
|
|
|
|
|
|
|
|
|
date :search_doc_date |
|
|
|
|
|
|
|
|
|
string :reference_number do |
|
|
|
|
jurisprudence.clean_reference_number |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
integer :search_year do |
|
|
|
|
jurisprudence.year.present? && jurisprudence.year > 0 ? jurisprudence.year : (jurisprudence.doc_date.try :year) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
date :search_doc_date do |
|
|
|
|
jurisprudence.doc_date.presence || Date.new(jurisprudence.year.presence || 0) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
string :reference_number do |
|
|
|
|
jurisprudence.clean_reference_number |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
join(:search_doc_date, :target => Cdao::Jurisprudence, :type => :date, :join => { :from => :id, :to => :jurisprudence_id }) |
|
|
|
|
join(:search_year, :target => Cdao::Jurisprudence, :type => :integer, :join => { :from => :id, :to => :jurisprudence_id }) |
|
|
|
|
join(:reference_number, :target => Cdao::Jurisprudence, :type => :string, :join => { :from => :id, :to => :jurisprudence_id }) |
|
|
|
|
join(:subject_ids, :target => Doctrine, :type => :integer, :multiple => true, :join => { :from => :id, :to => :doctrine_id }) |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
|