Bug 502682: CheckIfVotedConfirmed fails to confirm a bug if you don't have the permissions to set status/everconfirmed - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=mkanat

git-svn-id: svn://10.0.0.236/branches/BUGZILLA-3_4-BRANCH@257646 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
lpsolit%gmail.com 2009-07-07 11:11:24 +00:00
parent 94b2645105
commit 95717df49b

View File

@ -3373,11 +3373,17 @@ sub CheckIfVotedConfirmed {
}
ThrowCodeError('no_open_bug_status') unless $new_status;
$bug->set_status($new_status);
# We cannot call $bug->set_status() here, because a user without
# canconfirm privs should still be able to confirm a bug by
# popular vote. We already know the new status is valid, so it's safe.
$bug->{bug_status} = $new_status;
$bug->{everconfirmed} = 1;
delete $bug->{'status'}; # Contains the status object.
}
else {
# If the bug is in a closed state, only set everconfirmed to 1.
$bug->_set_everconfirmed(1);
# Do not call $bug->_set_everconfirmed(), for the same reason as above.
$bug->{everconfirmed} = 1;
}
$bug->update();