@@ -, +, @@
---
Koha/Exporter/Record.pm | 7 ++++---
koha-tmpl/intranet-tmpl/prog/en/modules/tools/export.tt | 10 +++-------
tools/export.pl | 11 ++++-------
3 files changed, 11 insertions(+), 17 deletions(-)
--- a/Koha/Exporter/Record.pm
+++ a/Koha/Exporter/Record.pm
@@ -63,7 +63,7 @@ sub _get_biblio_for_export {
my $biblionumber = $params->{biblionumber};
my $itemnumbers = $params->{itemnumbers};
my $export_items = $params->{export_items} // 1;
- my $only_export_items_for_branch = $params->{only_export_items_for_branch};
+ my $only_export_items_for_branches = $params->{only_export_items_for_branches};
my $record = eval { C4::Biblio::GetMarcBiblio($biblionumber); };
@@ -71,12 +71,13 @@ sub _get_biblio_for_export {
if ($export_items) {
C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblionumber, $itemnumbers );
- if ($only_export_items_for_branch) {
+ if (@$only_export_items_for_branches) {
+ my %export_items_for_branches = map { $_ => 1 } @$only_export_items_for_branches;
my ( $homebranchfield, $homebranchsubfield ) = GetMarcFromKohaField( 'items.homebranch', '' ); # Should be GetFrameworkCode( $biblionumber )?
for my $itemfield ( $record->field($homebranchfield) ) {
my $homebranch = $itemfield->subfield($homebranchsubfield);
- if ( $only_export_items_for_branch ne $homebranch ) {
+ unless ( $export_items_for_branches{$homebranch} ) {
$record->delete_field($itemfield);
}
}
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/export.tt
+++ a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/export.tt
@@ -96,7 +96,7 @@ $(document).ready(function() {
-
+
[% INCLUDE 'branch-selector.inc' branches = libraries %]
@@ -146,12 +146,8 @@ $(document).ready(function() {
-
-
-
-
-
-
+
+
--- a/tools/export.pl
+++ a/tools/export.pl
@@ -87,15 +87,12 @@ if ( $op eq "export" ) {
my $export_remove_fields = $query->param("export_remove_fields") || q||;
my @biblionumbers = $query->multi_param("biblionumbers");
my @itemnumbers = $query->multi_param("itemnumbers");
- my $strip_nonlocal_records = $query->param('strip_nonlocal_records');
- my $strip_nonlocal_items = $query->param('strip_nonlocal_items');
+ my $strip_items_not_from_libraries = $query->param('strip_items_not_from_libraries');
my @sql_params;
my $sql_query;
- my $libraries = $strip_nonlocal_records
- ? [ Koha::Libraries->find(C4::Context->userenv->{branch})->unblessed ]
- : Koha::Libraries->search_filtered->unblessed;
- my $only_export_items_for_branch = $strip_nonlocal_items ? Koha::Libraries->find(C4::Context->userenv->{branch})->branchcode : undef;
+ my $libraries = Koha::Libraries->search_filtered->unblessed;
+ my $only_export_items_for_branches = $strip_items_not_from_libraries ? \@branch : undef;
my @branchcodes;
for my $branchcode ( @branch ) {
if ( grep { $_->{branchcode} eq $branchcode } @$libraries ) {
@@ -211,7 +208,7 @@ if ( $op eq "export" ) {
dont_export_fields => $export_remove_fields,
csv_profile_id => $csv_profile_id,
export_items => (not $dont_export_items),
- only_export_items_for_branch => $only_export_items_for_branch,
+ only_export_items_for_branches => $only_export_items_for_branches,
}
);
}
--