From b5acde6513eeb9805a3f34a3dc6102038b3cf4cc Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marc=20V=C3=A9ron?= Date: Fri, 20 May 2016 12:19:36 +0200 Subject: [PATCH] Bug 16550: Can't set opac news expiration date to NULL, it reverts to today This patch fixes an issue with the expiration dates for news always reverting to today if empty. To test: - Apply patch - Go to Home > Tools > News - Create a news item, do not set expiration date - Verify that expiration date stays empty - Edit this news item - Do not set expiration date - Verify that expiration date stays empty - Do the same with expiration dates - Verify that they are saved properly Signed-off-by: Nick Clemens Signed-off-by: Jonathan Druart Signed-off-by: Kyle M Hall --- C4/NewsChannels.pm | 2 +- tools/koha-news.pl | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/C4/NewsChannels.pm b/C4/NewsChannels.pm index cbcc702a4c..8e261db551 100644 --- a/C4/NewsChannels.pm +++ b/C4/NewsChannels.pm @@ -134,7 +134,7 @@ sub get_opac_new { $sth->execute($idnew); my $data = $sth->fetchrow_hashref; $data->{$data->{'lang'}} = 1 if defined $data->{lang}; - $data->{expirationdate} = output_pref({ dt => dt_from_string( $data->{expirationdate} ), dateonly => 1 }); + $data->{expirationdate} = output_pref({ dt => dt_from_string( $data->{expirationdate} ), dateonly => 1 }) if ( $data->{expirationdate} ); $data->{timestamp} = output_pref({ dt => dt_from_string( $data->{timestamp} ), dateonly => 1 }) ; return $data; } diff --git a/tools/koha-news.pl b/tools/koha-news.pl index d5f2c5b50c..7074f9d624 100755 --- a/tools/koha-news.pl +++ b/tools/koha-news.pl @@ -40,7 +40,10 @@ my $cgi = new CGI; my $id = $cgi->param('id'); my $title = $cgi->param('title'); my $new = $cgi->param('new'); -my $expirationdate = output_pref({ dt => dt_from_string( scalar $cgi->param('expirationdate') ), dateformat => 'iso', dateonly => 1 }); +my $expirationdate; +if ( scalar $cgi->param('expirationdate') ) { + $expirationdate = output_pref({ dt => dt_from_string( scalar $cgi->param('expirationdate') ), dateformat => 'iso', dateonly => 1 }); +} my $timestamp = output_pref({ dt => dt_from_string( scalar $cgi->param('timestamp') ), dateformat => 'iso', dateonly => 1 }); my $number = $cgi->param('number'); my $lang = $cgi->param('lang'); -- 2.20.1