diff options
Diffstat (limited to 'Bugzilla/WebService/Server')
-rw-r--r-- | Bugzilla/WebService/Server/JSONRPC.pm | 7 | ||||
-rw-r--r-- | Bugzilla/WebService/Server/XMLRPC.pm | 8 |
2 files changed, 10 insertions, 5 deletions
diff --git a/Bugzilla/WebService/Server/JSONRPC.pm b/Bugzilla/WebService/Server/JSONRPC.pm index 93d315fde..b488c8de5 100644 --- a/Bugzilla/WebService/Server/JSONRPC.pm +++ b/Bugzilla/WebService/Server/JSONRPC.pm @@ -222,8 +222,11 @@ sub type { utf8::encode($value) if utf8::is_utf8($value); $retval = encode_base64($value, ''); } - elsif ($type eq 'email' && Bugzilla->params->{'webservice_email_filter'}) { - $retval = email_filter($value); + elsif ($type eq 'login') { + $retval = Bugzilla->params->{'use_email_as_login'} ? email_filter($retval) : "$retval"; + } + elsif ($type eq 'email') { + $retval = Bugzilla->user->in_group('editusers') ? "$retval" : ''; } return $retval; diff --git a/Bugzilla/WebService/Server/XMLRPC.pm b/Bugzilla/WebService/Server/XMLRPC.pm index f697f0927..c6461abd6 100644 --- a/Bugzilla/WebService/Server/XMLRPC.pm +++ b/Bugzilla/WebService/Server/XMLRPC.pm @@ -35,11 +35,13 @@ BEGIN { $value = Bugzilla::WebService::Server->datetime_format_outbound($value); $value =~ s/-//g; } + elsif ($type eq 'login') { + $type = 'string'; + $value = email_filter($value) if Bugzilla->params->{'use_email_as_login'}; + } elsif ($type eq 'email') { $type = 'string'; - if (Bugzilla->params->{'webservice_email_filter'}) { - $value = email_filter($value); - } + $value = '' unless Bugzilla->user->in_group('editusers'); } return XMLRPC::Data->type($type)->value($value); }; |