Bug 445861: $component->default_qa_contact should not return the default user object when no default QA contact is defined
r/a=LpSolit git-svn-id: svn://10.0.0.236/trunk@264222 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -1 +1 @@
|
||||
8393
|
||||
8394
|
||||
@@ -1686,7 +1686,6 @@ sub _check_qa_contact {
|
||||
$qa_contact = trim($qa_contact) if !ref $qa_contact;
|
||||
my $component = blessed($invocant) ? $invocant->component_obj
|
||||
: $params->{component};
|
||||
my $id;
|
||||
if (!ref $invocant) {
|
||||
# Bugs get no QA Contact on creation if useqacontact is off.
|
||||
return undef if !Bugzilla->params->{useqacontact};
|
||||
@@ -1695,13 +1694,14 @@ sub _check_qa_contact {
|
||||
if (!Bugzilla->user->in_group('editbugs', $component->product_id)
|
||||
|| !$qa_contact)
|
||||
{
|
||||
$id = $component->default_qa_contact->id;
|
||||
return $component->default_qa_contact ? $component->default_qa_contact->id : undef;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# If a QA Contact was specified or if we're updating, check
|
||||
# the QA Contact for validity.
|
||||
if (!defined $id && $qa_contact) {
|
||||
my $id;
|
||||
if ($qa_contact) {
|
||||
$qa_contact = Bugzilla::User->check($qa_contact) if !ref $qa_contact;
|
||||
$id = $qa_contact->id;
|
||||
# create() checks this another way, so we don't have to run this
|
||||
@@ -3419,9 +3419,6 @@ sub qa_contact {
|
||||
if (Bugzilla->params->{'useqacontact'} && $self->{'qa_contact'}) {
|
||||
$self->{'qa_contact_obj'} = new Bugzilla::User($self->{'qa_contact'});
|
||||
} else {
|
||||
# XXX - This is somewhat inconsistent with the assignee/reporter
|
||||
# methods, which will return an empty User if they get a 0.
|
||||
# However, we're keeping it this way now, for backwards-compatibility.
|
||||
$self->{'qa_contact_obj'} = undef;
|
||||
}
|
||||
return $self->{'qa_contact_obj'};
|
||||
|
||||
@@ -352,6 +352,8 @@ sub default_assignee {
|
||||
sub default_qa_contact {
|
||||
my $self = shift;
|
||||
|
||||
return if !$self->{'initialqacontact'};
|
||||
|
||||
if (!defined $self->{'default_qa_contact'}) {
|
||||
$self->{'default_qa_contact'} =
|
||||
new Bugzilla::User($self->{'initialqacontact'});
|
||||
@@ -531,7 +533,8 @@ Component.pm represents a Product Component object.
|
||||
|
||||
Params: none.
|
||||
|
||||
Returns: A Bugzilla::User object.
|
||||
Returns: A Bugzilla::User object if the default QA contact is defined for
|
||||
the component. Otherwise, returns undef.
|
||||
|
||||
=item C<initial_cc>
|
||||
|
||||
|
||||
@@ -236,8 +236,9 @@ sub _component_to_hash {
|
||||
$self->type('string' , $component->description),
|
||||
default_assigned_to =>
|
||||
$self->type('string' , $component->default_assignee->login),
|
||||
default_qa_contact =>
|
||||
$self->type('string' , $component->default_qa_contact->login),
|
||||
default_qa_contact =>
|
||||
$self->type('string' , $component->default_qa_contact ?
|
||||
$component->default_qa_contact->login : ''),
|
||||
sort_key => # sort_key is returned to match Bug.fields
|
||||
0,
|
||||
is_active =>
|
||||
@@ -456,7 +457,7 @@ default.
|
||||
=item C<default_qa_contact>
|
||||
|
||||
C<string> The login name of the user who will be set as the QA Contact for
|
||||
new bugs by default.
|
||||
new bugs by default. Empty string if the QA contact is not defined.
|
||||
|
||||
=item C<sort_key>
|
||||
|
||||
|
||||
@@ -828,8 +828,10 @@ sub process_bug {
|
||||
push( @values, $qa_contact );
|
||||
}
|
||||
else {
|
||||
push( @values, $component->default_qa_contact->id || undef );
|
||||
if ($component->default_qa_contact->id){
|
||||
push(@values, $component->default_qa_contact ?
|
||||
$component->default_qa_contact->id : undef);
|
||||
|
||||
if ($component->default_qa_contact) {
|
||||
$err .= "Setting qa contact to the default for this product.\n";
|
||||
$err .= " This bug either had no qa contact or an invalid one.\n";
|
||||
}
|
||||
|
||||
@@ -204,7 +204,7 @@
|
||||
<li>Default assignee updated to '[% comp.default_assignee.login FILTER html %]'</li>
|
||||
[% END %]
|
||||
[% IF changes.initialqacontact.defined %]
|
||||
[% IF comp.default_qa_contact.id %]
|
||||
[% IF comp.default_qa_contact %]
|
||||
<li>Default QA contact updated to '[% comp.default_qa_contact.login FILTER html %]'</li>
|
||||
[% ELSE %]
|
||||
<li>Default QA contact deleted</li>
|
||||
|
||||
@@ -80,7 +80,9 @@
|
||||
</td>
|
||||
[% IF Param("useqacontact") %]
|
||||
<td class="component_qa_contact">
|
||||
[% INCLUDE global/user.html.tmpl who = comp.default_qa_contact %]
|
||||
[% IF comp.default_qa_contact %]
|
||||
[% INCLUDE global/user.html.tmpl who = comp.default_qa_contact %]
|
||||
[% END %]
|
||||
</td>
|
||||
[% END %]
|
||||
</tr>
|
||||
|
||||
Reference in New Issue
Block a user