diff options
author | Max Kanat-Alexander <mkanat@bugzilla.org> | 2010-03-04 20:31:42 +0100 |
---|---|---|
committer | Justin Wood <Callek@gmail.com> | 2010-03-04 20:31:42 +0100 |
commit | ac9090d06e0bd66d4d8c9bd0c99512093aeb279c (patch) | |
tree | d5cbec611e9e86e57b2582e91fd9c0cb89103034 /Bugzilla/WebService/Server/JSONRPC.pm | |
parent | b30aeba04609049378374441209f7e808931e198 (diff) | |
parent | 9a9405da0b6b5baf8157206d34ba3895fb33b788 (diff) | |
download | bugzilla-ac9090d06e0bd66d4d8c9bd0c99512093aeb279c.tar.gz bugzilla-ac9090d06e0bd66d4d8c9bd0c99512093aeb279c.tar.xz |
Bug 545299, XML-RPC WebService should take and return dates and times in UTC. POD
Diffstat (limited to 'Bugzilla/WebService/Server/JSONRPC.pm')
-rw-r--r-- | Bugzilla/WebService/Server/JSONRPC.pm | 26 |
1 files changed, 7 insertions, 19 deletions
diff --git a/Bugzilla/WebService/Server/JSONRPC.pm b/Bugzilla/WebService/Server/JSONRPC.pm index f929b28ac..d07901a7f 100644 --- a/Bugzilla/WebService/Server/JSONRPC.pm +++ b/Bugzilla/WebService/Server/JSONRPC.pm @@ -27,7 +27,6 @@ use base qw(JSON::RPC::Server::CGI Bugzilla::WebService::Server); use Bugzilla::Error; use Bugzilla::WebService::Constants; use Bugzilla::WebService::Util qw(taint_data); -use Bugzilla::Util qw(datetime_from); sub new { my $class = shift; @@ -77,20 +76,17 @@ sub type { } elsif ($type eq 'dateTime') { # ISO-8601 "YYYYMMDDTHH:MM:SS" with a literal T - $retval = $self->datetime_format($value); + $retval = $self->datetime_format_outbound($value); } # XXX Will have to implement base64 if Bugzilla starts using it. return $retval; } -sub datetime_format { - my ($self, $date_string) = @_; - - # YUI expects ISO8601 in UTC time; uncluding TZ specifier - my $time = datetime_from($date_string, 'UTC'); - my $iso_datetime = $time->iso8601() . 'Z'; - return $iso_datetime; +sub datetime_format_outbound { + my $self = shift; + # YUI expects ISO8601 in UTC time; including TZ specifier + return $self->SUPER::datetime_format_outbound(@_) . 'Z'; } @@ -192,10 +188,10 @@ sub _argument_type_check { my $value = $params->{$field}; if (ref $value eq 'ARRAY') { $params->{$field} = - [ map { $self->_bz_convert_datetime($_) } @$value ]; + [ map { $self->datetime_format_inbound($_) } @$value ]; } else { - $params->{$field} = $self->_bz_convert_datetime($value); + $params->{$field} = $self->datetime_format_inbound($value); } } } @@ -220,14 +216,6 @@ sub _argument_type_check { return $params; } -sub _bz_convert_datetime { - my ($self, $time) = @_; - - my $converted = datetime_from($time, Bugzilla->local_timezone); - $time = $converted->ymd() . ' ' . $converted->hms(); - return $time -} - sub handle_login { my $self = shift; |