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