From 09394d979cc73fb125cc74c7442b7f815e49ada1 Mon Sep 17 00:00:00 2001 From: Nicola Tarocco Date: Thu, 11 Jan 2024 14:22:05 +0100 Subject: [PATCH] anonymization: fix orders with patron_pid * fixes an error when anonymizing an order that does not have the patron_pid in the order lines --- invenio_app_ils/patrons/anonymization.py | 2 +- tests/data/acq_orders.json | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/invenio_app_ils/patrons/anonymization.py b/invenio_app_ils/patrons/anonymization.py index 9035c36a1..e687aa823 100644 --- a/invenio_app_ils/patrons/anonymization.py +++ b/invenio_app_ils/patrons/anonymization.py @@ -172,7 +172,7 @@ def anonymize_patron_data(patron_pid, force=False): for hit in patron_acquisitions: acquisition = Order.get_record_by_pid(hit.pid) for line in acquisition["order_lines"]: - if line["patron_pid"] == patron_pid: + if line.get("patron_pid") == patron_pid: line["patron_pid"] = anonymous_patron_fields["pid"] acquisition.commit() current_ils_acq.order_indexer.index(acquisition) diff --git a/tests/data/acq_orders.json b/tests/data/acq_orders.json index e00a726f0..68994943d 100644 --- a/tests/data/acq_orders.json +++ b/tests/data/acq_orders.json @@ -85,5 +85,26 @@ "pid": "acqoid-6", "status": "ORDERED", "provider_pid": "acq-provid-2" + }, + { + "order_date": "2020-01-29", + "order_lines": [ + { + "copies_ordered": 1, + "document_pid": "docid-1", + "medium": "hardcover", + "recipient": "patron", + "patron_pid": "4" + }, + { + "copies_ordered": 1, + "document_pid": "docid-1", + "medium": "hardcover", + "recipient": "patron" + } + ], + "pid": "acqoid-7", + "status": "RECEIVED", + "provider_pid": "acq-provid-2" } ]