From: lpsolit%gmail.com <> Date: Sat, 26 May 2007 06:03:33 +0000 (+0000) Subject: Bug 381737: Unable to get legal values of custom fields via XML-RPC - Patch by FrÃ... X-Git-Tag: bugzilla-3.0.1~74 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6490ad0f5f6de2e5ebf0e6028a14615c3fe51231;p=thirdparty%2Fbugzilla.git Bug 381737: Unable to get legal values of custom fields via XML-RPC - Patch by Frédéric Buclin r/a=mkanat --- diff --git a/Bugzilla/WebService/Bug.pm b/Bugzilla/WebService/Bug.pm index a632ffaf09..a2710c4824 100755 --- a/Bugzilla/WebService/Bug.pm +++ b/Bugzilla/WebService/Bug.pm @@ -130,6 +130,8 @@ sub legal_values { my @custom_select = Bugzilla->get_fields({ type => FIELD_TYPE_SINGLE_SELECT }); + # We only want field names. + @custom_select = map {$_->name} @custom_select; my $values; if (grep($_ eq $field, GLOBAL_SELECT_FIELDS, @custom_select)) { diff --git a/contrib/bz_webservice_demo.pl b/contrib/bz_webservice_demo.pl index aa92d1dd99..d21405d4ad 100755 --- a/contrib/bz_webservice_demo.pl +++ b/contrib/bz_webservice_demo.pl @@ -49,6 +49,7 @@ my $Bugzilla_remember; my $bug_id; my $product_name; my $create_file_name; +my $legal_field_values; GetOptions('help|h|?' => \$help, 'uri=s' => \$Bugzilla_uri, @@ -57,7 +58,8 @@ GetOptions('help|h|?' => \$help, 'rememberlogin!' => \$Bugzilla_remember, 'bug_id:s' => \$bug_id, 'product_name:s' => \$product_name, - 'create:s' => \$create_file_name + 'create:s' => \$create_file_name, + 'field:s' => \$legal_field_values ) or pod2usage({'-verbose' => 0, '-exitval' => 1}); =head1 OPTIONS @@ -269,6 +271,21 @@ if ($create_file_name) { } +=head2 Getting Legal Field Values + +Call C with the name of the field (including custom +select fields). The call will return a reference to an array with the +list of legal values for this field. + +=cut + +if ($legal_field_values) { + $soapresult = $proxy->call('Bug.legal_values', {field => $legal_field_values} ); + _die_on_fault($soapresult); + $result = $soapresult->result; + + print join("\n", @{$result->{values}}) . "\n"; +} =head1 NOTES