From b28d25e9cd2939460c4b4043bafd7013e7248515 Mon Sep 17 00:00:00 2001
From: Jonathan Druart
Date: Mon, 16 Jan 2017 17:33:39 +0100
Subject: [PATCH] Bug 17975: TT syntax for notices - Prove that HOLD_SLIP is
compatible
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit
Here we need to test <>.
We already pass a value, but it was wrong. We must pass a string, not a
DateTime object, otherwise the KohaDates plugin will not display the
hours part if we need it.
Test plan:
Define a HOLD_SLIP notice template to match your need.
Do not forget to use
[% today | $KohaDates %]
or
[% today | $KohaDates with_hours => 1 %]
To access data from the reserves table, use the 'hold' variable
Tested both patches together with several date formats, works as expected.
Signed-off-by: Marc Véron
Signed-off-by: Kyle M Hall
Signed-off-by: Jonathan Druart
---
C4/Letters.pm | 2 +-
t/db_dependent/Letters/TemplateToolkit.t | 86 +++++++++++++++++++++++-
2 files changed, 85 insertions(+), 3 deletions(-)
diff --git a/C4/Letters.pm b/C4/Letters.pm
index 1d87a46771..ada27943b0 100644
--- a/C4/Letters.pm
+++ b/C4/Letters.pm
@@ -1627,7 +1627,7 @@ sub _get_tt_params {
}
}
- $params->{today} = dt_from_string();
+ $params->{today} = output_pref({ dt => dt_from_string, dateformat => 'iso' });
return $params;
}
diff --git a/t/db_dependent/Letters/TemplateToolkit.t b/t/db_dependent/Letters/TemplateToolkit.t
index 4fd000a85b..075b6f4250 100644
--- a/t/db_dependent/Letters/TemplateToolkit.t
+++ b/t/db_dependent/Letters/TemplateToolkit.t
@@ -286,11 +286,11 @@ $prepared_letter = GetPreparedLetter(
is( $prepared_letter->{content}, $modification->id(), 'Patron modification object used correctly' );
subtest 'regression tests' => sub {
- plan tests => 4;
+ plan tests => 5;
my $library = $builder->build( { source => 'Branch' } );
my $patron = $builder->build( { source => 'Borrower' } );
- my $biblio1 = Koha::Biblio->new({title => 'Test Biblio 1'})->store->unblessed;
+ my $biblio1 = Koha::Biblio->new({title => 'Test Biblio 1', author => 'An author', })->store->unblessed;
my $biblioitem1 = Koha::Biblioitem->new({biblionumber => $biblio1->{biblionumber}})->store()->unblessed;
my $item1 = Koha::Item->new(
{
@@ -300,6 +300,7 @@ subtest 'regression tests' => sub {
homebranch => $library->{branchcode},
holdingbranch => $library->{branchcode},
itype => 'BK',
+ itemcallnumber => 'itemcallnumber1',
}
)->store->unblessed;
my $biblio2 = Koha::Biblio->new({title => 'Test Biblio 2'})->store->unblessed;
@@ -312,6 +313,7 @@ subtest 'regression tests' => sub {
homebranch => $library->{branchcode},
holdingbranch => $library->{branchcode},
itype => 'BK',
+ itemcallnumber => 'itemcallnumber2',
}
)->store->unblessed;
@@ -500,6 +502,86 @@ You have [% count %] items due
my $tt_letter = process_letter( { template => $tt_template, %$params });
is( $tt_letter->{content}, $letter->{content}, );
};
+
+ subtest 'HOLD_SLIP|dates|today' => sub {
+ plan tests => 2;
+
+ my $code = 'HOLD_SLIP';
+
+ C4::Reserves::AddReserve( $library->{branchcode}, $patron->{borrowernumber}, $biblio1->{biblionumber}, undef, undef, undef, undef, "a note", undef, $item1->{itemnumber}, 'W' );
+ C4::Reserves::AddReserve( $library->{branchcode}, $patron->{borrowernumber}, $biblio2->{biblionumber}, undef, undef, undef, undef, "another note", undef, $item2->{itemnumber} );
+
+ my $template = <Date: <>
+
+ Transfer to/Hold in <>
+
+<>, <>
+
+
+ - <>
+ - <>
+ - <>
+ <>
+ <> <>
+
+ - <>
+
+
+ITEM ON HOLD
+<>
+<>
+
+Notes:
+
<>
+
+EOF
+
+ reset_template( { template => $template, code => $code, module => 'circulation' } );
+ my $letter_for_item1 = C4::Reserves::ReserveSlip( $library->{branchcode}, $patron->{borrowernumber}, $biblio1->{biblionumber} );
+ my $letter_for_item2 = C4::Reserves::ReserveSlip( $library->{branchcode}, $patron->{borrowernumber}, $biblio2->{biblionumber} );
+
+ my $tt_template = <Date: [% today | \$KohaDates with_hours => 1 %]
+
+ Transfer to/Hold in [% branch.branchname %]
+
+[% borrower.surname %], [% borrower.firstname %]
+
+
+ - [% borrower.cardnumber %]
+ - [% borrower.phone %]
+ - [% borrower.address %]
+ [% borrower.address2 %]
+ [% borrower.city %] [% borrower.zipcode %]
+
+ - [% borrower.email %]
+
+
+ITEM ON HOLD
+[% biblio.title %]
+[% biblio.author %]
+
+ - [% item.barcode %]
+ - [% item.itemcallnumber %]
+ - [% hold.waitingdate | \$KohaDates %]
+
+Notes:
+
[% hold.reservenotes %]
+
+EOF
+
+ reset_template( { template => $tt_template, code => $code, module => 'circulation' } );
+ my $tt_letter_for_item1 = C4::Reserves::ReserveSlip( $library->{branchcode}, $patron->{borrowernumber}, $biblio1->{biblionumber} );
+ my $tt_letter_for_item2 = C4::Reserves::ReserveSlip( $library->{branchcode}, $patron->{borrowernumber}, $biblio2->{biblionumber} );
+
+ is( $tt_letter_for_item1->{content}, $letter_for_item1->{content}, );
+ is( $tt_letter_for_item2->{content}, $letter_for_item2->{content}, );
+ };
};
subtest 'loops' => sub {
--
2.39.5