From ebcb71f97ff25dfad53f8b1a7ded8b34f60053db Mon Sep 17 00:00:00 2001 From: "jocuri%softhome.net" <> Date: Sun, 12 Dec 2004 09:40:31 +0000 Subject: Patch for bug 273873: bug-creation template for UNCONFIRMED shouldn't set status to NEW; patch by Nick.Barnes@pobox.com, r=justdave, a=justdave. --- enter_bug.cgi | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) (limited to 'enter_bug.cgi') diff --git a/enter_bug.cgi b/enter_bug.cgi index c8ceed212..4bda17ac4 100755 --- a/enter_bug.cgi +++ b/enter_bug.cgi @@ -355,18 +355,38 @@ if (formvalue('version')) { $default{'version'} = $vars->{'version'}->[$#{$vars->{'version'}}]; } -# There must be at least one status in @status. -my @status = "NEW"; +# List of status values for drop-down. +my @status; -if (UserInGroup("editbugs") || UserInGroup("canconfirm")) { - SendSQL("SELECT votestoconfirm FROM products WHERE name = " . - SqlQuote($product)); - push(@status, $unconfirmedstate) if (FetchOneColumn()); +# Construct the list of allowable values. There are three cases: +# +# case values +# product does not have confirmation NEW +# confirmation, user cannot confirm UNCONFIRMED +# confirmation, user can confirm NEW, UNCONFIRMED. + +SendSQL("SELECT votestoconfirm FROM products WHERE name = " . + SqlQuote($product)); +if (FetchOneColumn()) { + if (UserInGroup("editbugs") || UserInGroup("canconfirm")) { + push(@status, "NEW"); + } + push(@status, $unconfirmedstate); +} else { + push(@status, "NEW"); } $vars->{'bug_status'} = \@status; -$default{'bug_status'} = $status[0]; +# Get the default from a template value if it is legitimate. +# Otherwise, set the default to the first item on the list. + +if (formvalue('bug_status') && (lsearch(\@status, formvalue('bug_status')) >= 0)) { + $default{'bug_status'} = formvalue('bug_status'); +} else { + $default{'bug_status'} = $status[0]; +} + SendSQL("SELECT DISTINCT groups.id, groups.name, groups.description, " . "membercontrol, othercontrol " . "FROM groups LEFT JOIN group_control_map " . -- cgit v1.2.3-24-g4f1b