Bug 21622: Adjust incorrect GROUP BY clauses in acqui script
[koha.git] / acqui / booksellers.pl
index a4d010f..99da78c 100755 (executable)
@@ -51,8 +51,7 @@ The id of the supplier whose baskets we will display
 
 =cut
 
-use strict;
-use warnings;
+use Modern::Perl;
 use C4::Auth;
 use C4::Biblio;
 use C4::Budgets;
@@ -60,10 +59,10 @@ use C4::Output;
 use CGI qw ( -utf8 );
 
 use C4::Acquisition qw/ GetBasketsInfosByBookseller CanUserManageBasket /;
-use C4::Members qw/GetMember/;
 use C4::Context;
 
 use Koha::Acquisition::Booksellers;
+use Koha::Patrons;
 
 my $query = CGI->new;
 my ( $template, $loggedinuser, $cookie, $userflags ) = get_template_and_user(
@@ -83,9 +82,11 @@ my $allbaskets= $query->param('allbaskets')||0;
 my @suppliers;
 
 if ($booksellerid) {
-    push @suppliers, Koha::Acquisition::Booksellers->find( $booksellerid );
+    push @suppliers, scalar Koha::Acquisition::Booksellers->find( $booksellerid );
 } else {
-    @suppliers = Koha::Acquisition::Booksellers->search({ name => $supplier });
+    @suppliers = Koha::Acquisition::Booksellers->search(
+                        { name => { -like => "%$supplier%" } },
+                        { order_by => { -asc => 'name' } } );
 }
 
 my $supplier_count = @suppliers;
@@ -99,8 +100,10 @@ if ( $supplier_count == 1 ) {
 }
 
 my $uid;
+# FIXME This script should only be accessed by a valid logged in patron
 if ($loggedinuser) {
-    $uid = GetMember( borrowernumber => $loggedinuser )->{userid};
+    # FIXME Should not be needed, logged in patron should be cached
+    $uid = Koha::Patrons->find( $loggedinuser )->userid;
 }
 
 my $userenv = C4::Context::userenv;
@@ -130,13 +133,12 @@ for my $vendor (@suppliers) {
 
     for my $basket ( @{$baskets} ) {
         if (CanUserManageBasket($loggedinuser, $basket, $userflags)) {
-            my $member = GetMember( borrowernumber => $basket->{authorisedby} );
+            my $patron = Koha::Patrons->find( $basket->{authorisedby} );
             foreach (qw(total_items total_biblios expected_items)) {
                 $basket->{$_} ||= 0;
             }
-            if($member) {
-                $basket->{authorisedby_firstname} = $member->{firstname};
-                $basket->{authorisedby_surname} = $member->{surname};
+            if ( $patron ) {
+                $basket->{authorisedby} = $patron;
             }
             if ($basket->{basketgroupid}) {
                 my $basketgroup = C4::Acquisition::GetBasketgroup($basket->{basketgroupid});