[Koha-patches] [PATCH] Bug 3803 Add PO Number and ISSN to orders display in basket

Colin Campbell colin.campbell at ptfs-europe.com
Mon Nov 23 12:29:47 CET 2009


Removed some old code from basket display
Added use warnings to basket.pl
Suppress some warnings generated in basket.pl
---
 C4/Acquisition.pm                                  |   11 +---
 acqui/basket.pl                                    |   53 ++++++++++----------
 .../prog/en/modules/acqui/basket.tmpl              |   12 +++-
 3 files changed, 37 insertions(+), 39 deletions(-)

diff --git a/C4/Acquisition.pm b/C4/Acquisition.pm
index d8a6c95..3ad4cd9 100644
--- a/C4/Acquisition.pm
+++ b/C4/Acquisition.pm
@@ -226,7 +226,6 @@ sub GetPendingOrders {
     my $sth = $dbh->prepare($strsth);
     $sth->execute( @query_params );
     my $results = $sth->fetchall_arrayref({});
-    $sth->finish;
     return $results;
 }
 
@@ -271,15 +270,9 @@ sub GetOrders {
 
     $orderby = "biblioitems.publishercode,biblio.title" unless $orderby;
     $query .= " ORDER BY $orderby";
-    my $sth = $dbh->prepare($query);
-    $sth->execute($basketno);
-    my @results;
 
-    while ( my $data = $sth->fetchrow_hashref ) {
-        push @results, $data;
-    }
-    $sth->finish;
-    return @results;
+    my $order_rows = $dbh->selectall_arrayref($query, { Slice => {} }, $basketno);
+    return @{ $order_rows };
 }
 
 #------------------------------------------------------------#
diff --git a/acqui/basket.pl b/acqui/basket.pl
index 0e29473..3322f46 100755
--- a/acqui/basket.pl
+++ b/acqui/basket.pl
@@ -21,6 +21,7 @@
 # Suite 330, Boston, MA  02111-1307 USA
 
 use strict;
+use warnings;
 use C4::Auth;
 use C4::Koha;
 use C4::Output;
