Bug 19837: Add multiple patrons to a list by barcode
[koha.git] / cataloguing / addbooks.pl
index 672a070..ae4d7ac 100755 (executable)
@@ -24,8 +24,8 @@
 
 =cut
 
-use strict;
-use warnings;
+use Modern::Perl;
+
 use CGI qw ( -utf8 );
 use C4::Auth;
 use C4::Biblio;
@@ -34,6 +34,7 @@ use C4::Output;
 use C4::Koha;
 use C4::Search;
 
+use Koha::BiblioFrameworks;
 use Koha::SearchEngine::Search;
 use Koha::SearchEngine::QueryBuilder;
 
@@ -57,17 +58,6 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     }
 );
 
-# get framework list
-my $frameworks = getframeworks;
-my @frameworkcodeloop;
-foreach my $thisframeworkcode ( sort { uc($frameworks->{$a}->{'frameworktext'}) cmp uc($frameworks->{$b}->{'frameworktext'}) } keys %{$frameworks} ) {
-    push @frameworkcodeloop, {
-        value         => $thisframeworkcode,
-        frameworktext => $frameworks->{$thisframeworkcode}->{'frameworktext'},
-    };
-}
-
-
 # Searching the catalog.
 if ($query) {
 
@@ -143,8 +133,21 @@ for my $resultsbr (@resultsbr) {
     };
 }
 
+my $schema = Koha::Database->new()->schema();
+my $servers = $schema->resultset('Z3950server')->search(
+        {
+            recordtype => 'biblio',
+            servertype => ['zed', 'sru'],
+        },
+        {   result_class => 'DBIx::Class::ResultClass::HashRefInflator',
+            order_by     => ['rank', 'servername'],
+        },
+);
+
+my $frameworks = Koha::BiblioFrameworks->search({}, { order_by => ['frameworktext'] });
 $template->param(
-    frameworkcodeloop => \@frameworkcodeloop,
+    servers           => $servers,
+    frameworks        => $frameworks,
     breeding_count    => $countbr,
     breeding_loop     => $breeding_loop,
     z3950_search_params => C4::Search::z3950_search_args($query),