summaryrefslogtreecommitdiffstats
path: root/extensions/TagNewUsers/Extension.pm
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/TagNewUsers/Extension.pm')
-rw-r--r--extensions/TagNewUsers/Extension.pm16
1 files changed, 16 insertions, 0 deletions
diff --git a/extensions/TagNewUsers/Extension.pm b/extensions/TagNewUsers/Extension.pm
index 382a3c3d1..d71c4ea20 100644
--- a/extensions/TagNewUsers/Extension.pm
+++ b/extensions/TagNewUsers/Extension.pm
@@ -26,6 +26,7 @@ use Bugzilla::Field;
use Bugzilla::User;
use Bugzilla::Install::Util qw(indicate_progress);
use Date::Parse;
+use Scalar::Util qw(blessed);
# users younger than PROFILE_AGE days will be tagged as new
use constant PROFILE_AGE => 60;
@@ -223,4 +224,19 @@ sub _user_is_new {
|| ($user->{creation_age} <= PROFILE_AGE);
}
+sub webservice_user_get {
+ my ($self, $args) = @_;
+ my ($webservice, $params, $users) = @$args{qw(webservice params users)};
+
+ foreach my $user (@$users) {
+ # Most of the time the hash values are XMLRPC::Data objects
+ my $email = blessed $user->{'email'} ? $user->{'email'}->value : $user->{'email'};
+ if ($email) {
+ my $user_obj = Bugzilla::User->new({ name => $email });
+ $user->{'is_new'}
+ = $webservice->type('boolean', $self->_user_is_new($user_obj) ? 1 : 0);
+ }
+ }
+}
+
__PACKAGE__->NAME;