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