From f5ffe05931473a67f266c5716ff4e49432ceab02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20V=C3=A9ron?= Date: Sun, 4 Oct 2015 18:25:46 +0200 Subject: [PATCH] Bug 14949 - Remove C4::Dates from admin/smart-rules.pl and admin/categorie.pl Bug to remove C4::Dates from - admin/smart-rules.pl - admin/categorie.pl To test: - 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 Note: The date picker does not warn about wrong date formats as e.g. while 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(-) diff --git a/admin/categorie.pl b/admin/categorie.pl index 27e95cb..a848aa4 100755 --- a/admin/categorie.pl +++ b/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) { diff --git a/admin/smart-rules.pl b/admin/smart-rules.pl index 9ef6ef6..aea9c50 100755 --- a/admin/smart-rules.pl +++ b/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; @@ -122,8 +122,8 @@ elsif ($op eq 'add') { $maxissueqty = undef if $maxissueqty !~ /^\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; @@ -414,7 +414,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); -- 1.7.10.4