diff --git a/C4/Acquisition.pm b/C4/Acquisition.pm
index 296e9d3219..253c509b49 100644
--- a/C4/Acquisition.pm
+++ b/C4/Acquisition.pm
@@ -2456,6 +2456,14 @@ sub GetInvoices {
push @bind_strs, " aqinvoices.message_id = ? ";
push @bind_args, $args{message_id};
}
+ if ( exists $args{closedate} ) {
+ if ( $args{closedate} ) {
+ push @bind_strs, " aqinvoices.closedate = ? ";
+ push @bind_args, $args{closedate};
+ } else {
+ push @bind_strs, " aqinvoices.closedate IS NULL ";
+ }
+ }
$query .= " WHERE " . join(" AND ", @bind_strs) if @bind_strs;
diff --git a/acqui/parcels.pl b/acqui/parcels.pl
index 13f9b3726e..4b36a0a7d0 100755
--- a/acqui/parcels.pl
+++ b/acqui/parcels.pl
@@ -87,6 +87,7 @@ my $code = $input->param('filter');
my $datefrom = $input->param('datefrom');
my $dateto = $input->param('dateto');
my $resultsperpage = $input->param('resultsperpage');
+my $include_closed = $input->param('filter_include_closed');
my $op = $input->param('op');
$resultsperpage ||= 20;
@@ -155,7 +156,8 @@ my @parcels = GetInvoices(
invoicenumber => $code,
( $datefrom ? ( shipmentdatefrom => $datefrom ) : () ),
( $dateto ? ( shipmentdateto => $dateto ) : () ),
- order_by => $order
+ order_by => $order,
+ ( $include_closed ? () : ( closedate => undef ) ),
);
my $count_parcels = @parcels;
@@ -210,6 +212,7 @@ $template->param(
datefrom => $datefrom,
dateto => $dateto,
resultsperpage => $resultsperpage,
+ filter_include_closed => $include_closed,
name => $bookseller->name,
shipmentdate_today => dt_from_string,
booksellerid => $booksellerid,
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcels.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcels.tt
index 6404c1ba93..769e1c9e72 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcels.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcels.tt
@@ -233,6 +233,17 @@
+
+
+
+
diff --git a/t/db_dependent/Acquisition/Invoices.t b/t/db_dependent/Acquisition/Invoices.t
index dc5b3d2023..aa27e3d5df 100755
--- a/t/db_dependent/Acquisition/Invoices.t
+++ b/t/db_dependent/Acquisition/Invoices.t
@@ -8,7 +8,7 @@ use Koha::Acquisition::Booksellers;
use Koha::Acquisition::Orders;
use Koha::Database;
-use Test::More tests => 24;
+use Test::More tests => 27;
BEGIN {
use_ok('C4::Acquisition', qw( NewBasket GetBasket AddInvoice GetInvoice ModReceiveOrder GetInvoiceDetails GetInvoices ModInvoice CloseInvoice ReopenInvoice MergeInvoices DelInvoice ));
@@ -99,6 +99,14 @@ my $invoiceid1 = AddInvoice(invoicenumber => 'invoice1', booksellerid => $bookse
my $invoiceid2 = AddInvoice(invoicenumber => 'invoice2', booksellerid => $booksellerid, unknown => "unknown",
shipmentdate => '2012-12-24',
);
+my $invoiceid_closed = AddInvoice(
+ invoicenumber => 'invoice_close',
+ booksellerid => $booksellerid,
+ unknown => "unknown",
+ shipmentdate => '2012-12-24',
+ closedate => '2024-12-13',
+);
+
my $invoice1 = GetInvoice( $invoiceid1 );
my $invoice2 = GetInvoice( $invoiceid2 );
@@ -162,6 +170,11 @@ is($invoices[0]->{invoicenumber}, 'invoice1', 'GetInvoices() to search by ISBN w
@invoices = GetInvoices(isbneanissn => '123456789');
is($invoices[0]->{invoicenumber}, 'invoice1', 'GetInvoices() to search by partial ISBN works (bug 8854)');
+@invoices = GetInvoices(booksellerid => $booksellerid, closedate => undef);
+is(scalar @invoices, 2, );
+is($invoices[0]->{invoicenumber}, 'invoice1', 'GetInvoices()');
+is($invoices[1]->{invoicenumber}, 'invoice2', 'GetInvoices()');
+
my $invoicesummary1 = GetInvoice($invoiceid1);
is($invoicesummary1->{'invoicenumber'}, 'invoice1', 'GetInvoice retrieves correct invoice');
is($invoicesummary1->{'invoicenumber'}, $invoice1->{'invoicenumber'}, 'GetInvoice and GetInvoiceDetails retrieve same information');