diff options
Diffstat (limited to 'extensions/TagNewUsers/Extension.pm')
-rw-r--r-- | extensions/TagNewUsers/Extension.pm | 16 |
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; |