Bug 5336: Order search (search and UI enhancements)
You can now search orders by - order status - fund The patch series also adds a new field, aqorders.orderstatus, which can contain following values: new ordered partial (for partially received orders) complete cancelled To test: Search and check if results are consistent in histsearch.pl Signed-off-by: Cedric Vita <cedric.vita@dracenie.com> Signed-off-by: Pierre Angot <tredok.pierre@gmail.com> Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de> Comments on last patch. Note: status are no longer numeric, but strings now. Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This commit is contained in:
parent
d910cee85c
commit
8a2b3bc0c8
|
|
@ -28,7 +28,7 @@ use MARC::Record;
|
|||
use C4::Suggestions;
|
||||
use C4::Biblio;
|
||||
use C4::Debug;
|
||||
use C4::SQLHelper qw(InsertInTable);
|
||||
use C4::SQLHelper qw(InsertInTable UpdateInTable);
|
||||
use C4::Bookseller qw(GetBookSellerFromId);
|
||||
use C4::Templates qw(gettemplate);
|
||||
|
||||
|
|
@ -43,7 +43,7 @@ BEGIN {
|
|||
require Exporter;
|
||||
@ISA = qw(Exporter);
|
||||
@EXPORT = qw(
|
||||
&GetBasket &NewBasket &CloseBasket &DelBasket &ModBasket
|
||||
&GetBasket &NewBasket &CloseBasket &ReopenBasket &DelBasket &ModBasket
|
||||
&GetBasketAsCSV &GetBasketGroupAsCSV
|
||||
&GetBasketsByBookseller &GetBasketsByBasketgroup
|
||||
&GetBasketsInfosByBookseller
|
||||
|
|
@ -77,6 +77,7 @@ BEGIN {
|
|||
&GetItemnumbersFromOrder
|
||||
|
||||
&AddClaim
|
||||
&GetBiblioCountByBasketno
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -216,7 +217,7 @@ sub NewBasket {
|
|||
|
||||
&CloseBasket($basketno);
|
||||
|
||||
close a basket (becomes unmodifiable,except for recieves)
|
||||
close a basket (becomes unmodifiable, except for receives)
|
||||
|
||||
=cut
|
||||
|
||||
|
|
@ -230,6 +231,48 @@ sub CloseBasket {
|
|||
";
|
||||
my $sth = $dbh->prepare($query);
|
||||
$sth->execute($basketno);
|
||||
|
||||
my @orders = GetOrders($basketno);
|
||||
foreach my $order (@orders) {
|
||||
$query = qq{
|
||||
UPDATE aqorders
|
||||
SET orderstatus = 1
|
||||
WHERE ordernumber = ?;
|
||||
};
|
||||
$sth = $dbh->prepare($query);
|
||||
$sth->execute($order->{'ordernumber'});
|
||||
}
|
||||
}
|
||||
|
||||
=head3 ReopenBasket
|
||||
|
||||
&ReopenBasket($basketno);
|
||||
|
||||
reopen a basket
|
||||
|
||||
=cut
|
||||
|
||||
sub ReopenBasket {
|
||||
my ($basketno) = @_;
|
||||
my $dbh = C4::Context->dbh;
|
||||
my $query = "
|
||||
UPDATE aqbasket
|
||||
SET closedate=NULL
|
||||
WHERE basketno=?
|
||||
";
|
||||
my $sth = $dbh->prepare($query);
|
||||
$sth->execute($basketno);
|
||||
|
||||
my @orders = GetOrders($basketno);
|
||||
foreach my $order (@orders) {
|
||||
$query = qq{
|
||||
UPDATE aqorders
|
||||
SET orderstatus = 0
|
||||
WHERE ordernumber = ?;
|
||||
};
|
||||
$sth = $dbh->prepare($query);
|
||||
$sth->execute($order->{'ordernumber'});
|
||||
}
|
||||
}
|
||||
|
||||
#------------------------------------------------------------#
|
||||
|
|
@ -469,6 +512,7 @@ sub ModBasket {
|
|||
my $dbh = C4::Context->dbh;
|
||||
my $sth = $dbh->prepare($query);
|
||||
$sth->execute(@params);
|
||||
|
||||
$sth->finish;
|
||||
}
|
||||
|
||||
|
|
@ -1032,7 +1076,8 @@ The following keys are used: "biblionumber", "title", "basketno", "quantity", "n
|
|||
|
||||
sub NewOrder {
|
||||
my $orderinfo = shift;
|
||||
#### ------------------------------
|
||||
my $parent_ordernumber = shift;
|
||||
|
||||
my $dbh = C4::Context->dbh;
|
||||
my @params;
|
||||
|
||||
|
|
@ -1259,7 +1304,8 @@ sub ModReceiveOrder {
|
|||
# (entirely received)
|
||||
$sth=$dbh->prepare("
|
||||
UPDATE aqorders
|
||||
SET quantity = ?
|
||||
SET quantity = ?,
|
||||
orderstatus = 2
|
||||
WHERE ordernumber = ?
|
||||
");
|
||||
|
||||
|
|
@ -1288,7 +1334,7 @@ sub ModReceiveOrder {
|
|||
} else {
|
||||
$sth=$dbh->prepare("update aqorders
|
||||
set quantityreceived=?,datereceived=?,invoiceid=?,
|
||||
unitprice=?,rrp=?,ecost=?,budget_id=?
|
||||
unitprice=?,rrp=?,ecost=?,budget_id=?,orderstatus=3
|
||||
where biblionumber=? and ordernumber=?");
|
||||
$sth->execute($quantrec,$datereceived,$invoiceid,$cost,$rrp,$ecost,$budget_id,$biblionumber,$ordernumber);
|
||||
$sth->finish;
|
||||
|
|
@ -1338,7 +1384,8 @@ sub CancelReceipt {
|
|||
UPDATE aqorders
|
||||
SET quantityreceived = ?,
|
||||
datereceived = ?,
|
||||
invoiceid = ?
|
||||
invoiceid = ?,
|
||||
orderstatus = 1
|
||||
WHERE ordernumber = ?
|
||||
};
|
||||
$sth = $dbh->prepare($query);
|
||||
|
|
@ -1365,7 +1412,8 @@ sub CancelReceipt {
|
|||
}
|
||||
$query = qq{
|
||||
UPDATE aqorders
|
||||
SET quantity = ?
|
||||
SET quantity = ?,
|
||||
orderstatus = 1
|
||||
WHERE ordernumber = ?
|
||||
};
|
||||
$sth = $dbh->prepare($query);
|
||||
|
|
@ -1545,7 +1593,7 @@ sub DelOrder {
|
|||
my $dbh = C4::Context->dbh;
|
||||
my $query = "
|
||||
UPDATE aqorders
|
||||
SET datecancellationprinted=now()
|
||||
SET datecancellationprinted=now(), orderstatus=4
|
||||
WHERE biblionumber=? AND ordernumber=?
|
||||
";
|
||||
my $sth = $dbh->prepare($query);
|
||||
|
|
@ -1964,6 +2012,9 @@ sub GetHistory {
|
|||
my $basket = $params{basket};
|
||||
my $booksellerinvoicenumber = $params{booksellerinvoicenumber};
|
||||
my $basketgroupname = $params{basketgroupname};
|
||||
my $budget = $params{budget};
|
||||
my $orderstatus = $params{orderstatus};
|
||||
|
||||
my @order_loop;
|
||||
my $total_qty = 0;
|
||||
my $total_qtyreceived = 0;
|
||||
|
|
@ -1972,10 +2023,10 @@ sub GetHistory {
|
|||
my $dbh = C4::Context->dbh;
|
||||
my $query ="
|
||||
SELECT
|
||||
biblio.title,
|
||||
biblio.author,
|
||||
biblioitems.isbn,
|
||||
biblioitems.ean,
|
||||
COALESCE(biblio.title, deletedbiblio.title) AS title,
|
||||
COALESCE(biblio.author, deletedbiblio.author) AS author,
|
||||
COALESCE(biblioitems.isbn, deletedbiblioitems.isbn) AS isbn,
|
||||
COALESCE(biblioitems.ean, deletedbiblioitems.ean) AS ean,
|
||||
aqorders.basketno,
|
||||
aqbasket.basketname,
|
||||
aqbasket.basketgroupid,
|
||||
|
|
@ -1990,19 +2041,32 @@ sub GetHistory {
|
|||
aqorders.invoiceid,
|
||||
aqinvoices.invoicenumber,
|
||||
aqbooksellers.id as id,
|
||||
aqorders.biblionumber
|
||||
aqorders.biblionumber,
|
||||
aqorders.orderstatus,
|
||||
aqorders.parent_ordernumber,
|
||||
aqbudgets.budget_name
|
||||
";
|
||||
$query .= ", aqbudgets.budget_id AS budget" if defined $budget;
|
||||
$query .= "
|
||||
FROM aqorders
|
||||
LEFT JOIN aqbasket ON aqorders.basketno=aqbasket.basketno
|
||||
LEFT JOIN aqbasketgroups ON aqbasket.basketgroupid=aqbasketgroups.id
|
||||
LEFT JOIN aqbooksellers ON aqbasket.booksellerid=aqbooksellers.id
|
||||
LEFT JOIN biblioitems ON biblioitems.biblionumber=aqorders.biblionumber
|
||||
LEFT JOIN biblioitems ON biblioitems.biblionumber=aqorders.biblionumber
|
||||
LEFT JOIN biblio ON biblio.biblionumber=aqorders.biblionumber
|
||||
LEFT JOIN aqinvoices ON aqorders.invoiceid = aqinvoices.invoiceid";
|
||||
LEFT JOIN aqbudgets ON aqorders.budget_id=aqbudgets.budget_id
|
||||
LEFT JOIN aqinvoices ON aqorders.invoiceid = aqinvoices.invoiceid
|
||||
LEFT JOIN deletedbiblio ON deletedbiblio.biblionumber=aqorders.biblionumber
|
||||
LEFT JOIN deletedbiblioitems ON deletedbiblioitems.biblionumber=aqorders.biblionumber
|
||||
";
|
||||
|
||||
$query .= " LEFT JOIN borrowers ON aqbasket.authorisedby=borrowers.borrowernumber"
|
||||
if ( C4::Context->preference("IndependentBranches") );
|
||||
if ( C4::Context->preference("IndependentBranches") ) {
|
||||
$query .= " LEFT JOIN borrowers ON aqbasket.authorisedby=borrowers.borrowernumber";
|
||||
}
|
||||
|
||||
$query .= " WHERE (datecancellationprinted is NULL or datecancellationprinted='0000-00-00') ";
|
||||
$query .= " WHERE 1 ";
|
||||
|
||||
$query .= " AND (datecancellationprinted is NULL or datecancellationprinted='0000-00-00') " if $orderstatus ne '4';
|
||||
|
||||
my @query_params = ();
|
||||
|
||||
|
|
@ -2021,7 +2085,7 @@ sub GetHistory {
|
|||
$query .= " AND biblioitems.isbn LIKE ? ";
|
||||
push @query_params, "%$isbn%";
|
||||
}
|
||||
if ( defined $ean and $ean ) {
|
||||
if ( $ean ) {
|
||||
$query .= " AND biblioitems.ean = ? ";
|
||||
push @query_params, "$ean";
|
||||
}
|
||||
|
|
@ -2030,6 +2094,11 @@ sub GetHistory {
|
|||
push @query_params, "%$name%";
|
||||
}
|
||||
|
||||
if ( $budget ) {
|
||||
$query .= " AND aqbudgets.budget_id = ? ";
|
||||
push @query_params, "$budget";
|
||||
}
|
||||
|
||||
if ( $from_placed_on ) {
|
||||
$query .= " AND creationdate >= ? ";
|
||||
push @query_params, $from_placed_on;
|
||||
|
|
@ -2040,6 +2109,11 @@ sub GetHistory {
|
|||
push @query_params, $to_placed_on;
|
||||
}
|
||||
|
||||
if ( defined $orderstatus and $orderstatus ne '') {
|
||||
$query .= " AND aqorders.orderstatus = ? ";
|
||||
push @query_params, "$orderstatus";
|
||||
}
|
||||
|
||||
if ($basket) {
|
||||
if ($basket =~ m/^\d+$/) {
|
||||
$query .= " AND aqorders.basketno = ? ";
|
||||
|
|
@ -2075,9 +2149,9 @@ sub GetHistory {
|
|||
$line->{count} = $cnt++;
|
||||
$line->{toggle} = 1 if $cnt % 2;
|
||||
push @order_loop, $line;
|
||||
$total_qty += $line->{'quantity'};
|
||||
$total_qtyreceived += $line->{'quantityreceived'};
|
||||
$total_price += $line->{'quantity'} * $line->{'ecost'};
|
||||
$total_qty += ( $line->{quantity} ) ? $line->{quantity} : 0;
|
||||
$total_qtyreceived += ( $line->{quantityreceived} ) ? $line->{quantityreceived} : 0;
|
||||
$total_price += ( $line->{quantity} and $line->{ecost} ) ? $line->{quantity} * $line->{ecost} : 0;
|
||||
}
|
||||
return \@order_loop, $total_qty, $total_price, $total_qtyreceived;
|
||||
}
|
||||
|
|
@ -2601,6 +2675,31 @@ sub MergeInvoices {
|
|||
return;
|
||||
}
|
||||
|
||||
=head3 GetBiblioCountByBasketno
|
||||
|
||||
$biblio_count = &GetBiblioCountByBasketno($basketno);
|
||||
|
||||
Looks up the biblio's count that has basketno value $basketno
|
||||
|
||||
Returns a quantity
|
||||
|
||||
=cut
|
||||
|
||||
sub GetBiblioCountByBasketno {
|
||||
my ($basketno) = @_;
|
||||
my $dbh = C4::Context->dbh;
|
||||
my $query = "
|
||||
SELECT COUNT( DISTINCT( biblionumber ) )
|
||||
FROM aqorders
|
||||
WHERE basketno = ?
|
||||
AND (datecancellationprinted IS NULL OR datecancellationprinted='0000-00-00')
|
||||
";
|
||||
|
||||
my $sth = $dbh->prepare($query);
|
||||
$sth->execute($basketno);
|
||||
return $sth->fetchrow;
|
||||
}
|
||||
|
||||
1;
|
||||
__END__
|
||||
|
||||
|
|
|
|||
|
|
@ -177,18 +177,16 @@ if ( $op eq 'delete_confirm' ) {
|
|||
}
|
||||
exit;
|
||||
} else {
|
||||
$template->param(confirm_close => "1",
|
||||
booksellerid => $booksellerid,
|
||||
basketno => $basket->{'basketno'},
|
||||
basketname => $basket->{'basketname'},
|
||||
basketgroupname => $basket->{'basketname'});
|
||||
|
||||
$template->param(
|
||||
confirm_close => "1",
|
||||
booksellerid => $booksellerid,
|
||||
basketno => $basket->{'basketno'},
|
||||
basketname => $basket->{'basketname'},
|
||||
basketgroupname => $basket->{'basketname'},
|
||||
);
|
||||
}
|
||||
} elsif ($op eq 'reopen') {
|
||||
my $basket;
|
||||
$basket->{basketno} = $query->param('basketno');
|
||||
$basket->{closedate} = undef;
|
||||
ModBasket($basket);
|
||||
ReopenBasket($query->param('basketno'));
|
||||
print $query->redirect('/cgi-bin/koha/acqui/basket.pl?basketno='.$basket->{'basketno'})
|
||||
} else {
|
||||
# get librarian branch...
|
||||
|
|
|
|||
|
|
@ -57,6 +57,8 @@ use C4::Output;
|
|||
use C4::Acquisition;
|
||||
use C4::Dates;
|
||||
use C4::Debug;
|
||||
use C4::Branch;
|
||||
use C4::Koha;
|
||||
|
||||
my $input = new CGI;
|
||||
my $title = $input->param( 'title');
|
||||
|
|
@ -70,6 +72,9 @@ my $booksellerinvoicenumber = $input->param( 'booksellerinvoicenumber' );
|
|||
my $do_search = $input->param('do_search') || 0;
|
||||
my $from_placed_on = C4::Dates->new($input->param('from'));
|
||||
my $to_placed_on = C4::Dates->new($input->param('to'));
|
||||
my $budget = $input->param( 'budget' );
|
||||
my $orderstatus = $input->param( 'orderstatus' );
|
||||
|
||||
if ( not $input->param('from') ) {
|
||||
# FIXME Dirty but we can't sent a Date::Calc to C4::Dates ?
|
||||
# We would use a function like Add_Delta_YM(-1, 0, 0);
|
||||
|
|
@ -110,21 +115,33 @@ if ($do_search) {
|
|||
basket => $basket,
|
||||
booksellerinvoicenumber => $booksellerinvoicenumber,
|
||||
basketgroupname => $basketgroupname,
|
||||
budget => $budget,
|
||||
orderstatus => $orderstatus,
|
||||
);
|
||||
}
|
||||
|
||||
my $from_date = $from_placed_on ? $from_placed_on->output('syspref') : undef;
|
||||
my $to_date = $to_placed_on ? $to_placed_on->output('syspref') : undef;
|
||||
|
||||
my $budgetperiods = C4::Budgets::GetBudgetPeriods;
|
||||
my $bp_loop = $budgetperiods;
|
||||
for my $bp ( @{$budgetperiods} ) {
|
||||
my $hierarchy = C4::Budgets::GetBudgetHierarchy( $$bp{budget_period_id} );
|
||||
for my $budget ( @{$hierarchy} ) {
|
||||
$$budget{budget_display_name} = sprintf("%s", ">" x $$budget{depth} . $$budget{budget_name});
|
||||
}
|
||||
$$bp{hierarchy} = $hierarchy;
|
||||
}
|
||||
|
||||
$template->param(
|
||||
suggestions_loop => $order_loop,
|
||||
order_loop => $order_loop,
|
||||
total_qty => $total_qty,
|
||||
total_qtyreceived => $total_qtyreceived,
|
||||
total_price => sprintf( "%.2f", $total_price ),
|
||||
numresults => $order_loop ? scalar(@$order_loop) : undef,
|
||||
title => $title,
|
||||
author => $author,
|
||||
isbn => $isbn,
|
||||
isbn => $isbn,
|
||||
ean => $ean,
|
||||
name => $name,
|
||||
basket => $basket,
|
||||
|
|
@ -132,6 +149,7 @@ $template->param(
|
|||
basketgroupname => $basketgroupname,
|
||||
from_placed_on => $from_date,
|
||||
to_placed_on => $to_date,
|
||||
bp_loop => $bp_loop,
|
||||
debug => $debug || $input->param('debug') || 0,
|
||||
uc(C4::Context->preference("marcflavour")) => 1
|
||||
);
|
||||
|
|
|
|||
|
|
@ -2937,6 +2937,7 @@ CREATE TABLE `aqorders` ( -- information related to the basket line items
|
|||
`claimed_date` date default NULL, -- last date a claim was generated
|
||||
`subscriptionid` int(11) default NULL, -- links this order line to a subscription (subscription.subscriptionid)
|
||||
parent_ordernumber int(11) default NULL, -- ordernumber of parent order line, or same as ordernumber if no parent
|
||||
`orderstatus` tinyint(2) default 0, -- the current status for this line item
|
||||
PRIMARY KEY (`ordernumber`),
|
||||
KEY `basketno` (`basketno`),
|
||||
KEY `biblionumber` (`biblionumber`),
|
||||
|
|
|
|||
|
|
@ -7306,6 +7306,18 @@ if ( CheckVersion($DBversion) ) {
|
|||
SetVersion($DBversion);
|
||||
}
|
||||
|
||||
$DBversion = "3.13.00.XXX";
|
||||
if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
|
||||
my $return_count;
|
||||
$dbh->do("ALTER TABLE aqorders ADD COLUMN orderstatus tinyint(2) DEFAULT 0 AFTER parent_ordernumber");
|
||||
$dbh->do("UPDATE aqorders SET orderstatus=1 WHERE basketno IN (SELECT basketno FROM aqbasket WHERE closedate IS NOT NULL)");
|
||||
$dbh->do("UPDATE aqorders SET orderstatus=2 WHERE quantity > quantityreceived AND quantityreceived > 0");
|
||||
$dbh->do("UPDATE aqorders SET orderstatus=3 WHERE quantity=quantityreceived");
|
||||
$dbh->do("UPDATE aqorders SET orderstatus=4 WHERE datecancellationprinted IS NOT NULL");
|
||||
print "Upgrade to $DBversion done (Add category ORDRSTATUS values in authorised_values table)\n";
|
||||
SetVersion($DBversion);
|
||||
}
|
||||
|
||||
=head1 FUNCTIONS
|
||||
|
||||
=head2 TableExists($table)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
[% USE KohaDates %]
|
||||
[% INCLUDE 'doc-head-open.inc' %]
|
||||
<title>Koha › Acquisitions › [% IF ( suggestions_loop ) %]Orders search › Search results[% ELSE %]Order search[% END %]</title>
|
||||
<title>Koha › Acquisitions › [% IF ( order_loop ) %]Orders search › Search results[% ELSE %]Order search[% END %]</title>
|
||||
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
|
||||
[% INCLUDE 'doc-head-close.inc' %]
|
||||
[% INCLUDE 'calendar.inc' %]
|
||||
|
|
@ -22,7 +22,7 @@
|
|||
[% INCLUDE 'header.inc' %]
|
||||
[% INCLUDE 'acquisitions-search.inc' %]
|
||||
|
||||
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> › [% IF ( suggestions_loop ) %]<a href="/cgi-bin/koha/acqui/histsearch.pl">Orders search</a> › Search results[% ELSE %]Order search[% END %]</div>
|
||||
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> › [% IF ( order_loop ) %]<a href="/cgi-bin/koha/acqui/histsearch.pl">Orders search</a> › Search results[% ELSE %]Order search[% END %]</div>
|
||||
|
||||
<div id="doc3" class="yui-t2">
|
||||
|
||||
|
|
@ -30,7 +30,7 @@
|
|||
<div id="yui-main">
|
||||
<div class="yui-b">
|
||||
|
||||
[% UNLESS ( suggestions_loop ) %]<form action="/cgi-bin/koha/acqui/histsearch.pl" method="post">
|
||||
[% UNLESS ( order_loop ) %]<form action="/cgi-bin/koha/acqui/histsearch.pl" method="post">
|
||||
<fieldset class="rows">
|
||||
<legend>Search Orders</legend>
|
||||
<ol>
|
||||
|
|
@ -47,6 +47,35 @@
|
|||
<label for="basketgroupname">Basket group:</label>
|
||||
<input type="text" name="basketgroupname" id="basketgroupname" value="[% basketgroupname %]" />
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label for="orderstatus">Order Status: </label>
|
||||
<select name="orderstatus" id="orderstatus">
|
||||
<option value=""></option>
|
||||
<option value="0">New</option>
|
||||
<option value="1">Ordered</option>
|
||||
<option value="2">Partial</option>
|
||||
<option value="3">Complete</option>
|
||||
<option value="4">Deleted</option>
|
||||
</select>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label for="fund">Fund: </label>
|
||||
<select name="budget" id="fund">
|
||||
<option value="">All funds</option>
|
||||
[% FOREACH bp_loo IN bp_loop %]
|
||||
<optgroup label="[% bp_loo.budget_period_description %]">
|
||||
[% FOREACH h_loo IN bp_loo.hierarchy %]
|
||||
<option type="text" value="[% h_loo.budget_id %]" branchcode="[% h_loo.budget_branchcode %]">
|
||||
[% h_loo.budget_display_name %]
|
||||
</option>
|
||||
[% END %]
|
||||
</optgroup>
|
||||
[% END %]
|
||||
</select>
|
||||
</li>
|
||||
|
||||
<li><label for="from">From: </label>
|
||||
<input type="text" size="10" id="from" name="from" value="[% from_placed_on %]" class="datepickerfrom" />
|
||||
<div class="hint">[% INCLUDE 'date-format.inc' %]</div>
|
||||
|
|
@ -60,11 +89,12 @@
|
|||
<input type="hidden" name="do_search" value="1" />
|
||||
<fieldset class="action"><input type="submit" value="Search" /></fieldset>
|
||||
</form>[% END %]
|
||||
[% IF ( suggestions_loop ) %]<h1>Search results</h1>
|
||||
[% IF ( order_loop ) %]<h1>Search results</h1>
|
||||
<div id="acqui_histsearch">
|
||||
<table id="histsearcht">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Order line</th>
|
||||
<th>Basket</th>
|
||||
<th>Basket group</th>
|
||||
<th>Invoice number</th>
|
||||
|
|
@ -73,41 +103,58 @@
|
|||
<th>Vendor</th>
|
||||
<th>Placed on</th>
|
||||
<th>Received on</th>
|
||||
<th>Quantity ordered</th>
|
||||
<th>Status</th>
|
||||
<th>Quantity received</th>
|
||||
<th>Pending order</th>
|
||||
<th>Unit cost</th>
|
||||
<th>Fund</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
[% FOREACH suggestions_loo IN suggestions_loop %]
|
||||
<tr>
|
||||
<td>[% suggestions_loo.basketname %] (<a href="basket.pl?basketno=[% suggestions_loo.basketno %]">[% suggestions_loo.basketno %]</a>)</td>
|
||||
[% FOREACH order IN order_loop %]
|
||||
<tr>
|
||||
<td>[% order.parent_ordernumber %]</td>
|
||||
<td>[% order.basketname %] (<a href="basket.pl?basketno=[% order.basketno %]">[% order.basketno %]</a>)</td>
|
||||
<td>
|
||||
[% IF ( suggestions_loo.basketgroupid ) %]
|
||||
[% suggestions_loo.groupname %] (<a href="basketgroup.pl?booksellerid=[% suggestions_loo.id %]">[% suggestions_loo.basketgroupid %]</a>)
|
||||
[% IF ( order.basketgroupid ) %]
|
||||
[% order.groupname %] (<a href="basketgroup.pl?booksellerid=[% order.id %]">[% order.basketgroupid %]</a>)
|
||||
[% ELSE %]
|
||||
|
||||
[% END %]
|
||||
</td>
|
||||
<td>[% IF suggestions_loo.invoicenumber %]
|
||||
<a href="/cgi-bin/koha/acqui/parcel.pl?invoiceid=[% suggestions_loo.invoiceid %]">[% suggestions_loo.invoicenumber %]</a>
|
||||
[% ELSE %]
|
||||
|
||||
[% END %]
|
||||
</td>
|
||||
<td>[% suggestions_loo.ordernumber %]</td>
|
||||
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% suggestions_loo.biblionumber %]">[% suggestions_loo.title |html %]</a>
|
||||
<br />[% suggestions_loo.author %] <br /> [% suggestions_loo.isbn %]</td>
|
||||
<td><a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% suggestions_loo.id %]">[% suggestions_loo.name %]</a></td>
|
||||
<td>[% suggestions_loo.creationdate | $KohaDates %]</td>
|
||||
<td>
|
||||
[% IF suggestions_loo.datereceived %]
|
||||
[% suggestions_loo.datereceived | $KohaDates %]
|
||||
<td>[% IF ( order.invoicenumber ) %]
|
||||
<a href="/cgi-bin/koha/acqui/parcel.pl?invoiceid=[% order.invoiceid %]">[% order.invoicenumber %]</a>
|
||||
[% ELSE %]
|
||||
|
||||
[% END %]
|
||||
</td>
|
||||
<td>[% suggestions_loo.quantity %]</td>
|
||||
<td>[% suggestions_loo.ecost %]</td>
|
||||
</tr>
|
||||
[% END %]
|
||||
<td>[% order.ordernumber %]</td>
|
||||
<td>
|
||||
<a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% order.biblionumber %]">[% order.title |html %]</a>
|
||||
<br />[% order.author %] <br /> [% order.isbn %]
|
||||
</td>
|
||||
<td><a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% order.id %]">[% order.name %]</a></td>
|
||||
<td>[% order.creationdate | $KohaDates %]</td>
|
||||
<td>
|
||||
[% IF order.datereceived %]
|
||||
[% order.datereceived | $KohaDates %]
|
||||
[% END %]
|
||||
</td>
|
||||
<td>
|
||||
[% SWITCH order.orderstatus %]
|
||||
[% CASE '0' %]New
|
||||
[% CASE '1' %]Ordered
|
||||
[% CASE '2' %]Partial
|
||||
[% CASE '3' %]Complete
|
||||
[% CASE '4' %]Deleted
|
||||
[% END %]
|
||||
</td>
|
||||
<td>[% order.quantityreceived %]</td>
|
||||
<td>[% order.quantity %]</td>
|
||||
<td>[% order.ecost %]</td>
|
||||
<td>[% order.budget_name %]</td>
|
||||
</tr>
|
||||
[% END %]
|
||||
</tbody>
|
||||
</table>
|
||||
</div>[% ELSE %][% END %]
|
||||
|
|
|
|||
Loading…
Reference in New Issue