From b1e6cde521f6b83a5b91722893495ecc3772065b Mon Sep 17 00:00:00 2001 From: Mark Cooper Date: Wed, 10 Oct 2012 23:20:02 -0700 Subject: [PATCH] LP#1022582: MARC Exporter includes deleted copies in holdings export Added check to filter out callnumbers/copies if deleted. Signed-off-by: Mark Cooper Signed-off-by: Bill Erickson --- Open-ILS/src/perlmods/lib/OpenILS/WWW/Exporter.pm | 5 +++-- Open-ILS/src/support-scripts/marc_export.in | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Open-ILS/src/perlmods/lib/OpenILS/WWW/Exporter.pm b/Open-ILS/src/perlmods/lib/OpenILS/WWW/Exporter.pm index 2fc4462cab..373effd353 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/WWW/Exporter.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/WWW/Exporter.pm @@ -218,10 +218,11 @@ sub handler { if ($holdings) { $req->delete_field( $_ ) for ($req->field('852')); # remove any legacy 852s - my $cn_list = $bib->call_numbers; + + my $cn_list = [ grep { $_->deleted eq 'f' } @{ $bib->call_numbers } ]; if ($cn_list && @$cn_list) { - my $cp_list = [ map { @{ $_->copies } } @$cn_list ]; + my $cp_list = [ grep { $_->deleted eq 'f' } map { @{ $_->copies } } @$cn_list ]; if ($cp_list && @$cp_list) { my %cn_map; diff --git a/Open-ILS/src/support-scripts/marc_export.in b/Open-ILS/src/support-scripts/marc_export.in index 588f8ddd7f..709c613ed5 100755 --- a/Open-ILS/src/support-scripts/marc_export.in +++ b/Open-ILS/src/support-scripts/marc_export.in @@ -383,12 +383,12 @@ sub add_bib_holdings { my $bib = shift; my $r = shift; - my $cn_list = $bib->call_numbers; + my $cn_list = [ grep { $_->deleted eq 'f' } @{ $bib->call_numbers } ]; if ($cn_list && @$cn_list) { $count{cn} += @$cn_list; - - my $cp_list = [ map { @{ $_->copies } } @$cn_list ]; + + my $cp_list = [ grep { $_->deleted eq 'f' } map { @{ $_->copies } } @$cn_list ]; if ($cp_list && @$cp_list) { my %cn_map; -- 2.43.2