From fc39046797a9337fffa451a1b8c2923f6063db14 Mon Sep 17 00:00:00 2001
From: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Date: Wed, 7 Jun 2023 11:49:41 +0200
Subject: [PATCH] Bug 33901: (bug 30718 follow-up) Predition pattern - don't
 set end date to today

If the end date is not set we should not set it to today.
On bug 30718 the following change was wrong:
-$enddate = eval { output_pref( { str => $enddate, dateonly => 1, dateformat => 'iso' } ); };
+$enddate = dt_from_string($enddate)->ymd;

output_pref returns undef if str is empty
After the change we returned today's date.

Test plan:
1. Go to Serials > Manage numbering patterns
2. Click Edit next to one of the existing patterns (e.g. Number)
3. Enter information in the Test prediction pattern section
   -  Frequency: choose one (e.g. 1/month)
   -  First issue publication date: enter a date (e.g. 2023-06-01)
   -  Subscription length: issues + enter a number of issues (e.g. 12)
   -  Locale: leave empty
   -  Begins with: enter a number in the X column, e.g. 42
4. Click Test pattern
=> Without this patch only one issue is shown, no matter how many you enter in Subscription length
=> With this patch applied the end date is not set to today and the
prediction pattern list is correct

Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
---
 serials/showpredictionpattern.pl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/serials/showpredictionpattern.pl b/serials/showpredictionpattern.pl
index e553ee1269..9fc801102b 100755
--- a/serials/showpredictionpattern.pl
+++ b/serials/showpredictionpattern.pl
@@ -92,7 +92,7 @@ my %pattern = (
 
 $firstacquidate = $firstacquidate ? dt_from_string($firstacquidate)->ymd : dt_from_string->ymd;
 
-$enddate = dt_from_string($enddate)->ymd;
+$enddate = dt_from_string($enddate)->ymd if $enddate;
 
 $nextacquidate = $nextacquidate ? dt_from_string($nextacquidate)->ymd : $firstacquidate;
 my $date = $nextacquidate;
-- 
2.34.1