|
Lines 27-34
use Try::Tiny qw( catch try );
Link Here
|
| 27 |
use List::MoreUtils qw( any ); |
27 |
use List::MoreUtils qw( any ); |
| 28 |
|
28 |
|
| 29 |
use Koha::Database; |
29 |
use Koha::Database; |
|
|
30 |
use Koha::DateTime::Format::RFC3339; |
| 31 |
use Koha::DateTime::Format::SQL; |
| 30 |
use Koha::Exceptions::Object; |
32 |
use Koha::Exceptions::Object; |
| 31 |
use Koha::DateUtils qw( dt_from_string output_pref ); |
|
|
| 32 |
use Koha::Object::Message; |
33 |
use Koha::Object::Message; |
| 33 |
|
34 |
|
| 34 |
=head1 NAME |
35 |
=head1 NAME |
|
Lines 423-432
sub TO_JSON {
Link Here
|
| 423 |
elsif ( _datetime_column_type( $columns_info->{$col}->{data_type} ) ) { |
424 |
elsif ( _datetime_column_type( $columns_info->{$col}->{data_type} ) ) { |
| 424 |
eval { |
425 |
eval { |
| 425 |
return unless $unblessed->{$col}; |
426 |
return unless $unblessed->{$col}; |
| 426 |
$unblessed->{$col} = output_pref({ |
427 |
my $dt = Koha::DateTime::Format::SQL->parse_datetime( $unblessed->{$col} ); |
| 427 |
dateformat => 'rfc3339', |
428 |
$unblessed->{$col} = Koha::DateTime::Format::RFC3339->format_datetime($dt); |
| 428 |
dt => dt_from_string($unblessed->{$col}, 'sql'), |
|
|
| 429 |
}); |
| 430 |
}; |
429 |
}; |
| 431 |
} |
430 |
} |
| 432 |
} |
431 |
} |
|
Lines 832-850
sub attributes_from_api {
Link Here
|
| 832 |
$value = ( $value ) ? 1 : 0; |
831 |
$value = ( $value ) ? 1 : 0; |
| 833 |
} |
832 |
} |
| 834 |
elsif ( _date_or_datetime_column_type( $columns_info->{$koha_field_name}->{data_type} ) ) { |
833 |
elsif ( _date_or_datetime_column_type( $columns_info->{$koha_field_name}->{data_type} ) ) { |
| 835 |
try { |
834 |
if (defined $value) { |
| 836 |
if ( $columns_info->{$koha_field_name}->{data_type} eq 'date' ) { |
835 |
try { |
| 837 |
$value = $dtf->format_date(dt_from_string($value, 'iso')) |
836 |
if ( $columns_info->{$koha_field_name}->{data_type} eq 'date' ) { |
| 838 |
if defined $value; |
837 |
my $dt = DateTime::Format::MySQL->parse_date($value); |
| 839 |
} |
838 |
$value = $dtf->format_date($dt); |
| 840 |
else { |
839 |
} |
| 841 |
$value = $dtf->format_datetime(dt_from_string($value, 'rfc3339')) |
840 |
else { |
| 842 |
if defined $value; |
841 |
my $dt = Koha::DateTime::Format::RFC3339->parse_datetime($value); |
|
|
842 |
$value = $dtf->format_datetime($dt); |
| 843 |
} |
| 843 |
} |
844 |
} |
|
|
845 |
catch { |
| 846 |
Koha::Exceptions::BadParameter->throw( parameter => $key ); |
| 847 |
}; |
| 844 |
} |
848 |
} |
| 845 |
catch { |
|
|
| 846 |
Koha::Exceptions::BadParameter->throw( parameter => $key ); |
| 847 |
}; |
| 848 |
} |
849 |
} |
| 849 |
|
850 |
|
| 850 |
$params->{$koha_field_name} = $value; |
851 |
$params->{$koha_field_name} = $value; |