else {
for my $date_key ( qw( suggesteddate manageddate accepteddate rejecteddate ) ) {
+ # FIXME Do we need this?
$suggestion_only->{$date_key} = dt_from_string( $suggestion_only->{$date_key} )
if $suggestion_only->{$date_key};
}
# filter on date fields
foreach my $field (qw( suggesteddate manageddate accepteddate )) {
- my $from = $field . "_from";
- my $to = $field . "_to";
- my $from_dt =
- $suggestion_ref->{$from}
- ? eval { dt_from_string( $suggestion_ref->{$from} ) }
- : undef;
- my $to_dt =
- $suggestion_ref->{$to}
- ? eval { dt_from_string( $suggestion_ref->{$to} ) }
- : undef;
+ my $from = delete $search_params->{"${field}_from"};
+ my $to = delete $search_params->{"${field}_to"};
+
+ my $from_dt = $from && eval { dt_from_string($from) };
+ my $to_dt = $to && eval { dt_from_string($to) };
if ( $from_dt || $to_dt ) {
my $dtf = Koha::Database->new->schema->storage->datetime_parser;
if ( $from_dt && $to_dt ) {
- $search_params->{$field} = { -between => [ $from_dt, $to_dt ] };
+ $search_params->{$field} = { -between => [ $dtf->format_date($from_dt), $dtf->format_date($to_dt) ] };
} elsif ( $from_dt ) {
- $search_params->{$field} = { '>=' => $from_dt };
+ $search_params->{$field} = { '>=' => $dtf->format_date($from_dt) };
} elsif ( $to_dt ) {
- $search_params->{$field} = { '<=' => $to_dt };
+ $search_params->{$field} = { '<=' => $dtf->format_date($to_dt) };
}
}
}
|| $search_params->{$f} eq '';
}
- my @suggestions =
- Koha::Suggestions->search_limited(
- { %$search_params, archived => $filter_archived } )->as_list;
+ $search_params->{archived} = 0 if !$filter_archived;
+ my @suggestions = Koha::Suggestions->search_limited($search_params)->as_list;
push @allsuggestions,
{