From f7a47cd0951819a6ab1b6a104e410d12b0a067b7 Mon Sep 17 00:00:00 2001
From: Jonathan Druart <jonathan.druart@biblibre.com>
Date: Mon, 24 Mar 2014 15:25:05 +0100
Subject: [PATCH] Bug 11995: Followup for Bug 7688 - FIX GetNextDate in serialsUpdate.pl

Bug 7688 changes the prototype for GetNextDate. The serialsUpdate.pl
cronjob script has not been updated.

Test plan:
Before applying the patch:
1/ Check that the following SQL query returns something:
SELECT serial.*
FROM serial
LEFT JOIN subscription ON (subscription.subscriptionid = serial.subscriptionid)
WHERE serial.status = 1
AND DATE_ADD(planneddate, INTERVAL CAST(graceperiod AS SIGNED) DAY) < NOW()
AND subscription.closed = 0;
2/ Run misc/cronjobs/serialsUpdate.pl -v
   It should die with an error message like this:
   Can't use string ("2011-03-05") as a HASH ref while "strict refs" in use
3/ Apply the patch
4/ Run misc/cronjobs/serialsUpdate.pl -v
   It should exit normally and print messages like this:
   Serial issue with id=XX updated
5/ Run the Koha QA test tools.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>

NOTE: The only file modified is misc/cronjobs/serialsUpdate.pl
      The error is caused by switching the order of a hash and
      parameter. This also corrects the date used to be
      publisheddate instead of planneddate, because the latter
      does not logically predict the next one. See comment #3.
      The id=XX's listed in step 4 match the ids displayed by
      the SQL query in step 1.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
---
 misc/cronjobs/serialsUpdate.pl |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/misc/cronjobs/serialsUpdate.pl b/misc/cronjobs/serialsUpdate.pl
index 07d418a..813ef21 100755
--- a/misc/cronjobs/serialsUpdate.pl
+++ b/misc/cronjobs/serialsUpdate.pl
@@ -110,10 +110,10 @@ $sth->execute();
 while ( my $issue = $sth->fetchrow_hashref ) {
 
     my $subscription = &GetSubscription( $issue->{subscriptionid} );
-    my $planneddate  = $issue->{planneddate};
+    my $publisheddate  = $issue->{publisheddate};
 
-    if ( $subscription && $planneddate && $planneddate ne "0000-00-00" ) {
-        my $nextpublisheddate = GetNextDate( $planneddate, $subscription );
+    if ( $subscription && $publisheddate && $publisheddate ne "0000-00-00" ) {
+        my $nextpublisheddate = GetNextDate( $subscription, $publisheddate );
         my $today = format_date_in_iso( C4::Dates->new()->output() );
 
         if ( $nextpublisheddate && $today ) {
-- 
1.7.2.5