@@ -, +, @@ admin/smart-rules.pl and admin/categorie.pl - admin/smart-rules.pl - admin/categorie.pl - Apply patch - Go to Home > Administration > Circulation and fine rules (smart-rules.pl) - Edit or add a rule - Verify that 'Hard due date' displays and saves fine - Go to Home > Administration > Patron categories - Edit or add a category - Verify that 'Until date' displays and saves fine editing patrons, but that is not in the scope of this bug --- admin/categorie.pl | 10 ++++------ admin/smart-rules.pl | 9 +++++---- 2 files changed, 9 insertions(+), 10 deletions(-) --- a/admin/categorie.pl +++ a/admin/categorie.pl @@ -42,9 +42,9 @@ use C4::Context; use C4::Auth; use C4::Branch; use C4::Output; -use C4::Dates; use C4::Form::MessagingPreferences; use Koha::Database; +use Koha::DateUtils; sub StringSearch { my ( $searchstring, $type ) = @_; @@ -172,11 +172,9 @@ elsif ( $op eq 'add_validate' ) { my $dbh = C4::Context->dbh; if ( $input->param('enrolmentperioddate') ) { - $input->param( - 'enrolmentperioddate' => C4::Dates::format_date_in_iso( - $input->param('enrolmentperioddate') - ) - ); + my $enrolment_dt = eval { dt_from_string( $input->param('enrolmentperioddate') ) }; + $enrolment_dt = eval { output_pref( { dt => $enrolment_dt, dateonly => 1, dateformat => 'iso' } ) } if ( $enrolment_dt ); + $input->param( 'enrolmentperioddate' => $enrolment_dt ); } if ($is_a_modif) { --- a/admin/smart-rules.pl +++ a/admin/smart-rules.pl @@ -26,7 +26,7 @@ use C4::Auth; use C4::Koha; use C4::Debug; use C4::Branch; # GetBranches -use C4::Dates qw/format_date format_date_in_iso/; +use Koha::DateUtils; use Koha::Database; my $input = CGI->new; @@ -126,8 +126,8 @@ elsif ($op eq 'add') { $maxonsiteissueqty = undef if $maxonsiteissueqty !~ /^\d+/; my $issuelength = $input->param('issuelength'); my $lengthunit = $input->param('lengthunit'); - my $hardduedate = $input->param('hardduedate'); - $hardduedate = format_date_in_iso($hardduedate); + my $hardduedate = eval { dt_from_string( $input->param('hardduedate') ) }; + $hardduedate = output_pref( { dt => $hardduedate, dateonly => 1, dateformat => 'iso' } ) if ( $hardduedate ); my $hardduedatecompare = $input->param('hardduedatecompare'); my $rentaldiscount = $input->param('rentaldiscount'); my $opacitemholds = $input->param('opacitemholds') || 0; @@ -446,7 +446,8 @@ while (my $row = $sth2->fetchrow_hashref) { $row->{'default_humancategorycode'} = 1 if $row->{'humancategorycode'} eq '*'; $row->{'fine'} = sprintf('%.2f', $row->{'fine'}); if ($row->{'hardduedate'} && $row->{'hardduedate'} ne '0000-00-00') { - $row->{'hardduedate'} = format_date( $row->{'hardduedate'}); + my $harddue_dt = eval { dt_from_string( $row->{'hardduedate'} ) }; + $row->{'hardduedate'} = eval { output_pref( { dt => $harddue_dt, dateonly => 1 } ) } if ( $harddue_dt ); $row->{'hardduedatebefore'} = 1 if ($row->{'hardduedatecompare'} == -1); $row->{'hardduedateexact'} = 1 if ($row->{'hardduedatecompare'} == 0); $row->{'hardduedateafter'} = 1 if ($row->{'hardduedatecompare'} == 1); --