From 3f56ae2b9520a97801c801b03cad43e793eeeda3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marc=20V=C3=A9ron?= Date: Fri, 30 Oct 2015 15:23:30 +0100 Subject: [PATCH] Bug 15090: Fix date filter for Suggestions management Home > Acquisitions > Suggestions management: Before 13813 the "from" date in filters was 0000-00-00 if not filled, afer 13813 it's today. This patch re-introduces 0000-00-00. See http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=13813#c172 To test: - Go to Home > Acquisitions > Suggestions management - Verify that date filters work as expected - Verify that start dates in sql query are 0000-00-00 if no start dates are given - Note: Line 185 outputs the start dates as warn if $debug is set. Signed-off-by: Nicole Engard Signed-off-by: Katrin Fischer Signed-off-by: Tomas Cohen Arazi --- C4/Suggestions.pm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/C4/Suggestions.pm b/C4/Suggestions.pm index 02e32b9672..30746b7e45 100644 --- a/C4/Suggestions.pm +++ b/C4/Suggestions.pm @@ -177,10 +177,15 @@ sub SearchSuggestion { foreach my $field (qw( suggesteddate manageddate accepteddate )) { my $from = $field . "_from"; my $to = $field . "_to"; + my $from_dt; + $from_dt = eval { dt_from_string( $suggestion->{$from} ) } if ( $suggestion->{$from} ); + my $from_sql = '0000-00-00'; + $from_sql = output_pref({ dt => $from_dt, dateformat => 'iso', dateonly => 1 }) + if ($from_dt); + $debug && warn "SQL for start date ($field): $from_sql"; if ( $suggestion->{$from} || $suggestion->{$to} ) { push @query, qq{ AND suggestions.$field BETWEEN ? AND ? }; - push @sql_params, - output_pref({ dt => dt_from_string( $suggestion->{$from} ), dateformat => 'iso', dateonly => 1 }) || '0000-00-00'; + push @sql_params, $from_sql; push @sql_params, output_pref({ dt => dt_from_string( $suggestion->{$to} ), dateformat => 'iso', dateonly => 1 }) || output_pref({ dt => dt_from_string, dateformat => 'iso', dateonly => 1 }); } -- 2.39.5