fix(dossier): sync search_terms after merge
Use a job instead of a lot of reloads
This commit is contained in:
parent
11dd1b7d76
commit
f6ebfe0e47
8 changed files with 93 additions and 44 deletions
|
@ -50,6 +50,7 @@ class Dossier < ApplicationRecord
|
|||
include DossierFilteringConcern
|
||||
include DossierPrefillableConcern
|
||||
include DossierRebaseConcern
|
||||
include DossierSearchableConcern
|
||||
include DossierSectionsConcern
|
||||
include DossierCloneConcern
|
||||
|
||||
|
@ -455,7 +456,6 @@ class Dossier < ApplicationRecord
|
|||
delegate :france_connect_information, to: :user, allow_nil: true
|
||||
|
||||
before_save :build_default_champs_for_new_dossier, if: Proc.new { revision_id_was.nil? && parent_dossier_id.nil? && editing_fork_origin_id.nil? }
|
||||
before_save :update_search_terms
|
||||
|
||||
after_save :send_web_hook
|
||||
|
||||
|
@ -504,17 +504,6 @@ class Dossier < ApplicationRecord
|
|||
end
|
||||
end
|
||||
|
||||
def update_search_terms
|
||||
self.search_terms = [
|
||||
user&.email,
|
||||
*champs_public.flat_map(&:search_terms),
|
||||
*etablissement&.search_terms,
|
||||
individual&.nom,
|
||||
individual&.prenom
|
||||
].compact.join(' ')
|
||||
self.private_search_terms = champs_private.flat_map(&:search_terms).compact.join(' ')
|
||||
end
|
||||
|
||||
def build_default_champs_for_new_dossier
|
||||
revision.build_champs_public.each do |champ|
|
||||
champs_public << champ
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue