summaryrefslogtreecommitdiffstats
path: root/post_bug.cgi
diff options
context:
space:
mode:
authorlpsolit%gmail.com <>2006-07-04 18:49:32 +0200
committerlpsolit%gmail.com <>2006-07-04 18:49:32 +0200
commit049069a3bf31f6ac2228b7b22a9596526d504e0b (patch)
treedcee41563d4e010bf1898c01cb0090e2757a263d /post_bug.cgi
parent6c1536df9efc8a92e1a266fe9153f5cb8bafafc1 (diff)
downloadbugzilla-049069a3bf31f6ac2228b7b22a9596526d504e0b.tar.gz
bugzilla-049069a3bf31f6ac2228b7b22a9596526d504e0b.tar.xz
Bug 341867: post_bug.cgi lets users with editbugs and canconfirm privs enter bugs as UNCONFIRMED even when votes_to_confirm is 0 - Patch by Frédéric Buclin <LpSolit@gmail.com> r=bkor a=myk
Diffstat (limited to 'post_bug.cgi')
-rwxr-xr-xpost_bug.cgi38
1 files changed, 10 insertions, 28 deletions
diff --git a/post_bug.cgi b/post_bug.cgi
index 6dcc776a4..d27ce22a7 100755
--- a/post_bug.cgi
+++ b/post_bug.cgi
@@ -165,11 +165,7 @@ $cgi->param('bug_file_loc', '') if $cgi->param('bug_file_loc') eq 'http://';
# Default assignee is the component owner.
if (!UserInGroup("editbugs") || $cgi->param('assigned_to') eq "") {
- my $initialowner = $dbh->selectrow_array(q{SELECT initialowner
- FROM components
- WHERE id = ?},
- undef, $component->id);
- $cgi->param(-name => 'assigned_to', -value => $initialowner);
+ $cgi->param(-name => 'assigned_to', -value => $component->default_assignee->id);
} else {
$cgi->param(-name => 'assigned_to',
-value => login_to_id(trim($cgi->param('assigned_to')), THROW_ERROR));
@@ -194,10 +190,7 @@ if (Bugzilla->params->{"useqacontact"}) {
my $qa_contact;
if (!UserInGroup("editbugs") || !defined $cgi->param('qa_contact')
|| trim($cgi->param('qa_contact')) eq "") {
- ($qa_contact) = $dbh->selectrow_array(q{SELECT initialqacontact
- FROM components
- WHERE id = ?},
- undef, $component->id);
+ $qa_contact = $component->default_qa_contact->id;
} else {
$qa_contact = login_to_id(trim($cgi->param('qa_contact')), THROW_ERROR);
}
@@ -208,30 +201,19 @@ if (Bugzilla->params->{"useqacontact"}) {
}
}
-if (UserInGroup("editbugs") || UserInGroup("canconfirm")) {
- # Default to NEW if the user hasn't selected another status
- if (!defined $cgi->param('bug_status')) {
- $cgi->param(-name => 'bug_status', -value => "NEW");
+my $bug_status = 'UNCONFIRMED';
+if ($product->votes_to_confirm) {
+ # Default to NEW if the user with privs hasn't selected another status.
+ if (UserInGroup('editbugs') || UserInGroup('canconfirm')) {
+ $bug_status = scalar($cgi->param('bug_status')) || 'NEW';
}
} else {
- # Default to UNCONFIRMED if we are using it, NEW otherwise
- $cgi->param(-name => 'bug_status', -value => 'UNCONFIRMED');
- my $votestoconfirm = $dbh->selectrow_array(q{SELECT votestoconfirm
- FROM products
- WHERE id = ?},
- undef, $product->id);
-
- if (!$votestoconfirm) {
- $cgi->param(-name => 'bug_status', -value => "NEW");
- }
+ $bug_status = 'NEW';
}
+$cgi->param(-name => 'bug_status', -value => $bug_status);
if (!defined $cgi->param('target_milestone')) {
- my $defaultmilestone = $dbh->selectrow_array(q{SELECT defaultmilestone
- FROM products
- WHERE name = ?},
- undef, $product->name);
- $cgi->param(-name => 'target_milestone', -value => $defaultmilestone);
+ $cgi->param(-name => 'target_milestone', -value => $product->default_milestone);
}
if (!Bugzilla->params->{'letsubmitterchoosepriority'}) {