From e0826e1196a90ef6a3c584fdec870237fa874fbb Mon Sep 17 00:00:00 2001 From: Angel Aviel Domaoan Date: Thu, 27 Jan 2022 07:10:59 +0000 Subject: [PATCH] Link subjects into jurisprudences --- app/controllers/concerns/jurisprudence_search.rb | 2 ++ app/models/cdao/jurisprudence.rb | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/app/controllers/concerns/jurisprudence_search.rb b/app/controllers/concerns/jurisprudence_search.rb index 5c801e2..e0ce97c 100644 --- a/app/controllers/concerns/jurisprudence_search.rb +++ b/app/controllers/concerns/jurisprudence_search.rb @@ -11,6 +11,8 @@ module JurisprudenceSearch fulltext search_params[field], fields: [field] if search_params[field].present? end + with(:subject_ids).any_of(search_params[:subject_ids].split(",").map(&:strip).map(&:to_i)) if search_params[:subject_ids].present? + order_by :doc_date order_by :year diff --git a/app/models/cdao/jurisprudence.rb b/app/models/cdao/jurisprudence.rb index 4c6454f..48f05d4 100644 --- a/app/models/cdao/jurisprudence.rb +++ b/app/models/cdao/jurisprudence.rb @@ -5,6 +5,14 @@ class Cdao::Jurisprudence < Cdao::Base alias_attribute :doc_date, :docdate + def subjects + doctrines.map(&:subjects).flatten.uniq + end + + def subject_ids + subjects.map(&:id) + end + searchable do text :reference_number, stored: true text :title, stored: true @@ -28,6 +36,7 @@ class Cdao::Jurisprudence < Cdao::Base integer :search_year do year.present? && year > 0 ? year : (doc_date.try :year) end + integer :subject_ids, multiple: true boolean :edited end