Bug 21192: Do not pick SelfRegistration hidden fields for SelfModification
[koha.git] / virtualshelves / downloadshelf.pl
index 4d1bde2..b8b37fb 100755 (executable)
@@ -64,14 +64,16 @@ if ($shelfid && $format) {
             if ($format =~ /^\d+$/) {
                 my @biblios;
                 while ( my $content = $contents->next ) {
-                    push @biblios, $content->biblionumber->biblionumber;
+                    push @biblios, $content->biblionumber;
                 }
                 $output = marc2csv(\@biblios, $format);
             }
             else { #Other formats
                 while ( my $content = $contents->next ) {
-                    my $biblionumber = $content->biblionumber->biblionumber;
-                    my $record = GetMarcBiblio($biblionumber, 1);
+                    my $biblionumber = $content->biblionumber;
+                    my $record = GetMarcBiblio({
+                        biblionumber => $biblionumber,
+                        embed_items  => 1 });
                     if ($format eq 'iso2709') {
                         $output .= $record->as_usmarc();
                     }
@@ -83,6 +85,10 @@ if ($shelfid && $format) {
                     }
                 }
             }
+
+            # If it was a CSV export we change the format after the export so the file extension is fine
+            $format = "csv" if ($format =~ m/^\d+$/);
+
             print $query->header(
             -type => 'application/octet-stream',
             -'Content-Transfer-Encoding' => 'binary',
@@ -95,12 +101,9 @@ if ($shelfid && $format) {
     } else {
         push @messages, { type => 'error', code => 'does_not_exist' };
     }
-
-    # If it was a CSV export we change the format after the export so the file extension is fine
-    $format = "csv" if ($format =~ m/^\d+$/);
 }
 else {
-    $template->param(csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc' }) ]);
+    $template->param(csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc', used_for => 'export_records' }) ]);
     $template->param(shelfid => $shelfid); 
 }
 $template->param( messages => \@messages );