Commit a97d48ec authored by lpsolit%gmail.com's avatar lpsolit%gmail.com

Bug 338793: Remove DBID_to_name() from globals.pl - Patch by Frédéric Buclin…

Bug 338793: Remove DBID_to_name() from globals.pl - Patch by Frédéric Buclin <LpSolit@gmail.com> r=vladd a=justdave
parent 5510427a
...@@ -186,10 +186,10 @@ sub ProcessOneBug { ...@@ -186,10 +186,10 @@ sub ProcessOneBug {
# Convert to names, for later display # Convert to names, for later display
$values{'changer'} = $changer; $values{'changer'} = $changer;
$values{'changername'} = Bugzilla::User->new_from_login($changer)->name; $values{'changername'} = Bugzilla::User->new_from_login($changer)->name;
$values{'assigned_to'} = &::DBID_to_name($values{'assigned_to'}); $values{'assigned_to'} = user_id_to_login($values{'assigned_to'});
$values{'reporter'} = &::DBID_to_name($values{'reporter'}); $values{'reporter'} = user_id_to_login($values{'reporter'});
if ($values{'qa_contact'}) { if ($values{'qa_contact'}) {
$values{'qa_contact'} = &::DBID_to_name($values{'qa_contact'}); $values{'qa_contact'} = user_id_to_login($values{'qa_contact'});
} }
$values{'cc'} = join(', ', @cc_login_names); $values{'cc'} = join(', ', @cc_login_names);
$values{'estimated_time'} = format_time_decimal($values{'estimated_time'}); $values{'estimated_time'} = format_time_decimal($values{'estimated_time'});
...@@ -635,7 +635,7 @@ sub sendMail { ...@@ -635,7 +635,7 @@ sub sendMail {
} }
push @headerrel, 'None' if !scalar(@headerrel); push @headerrel, 'None' if !scalar(@headerrel);
push @watchingrel, 'None' if !scalar(@watchingrel); push @watchingrel, 'None' if !scalar(@watchingrel);
push @watchingrel, map { &::DBID_to_name($_) } @$watchingRef; push @watchingrel, map { user_id_to_login($_) } @$watchingRef;
$substs{"reasonsheader"} = join(" ", @headerrel); $substs{"reasonsheader"} = join(" ", @headerrel);
$substs{"reasonswatchheader"} = join(" ", @watchingrel); $substs{"reasonswatchheader"} = join(" ", @watchingrel);
......
...@@ -51,7 +51,7 @@ use Bugzilla::Field; ...@@ -51,7 +51,7 @@ use Bugzilla::Field;
use base qw(Exporter); use base qw(Exporter);
@Bugzilla::User::EXPORT = qw(insert_new_user is_available_username @Bugzilla::User::EXPORT = qw(insert_new_user is_available_username
login_to_id validate_password login_to_id user_id_to_login validate_password
UserInGroup UserInGroup
USER_MATCH_MULTIPLE USER_MATCH_FAILED USER_MATCH_SUCCESS USER_MATCH_MULTIPLE USER_MATCH_FAILED USER_MATCH_SUCCESS
MATCH_SKIP_CONFIRM MATCH_SKIP_CONFIRM
...@@ -1416,6 +1416,17 @@ sub login_to_id { ...@@ -1416,6 +1416,17 @@ sub login_to_id {
} }
} }
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 { sub validate_password {
my ($password, $matchpassword) = @_; my ($password, $matchpassword) = @_;
...@@ -1841,6 +1852,12 @@ of a user, but you don't want the full weight of Bugzilla::User. ...@@ -1841,6 +1852,12 @@ of a user, but you don't want the full weight of Bugzilla::User.
However, consider using a Bugzilla::User object instead of this function However, consider using a Bugzilla::User object instead of this function
if you need more information about the user than just their ID. 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)> =item C<validate_password($passwd1, $passwd2)>
Returns true if a password is valid (i.e. meets Bugzilla's Returns true if a password is valid (i.e. meets Bugzilla's
......
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
# #
# You need to work with bug_email.pl the MIME::Parser installed. # You need to work with bug_email.pl the MIME::Parser installed.
# #
# $Id: bug_email.pl,v 1.40 2006/06/19 16:25:02 vladd%bugzilla.org Exp $ # $Id: bug_email.pl,v 1.41 2006/06/19 17:30:24 lpsolit%gmail.com Exp $
############################################################### ###############################################################
# 02/12/2000 (SML) # 02/12/2000 (SML)
...@@ -1081,7 +1081,7 @@ END ...@@ -1081,7 +1081,7 @@ END
$val = $Control{ $field }; $val = $Control{ $field };
$val = DBID_to_name( $val ) if( $field =~ /reporter|assigned_to|qa_contact/ ); $val = user_id_to_login( $val ) if( $field =~ /reporter|assigned_to|qa_contact/ );
$tmp_reply .= sprintf( " \@%-15s = %-15s\n", $field, $val ); $tmp_reply .= sprintf( " \@%-15s = %-15s\n", $field, $val );
......
...@@ -44,6 +44,7 @@ use Bugzilla::Product; ...@@ -44,6 +44,7 @@ use Bugzilla::Product;
use Bugzilla::Classification; use Bugzilla::Classification;
use Bugzilla::Milestone; use Bugzilla::Milestone;
use Bugzilla::Group; use Bugzilla::Group;
use Bugzilla::User;
# Shut up misguided -w warnings about "used only once". "use vars" just # Shut up misguided -w warnings about "used only once". "use vars" just
# doesn't work for me. # doesn't work for me.
...@@ -907,7 +908,7 @@ if ($action eq 'update') { ...@@ -907,7 +908,7 @@ if ($action eq 'update') {
foreach my $msg (@$msgs) { foreach my $msg (@$msgs) {
MessageToMTA($msg); MessageToMTA($msg);
} }
my $name = DBID_to_name($who); my $name = user_id_to_login($who);
push(@toomanyvotes_list, push(@toomanyvotes_list,
{id => $id, name => $name}); {id => $id, name => $name});
...@@ -960,7 +961,7 @@ if ($action eq 'update') { ...@@ -960,7 +961,7 @@ if ($action eq 'update') {
foreach my $msg (@$msgs) { foreach my $msg (@$msgs) {
MessageToMTA($msg); MessageToMTA($msg);
} }
my $name = DBID_to_name($who); my $name = user_id_to_login($who);
push(@toomanytotalvotes_list, push(@toomanytotalvotes_list,
{id => $bug_id, name => $name}); {id => $bug_id, name => $name});
......
...@@ -138,28 +138,6 @@ sub GetVersionTable { ...@@ -138,28 +138,6 @@ sub GetVersionTable {
$::VersionTableLoaded = 1; $::VersionTableLoaded = 1;
} }
sub DBID_to_name {
my ($id) = (@_);
return "__UNKNOWN__" if !defined $id;
# $id should always be a positive integer
if ($id =~ m/^([1-9][0-9]*)$/) {
$id = $1;
} else {
$::cachedNameArray{$id} = "__UNKNOWN__";
}
if (!defined $::cachedNameArray{$id}) {
PushGlobalSQLState();
SendSQL("SELECT login_name FROM profiles WHERE userid = $id");
my $r = FetchOneColumn();
PopGlobalSQLState();
if (!defined $r || $r eq "") {
$r = "__UNKNOWN__";
}
$::cachedNameArray{$id} = $r;
}
return $::cachedNameArray{$id};
}
# Returns a list of all the legal values for a field that has a # Returns a list of all the legal values for a field that has a
# list of legal values, like rep_platform or resolution. # list of legal values, like rep_platform or resolution.
sub get_legal_field_values { sub get_legal_field_values {
......
...@@ -1587,8 +1587,8 @@ foreach my $id (@idlist) { ...@@ -1587,8 +1587,8 @@ foreach my $id (@idlist) {
$vars->{'field'} = 'component'; $vars->{'field'} = 'component';
} elsif ($col eq 'assigned_to' || $col eq 'qa_contact') { } elsif ($col eq 'assigned_to' || $col eq 'qa_contact') {
# Display the assignee or QA contact email address # Display the assignee or QA contact email address
$vars->{'oldvalue'} = DBID_to_name($oldhash{$col}); $vars->{'oldvalue'} = user_id_to_login($oldhash{$col});
$vars->{'newvalue'} = DBID_to_name($formhash{$col}); $vars->{'newvalue'} = user_id_to_login($formhash{$col});
$vars->{'field'} = $col; $vars->{'field'} = $col;
} else { } else {
$vars->{'oldvalue'} = $oldhash{$col}; $vars->{'oldvalue'} = $oldhash{$col};
...@@ -2085,16 +2085,16 @@ foreach my $id (@idlist) { ...@@ -2085,16 +2085,16 @@ foreach my $id (@idlist) {
# the old assignee can be notified # the old assignee can be notified
# #
if ($col eq 'assigned_to') { if ($col eq 'assigned_to') {
$old = ($old) ? DBID_to_name($old) : ""; $old = ($old) ? user_id_to_login($old) : "";
$new = ($new) ? DBID_to_name($new) : ""; $new = ($new) ? user_id_to_login($new) : "";
$origOwner = $old; $origOwner = $old;
} }
# ditto for the old qa contact # ditto for the old qa contact
# #
if ($col eq 'qa_contact') { if ($col eq 'qa_contact') {
$old = ($old) ? DBID_to_name($old) : ""; $old = ($old) ? user_id_to_login($old) : "";
$new = ($new) ? DBID_to_name($new) : ""; $new = ($new) ? user_id_to_login($new) : "";
$origQaContact = $old; $origQaContact = $old;
} }
...@@ -2154,7 +2154,7 @@ foreach my $id (@idlist) { ...@@ -2154,7 +2154,7 @@ foreach my $id (@idlist) {
|| !$cgi->param('confirm_add_duplicate')) { || !$cgi->param('confirm_add_duplicate')) {
# The reporter is oblivious to the existence of the new bug and is permitted access # The reporter is oblivious to the existence of the new bug and is permitted access
# ... add 'em to the cc (and record activity) # ... add 'em to the cc (and record activity)
LogActivityEntry($duplicate,"cc","",DBID_to_name($reporter), LogActivityEntry($duplicate,"cc","",user_id_to_login($reporter),
$whoid,$timestamp); $whoid,$timestamp);
$dbh->do(q{INSERT INTO cc (who, bug_id) VALUES (?, ?)}, $dbh->do(q{INSERT INTO cc (who, bug_id) VALUES (?, ?)},
undef, $reporter, $duplicate); undef, $reporter, $duplicate);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment