]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 358703: WebService functions version and timezone should follow bugzilla standard
authormkanat%bugzilla.org <>
Wed, 1 Nov 2006 07:26:28 +0000 (07:26 +0000)
committermkanat%bugzilla.org <>
Wed, 1 Nov 2006 07:26:28 +0000 (07:26 +0000)
Patch By Mads Bondo Dydensborg <mbd@dbc.dk> r=mkanat, a=myk

Bugzilla/WebService/Bugzilla.pm
contrib/bz_webservice_demo.pl

index 698dabbe806d6a0e149d456f55d5b90c96e9ab75..1eeeebddc354c8065395428b4047b79fded6013d 100755 (executable)
 #
 # Contributor(s): Marc Schumann <wurblzap@gmail.com>
 #                 Max Kanat-Alexander <mkanat@bugzilla.org>
+#                 Mads Bondo Dydensborg <mbd@dbc.dk>
 
 package Bugzilla::WebService::Bugzilla;
 
 use strict;
 use base qw(Bugzilla::WebService);
 use Bugzilla::Constants;
+import SOAP::Data qw(type);
 
 use Time::Zone;
 
 sub version {
-    return BUGZILLA_VERSION;
+    return { version => type('string')->value(BUGZILLA_VERSION) };
 }
 
 sub timezone {
     my $offset = tz_offset();
     $offset = (($offset / 60) / 60) * 100;
     $offset = sprintf('%+05d', $offset);
-    return $offset;
+    return { timezone => type('string')->value($offset) };
 }
 
 1;
@@ -42,11 +44,6 @@ __END__
 
 Bugzilla::WebService::Bugzilla - Global functions for the webservice interface.
 
-=head1 SYNOPSIS
-
- my $version = Bugzilla.version;
- my $tz = Bugzilla.timezone;
-
 =head1 DESCRIPTION
 
 This provides functions that tell you about Bugzilla in general.
@@ -58,14 +55,42 @@ and B<EXPERIMENTAL> mean.
 
 =over
 
-=item C<version>
+=item C<version> B<EXPERIMENTAL>
+
+=over
+
+=item B<Description>
 
-Returns the current version of Bugzilla, as a string.
+Returns the current version of Bugzilla.
 
-=item C<timezone>
+=item B<Params> (none)
+
+=item B<Returns>
+
+A hash with a single item, C<version>, that is the version as a
+string.
+
+=item B<Errors> (none)
+
+=back
 
-Returns the timezone of the server Bugzilla is running on, in (+/-)XXXX
-(RFC 2822) format. This is important because all dates/times that the
-webservice interface returns will be in this timezone.
+=item C<timezone> B<EXPERIMENTAL>
+
+=over
+
+=item B<Description>
+
+Returns the timezone of the server Bugzilla is running on. This is
+important because all dates/times that the webservice interface
+returns will be in this timezone.
+
+=item B<Params> (none)
+
+=item B<Returns>
+
+A hash with a single item, C<timezone>, that is the timezone as a
+string in (+/-)XXXX (RFC 2822) format.
+
+=back
 
 =back
index 4b5562a0ed352a56c3e7047bca1a9448192857e8..7b59a7efb2753398c86ae420a95133b25fead141 100755 (executable)
@@ -14,6 +14,7 @@
 # The Original Code is the Bugzilla Bug Tracking System.
 #
 # Contributor(s): Marc Schumann <wurblzap@gmail.com>
+#                 Mads Bondo Dydensborg <mbd@dbc.dk>
 
 =head1 NAME
 
@@ -145,7 +146,17 @@ minimum required version your application needs.
 
 $soapresult = $proxy->call('Bugzilla.version');
 _die_on_fault($soapresult);
-print 'Connecting to a Bugzilla of version ' . $soapresult->result() . ".\n";
+print 'Connecting to a Bugzilla of version ' . $soapresult->result()->{version} . ".\n";
+
+=head2 Checking Bugzilla's timezone
+
+To make sure that you understand the dates and times that Bugzilla returns to you, you may want to call C<Bugzilla.timezone>.
+
+=cut
+
+$soapresult = $proxy->call('Bugzilla.timezone');
+_die_on_fault($soapresult);
+print 'Bugzilla\'s timezone is ' . $soapresult->result()->{timezone} . ".\n";
 
 =head2 Logging In and Out