my $can = $self->check_can_change_field($field, $current, $value, \$privs);
if (!$can) {
if ($field eq 'assigned_to' || $field eq 'qa_contact') {
- $value = user_id_to_login($value);
- $current = user_id_to_login($current);
+ $value = Bugzilla::User->new($value)->login;
+ $current = Bugzilla::User->new($current)->login;
}
ThrowUserError('illegal_change', { field => $field,
oldvalue => $current,
my @watchingrel = map { $relationships{$_} } @reasons_watch;
push(@headerrel, 'None') unless @headerrel;
push(@watchingrel, 'None') unless @watchingrel;
- push @watchingrel, map { user_id_to_login($_) } @$watchingRef;
+ push @watchingrel, map { Bugzilla::User->new($_)->login } @$watchingRef;
my @changedfields = uniq map { $_->{field_name} } @display_diffs;
use parent qw(Bugzilla::Object Exporter);
@Bugzilla::User::EXPORT = qw(is_available_username
- login_to_id user_id_to_login validate_password
+ login_to_id validate_password
USER_MATCH_MULTIPLE USER_MATCH_FAILED USER_MATCH_SUCCESS
MATCH_SKIP_CONFIRM
);
}
}
-sub user_id_to_login {
- my $user_id = shift;
- my $dbh = Bugzilla->dbh;
-
- return '' unless ($user_id && detaint_natural($user_id));
-
- my $login = $dbh->selectrow_array('SELECT login_name FROM profiles
- WHERE userid = ?', undef, $user_id);
- return $login || '';
-}
-
sub validate_password {
my ($password, $matchpassword) = @_;
However, consider using a Bugzilla::User object instead of this function
if you need more information about the user than just their ID.
-=item C<user_id_to_login($user_id)>
-
-Returns the login name of the user account for the given user ID. If no
-valid user ID is given or the user has no entry in the profiles table,
-we return an empty string.
-
=item C<validate_password($passwd1, $passwd2)>
Returns true if a password is valid (i.e. meets Bugzilla's
# If some votes are removed, _remove_votes() returns a list
# of messages to send to voters.
push(@msgs, _remove_votes($id, $who, 'votes_too_many_per_bug'));
- my $name = user_id_to_login($who);
-
+ my $name = Bugzilla::User->new($who)->login;
+
push(@toomanyvotes_list, {id => $id, name => $name});
}
}
AND votes.who = ?',
undef, $product->id, $who);
+ my $name = Bugzilla::User->new($who)->login;
foreach my $bug_id (@$bug_ids) {
# _remove_votes returns a list of messages to send
# in case some voters had too many votes.
push(@msgs, _remove_votes($bug_id, $who,
'votes_too_many_per_user'));
- my $name = user_id_to_login($who);
push(@toomanytotalvotes_list, {id => $bug_id, name => $name});
}