@@ -133,7 +134,6 @@ else {
       $basket->{creationdate}, $basket->{authorisedby};
 
     my @results = GetOrders( $basketno, $sort );
-    my $count = scalar @results;
 
     my $sub_total;      # total of line totals
     my $grand_total;    # $subttotal + $gist
@@ -145,24 +145,23 @@ else {
 
     my $qty_total;
     my @books_loop;
-    for ( my $i = 0 ; $i < $count ; $i++ ) {
-        my $rrp = $results[$i]->{'listprice'};
-		my $qty = $results[$i]->{'quantity'};
-        $rrp = ConvertCurrency( $results[$i]->{'currency'}, $rrp );
-        $sub_total_rrp += $qty * $results[$i]->{'rrp'};
-        my $line_total = $qty * $results[$i]->{'ecost'};
+    my $line_id = 0;
+    for my $orderline (@results) {
+        my $rrp = $orderline->{'listprice'};
+		my $qty = $orderline->{'quantity'};
+        $rrp = ConvertCurrency( $orderline->{'currency'}, $rrp );
+        $sub_total_rrp += $qty * $orderline->{'rrp'};
+        my $line_total = $qty * $orderline->{'ecost'};
 		# FIXME: what about the "actual cost" field?
         $sub_total += $line_total;
         $qty_total += $qty;
-        my %line = %{ $results[$i] };
-		($i%2) and $line{toggle} = 1;
-        $line{order_received}= ( $qty eq $results[$i]->{'quantityreceived'} );
+        my %line = %{ $orderline };
+        $line{order_received}= ( $qty eq $orderline->{'quantityreceived'} );
         $line{basketno}      = $basketno;
-        $line{i}             = $i;
+        $line{i}             = $line_id++;
         $line{rrp}           = sprintf( "%.2f", $line{'rrp'} );
         $line{ecost}         = sprintf( "%.2f", $line{'ecost'} );
         $line{line_total}    = sprintf( "%.2f", $line_total );
-        $line{odd}           = $i % 2;
         push @books_loop, \%line;
     }
     my $prefgist = C4::Context->preference("gist") || 0;
@@ -196,21 +195,21 @@ else {
         address4         => $bookseller->{'address4'},
         entrydate        => format_date( $results[0]->{'entrydate'} ),
         books_loop       => \@books_loop,
-         sort_loop       => \@sort_loop,
-        count            => $count,
-        gist             => $gist ? sprintf( "%.2f", $gist ) : 0,
-        gist_rate        => sprintf( "%.2f", $prefgist * 100) . '%',
-        gist_est         => sprintf( "%.2f", $sub_total_est * $prefgist ),
-        gist_rrp         => sprintf( "%.2f", $gist_rrp),
-          sub_total      => sprintf( "%.2f", $sub_total ),
-        grand_total      => sprintf( "%.2f", $grand_total ),
-          sub_total_est  => sprintf( "%.2f", $sub_total_est),
-        grand_total_est  => sprintf( "%.2f", $grand_total_est),
-          sub_total_rrp  => sprintf( "%.2f", $sub_total_rrp),
-        grand_total_rrp  => sprintf( "%.2f", $sub_total_rrp + $gist_rrp),
-        currency         => $bookseller->{'listprice'},
-        qty_total        => $qty_total,
-        GST              => $prefgist,
+        sort_loop        => \@sort_loop,
+        count            => scalar @results,
+        gist             => $gist ? sprintf( '%.2f', $gist ) : 0,
+        gist_rate => $prefgist ? sprintf( '%.2f%%', $prefgist * 100 ) : '0%',
+        gist_est  => $gist_total_est && $prefgist ? sprintf( '%.2f', $sub_total_est * $prefgist ) : 0,
+        gist_rrp    => $gist_rrp    ? sprintf( '%.2f', $gist_rrp )    : 0,
+        sub_total   => $sub_total   ? sprintf( '%.2f', $sub_total )   : 0,
+        grand_total => $grand_total ? sprintf( '%.2f', $grand_total ) : 0,
+        sub_total_est => $sub_total_est ? sprintf( '%.2f', $sub_total_est ) : 0,
+        grand_total_est => $grand_total_est ? sprintf( '%.2f', $grand_total_est ) : 0,
+        sub_total_rrp => $sub_total_rrp ? sprintf( '%.2f', $sub_total_rrp ) : 0,
+        grand_total_rrp => $grand_total_rrp ? sprintf( '%.2f', $sub_total_rrp + $gist_rrp ) : 0,
+        currency  => $bookseller->{'listprice'},
+        qty_total => $qty_total,
+        GST       => $prefgist,
     );
 }
 output_html_with_http_headers $query, $cookie, $template->output;
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basket.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basket.tmpl
index cee6d91..91a9fe7 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basket.tmpl
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basket.tmpl
@@ -64,8 +64,9 @@
         <table>
             <tr>
                 <th>Order</th>
+                <th>PO Number</th>
                 <th>Title</th>
-                <th>ISBN</th>
+                <th>ISBN/ISSN</th>
                 <th><a href="basket.pl?basketno=<!-- TMPL_VAR name="basketno" -->&amp;order=biblioitems.publishercode">Publisher</a></th>
                 <th>RRP</th>
                 <th>Est.</th>
@@ -85,6 +86,7 @@
                  <!-- TMPL_IF NAME="order_received" --><tr class="disabled"><!-- TMPL_ELSE --><!-- TMPL_IF NAME="toggle" --><tr class="highlight"><!-- TMPL_ELSE --><tr><!-- /TMPL_IF --><!-- /TMPL_IF -->
                     <td><!-- TMPL_VAR NAME="ordernumber" -->
 							<!-- TMPL_IF NAME="order_received" --> (rcvd)<!-- /TMPL_IF --></td>
+                    <td><!-- TMPL_VAR NAME="purchaseordernumber" --></td>
                         <td>
                            	<p>
                                 <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR name="biblionumber" -->"><!-- TMPL_VAR NAME="title" escape="html" --></a></p>
@@ -92,7 +94,11 @@
                                 <!-- TMPL_IF name="notes" --></p><p><!--TMPL_VAR name="notes" --><!-- /TMPL_IF -->
                             </p>
                         </td>
-                    <td><!-- TMPL_IF name="isbn"--><!-- TMPL_VAR name="isbn" --><!-- /TMPL_IF --></td>
+                    <td>
+                    <!-- TMPL_IF name="isbn"--><!-- TMPL_VAR name="isbn" --><!-- /TMPL_IF -->
+                    &nbsp;
+                    <!-- TMPL_IF name="issn"--><!-- TMPL_VAR name="issn" --><!-- /TMPL_IF -->
+                   </td>
                     <td><!-- TMPL_VAR NAME="publishercode" --></td>
                     <td class="number"><!-- TMPL_VAR NAME="rrp" --></td>
                     <td class="number"><!-- TMPL_VAR NAME="ecost" --></td>
@@ -112,7 +118,7 @@
                 </tr>
             <!-- /TMPL_LOOP -->
             <tr>
-                <td colspan="2" rowspan="3">
+                <td colspan="4" rowspan="3">
                     <input type="hidden" name="number" value="<!-- TMPL_VAR NAME="count" -->" />
                     <input type="hidden" name="basketno" value="<!-- TMPL_VAR NAME="basketno" -->" />
                 </td>
-- 
1.6.5.2




More information about the Koha-patches mailing list