From 5bc39afd322577d05e0793b7e6ee1b0717a8b065 Mon Sep 17 00:00:00 2001 From: Peter Weber Date: Wed, 5 Feb 2020 09:06:51 +0100 Subject: [PATCH] ES: fix listeners * Fixes patron listener for bulk indexing. Co-Authored-by: Peter Weber --- rero_ils/modules/fees/listener.py | 4 +++- rero_ils/modules/patrons/listener.py | 7 +++++-- rero_ils/modules/persons/listener.py | 4 +++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/rero_ils/modules/fees/listener.py b/rero_ils/modules/fees/listener.py index 9cbf2eca9e..b9eb2b53de 100644 --- a/rero_ils/modules/fees/listener.py +++ b/rero_ils/modules/fees/listener.py @@ -30,7 +30,9 @@ def enrich_fee_data(sender, json=None, record=None, index=None, :param doc_type: The doc_type for the record. """ if index == '-'.join([FeesSearch.Meta.index, doc_type]): - fee = Fee.get_record_by_pid(record.get('pid')) + fee = record + if not isinstance(record, Fee): + fee = Fee.get_record_by_pid(record.get('pid')) org_pid = fee.organisation_pid json['organisation'] = { 'pid': org_pid diff --git a/rero_ils/modules/patrons/listener.py b/rero_ils/modules/patrons/listener.py index 660e65b8ec..671cfca52a 100644 --- a/rero_ils/modules/patrons/listener.py +++ b/rero_ils/modules/patrons/listener.py @@ -17,7 +17,7 @@ """Signals connector for patron.""" -from .api import PatronsSearch +from .api import Patron, PatronsSearch def enrich_patron_data(sender, json=None, record=None, index=None, @@ -30,7 +30,10 @@ def enrich_patron_data(sender, json=None, record=None, index=None, :param doc_type: The doc_type for the record. """ if index == '-'.join([PatronsSearch.Meta.index, doc_type]): - org_pid = record.get_organisation()['pid'] + patron = record + if not isinstance(record, Patron): + patron = Patron.get_record_by_pid(record.get('pid')) + org_pid = patron.get_organisation()['pid'] if org_pid: json['organisation'] = { 'pid': org_pid diff --git a/rero_ils/modules/persons/listener.py b/rero_ils/modules/persons/listener.py index 8530f63aa4..7ccd996c22 100644 --- a/rero_ils/modules/persons/listener.py +++ b/rero_ils/modules/persons/listener.py @@ -30,5 +30,7 @@ def enrich_persons_data(sender, json=None, record=None, index=None, :param doc_type: The doc_type for the record. """ if index == '-'.join([PersonsSearch.Meta.index, doc_type]): - person = Person.get_record_by_pid(record.get('pid')) + person = record + if not isinstance(record, Person): + person = Person.get_record_by_pid(record.get('pid')) json['organisations'] = person.organisation_pids