@@ -, +, @@ in acq orders [title] by [author] – [isbn] Publisher: [publishercode], [publicationyear] - Choose a biblio record containing a data in : biblio.title, biblio.author, biblioitems.isbn, biblioitems.publishercode, biblioitems.publicationyear, biblio.seriestitle, biblioitems.volume. - Create an order using this biblio. - Look at this order in pages : parcel.pl, transferorder.pl, uncertainprice.pl - Look at this order in page : invoice.pl --- C4/Acquisition.pm | 47 ++++++++++++++++------ acqui/uncertainprice.pl | 20 +-------- .../intranet-tmpl/prog/en/modules/acqui/invoice.tt | 18 ++++----- .../intranet-tmpl/prog/en/modules/acqui/parcel.tt | 16 +++++--- .../prog/en/modules/acqui/transferorder.tt | 7 +++- .../prog/en/modules/acqui/uncertainprice.tt | 17 +++++--- 6 files changed, 72 insertions(+), 53 deletions(-) --- a/C4/Acquisition.pm +++ a/C4/Acquisition.pm @@ -861,18 +861,30 @@ Results are ordered from most to least recent. sub GetPendingOrders { my ($supplierid,$grouped,$owner,$basketno,$ordernumber,$search,$ean) = @_; my $dbh = C4::Context->dbh; - my $strsth = " - SELECT ".($grouped?"count(*),":"")."aqbasket.basketno, - surname,firstname,biblio.*,biblioitems.isbn, - aqbasket.closedate, aqbasket.creationdate, aqbasket.basketname, - aqorders.* + my $strsth = q{SELECT }; + $strsth .= q{COUNT(*),} if $grouped; + $strsth .= q{ + aqbasket.basketno, + borrowers.surname, + borrowers.firstname, + biblio.title, + biblio.author, + biblioitems.isbn, + biblioitems.publishercode, + biblioitems.publicationyear, + aqbasket.closedate, + aqbasket.creationdate, + aqbasket.basketname, + aqorders.* FROM aqorders - LEFT JOIN aqbasket ON aqbasket.basketno=aqorders.basketno - LEFT JOIN borrowers ON aqbasket.authorisedby=borrowers.borrowernumber - LEFT JOIN biblio ON biblio.biblionumber=aqorders.biblionumber - LEFT JOIN biblioitems ON biblioitems.biblionumber=biblio.biblionumber - WHERE (quantity > quantityreceived OR quantityreceived is NULL) - AND datecancellationprinted IS NULL"; + LEFT JOIN aqbasket ON aqbasket.basketno=aqorders.basketno + LEFT JOIN borrowers ON aqbasket.authorisedby=borrowers.borrowernumber + LEFT JOIN biblio ON biblio.biblionumber=aqorders.biblionumber + LEFT JOIN biblioitems ON biblioitems.biblionumber=biblio.biblionumber + WHERE + (quantity > quantityreceived OR quantityreceived IS NULL) + AND datecancellationprinted IS NULL + }; my @query_params; my $userenv = C4::Context->userenv; if ( C4::Context->preference("IndependentBranches") ) { @@ -2433,10 +2445,19 @@ sub GetInvoiceDetails { my $invoice = $sth->fetchrow_hashref; - $query = qq{ - SELECT aqorders.*, biblio.* + $query = q{ + SELECT + aqorders.*, + biblio.title, + biblio.author, + biblio.seriestitle, + biblioitems.isbn, + biblioitems.publishercode, + biblioitems.publicationyear, + biblioitems.volume FROM aqorders LEFT JOIN biblio ON aqorders.biblionumber = biblio.biblionumber + LEFT JOIN biblioitems ON biblioitems.biblionumber=biblio.biblionumber WHERE invoiceid = ? }; $sth = $dbh->prepare($query); --- a/acqui/uncertainprice.pl +++ a/acqui/uncertainprice.pl @@ -74,24 +74,8 @@ my $bookseller = &GetBookSellerFromId($booksellerid); #show all orders that have uncertain price for the bookseller my $pendingorders = &GetPendingOrders($booksellerid,0,$owner,$basketno); -my @orders; - -foreach my $order (@{$pendingorders}) { - if ( $order->{'uncertainprice'} ) { - my $bibdata = &GetBiblioData($order->{'biblionumber'}); - $order->{'bibisbn'} = $bibdata->{'isbn'}; - $order->{'bibpublishercode'} = $bibdata->{'publishercode'}; - $order->{'bibpublicationyear'} = $bibdata->{'publicationyear'}; - $order->{'bibtitle'} = $bibdata->{'title'}; - $order->{'bibauthor'} = $bibdata->{'author'}; - $order->{'surname'} = $order->{'surname'}; - $order->{'firstname'} = $order->{'firstname'}; - my $order_as_from_db=GetOrder($order->{ordernumber}); - $order->{'quantity'} = $order_as_from_db->{'quantity'}; - $order->{'listprice'} = $order_as_from_db->{'listprice'}; - push(@orders, $order); - } -} +my @orders = grep { $_->{'uncertainprice'} } @$pendingorders; + if ( $op eq 'validate' ) { $template->param( validate => 1); my $count = scalar(@orders); --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/invoice.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/invoice.tt @@ -108,18 +108,16 @@
[% FOREACH order IN orders_loop %][% order.title %]
- [% IF ( order.author ) %]
-
by [% order.author %]
- [% END %]
-
[% order.publishercode %] - [% IF ( order.publicationyear ) %] - - [% order.publicationyear %] - [% END %] -
+ [% order.publishercode %] + [%- IF ( order.publicationyear ) %], [% order.publicationyear %][% END %] [% END %][% order.branchcode %]