From 567c73317ff4fc705f0d13f530c2d0d061ca7c24 Mon Sep 17 00:00:00 2001 From: "terry%mozilla.org" Date: Thu, 17 Feb 2000 15:53:40 +0000 Subject: [PATCH] Display all possible state transitions in a bug if the user is not logged in. Since they haven't logged in, we don't know what they will be allowed to do. And users who disable cookies tend to pretty often not be logged in. git-svn-id: svn://10.0.0.236/trunk@61203 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/webtools/bugzilla/bug_form.pl | 15 +++++++++++---- mozilla/webtools/bugzilla/process_bug.cgi | 3 +++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/mozilla/webtools/bugzilla/bug_form.pl b/mozilla/webtools/bugzilla/bug_form.pl index 520949a3699..a556867f219 100644 --- a/mozilla/webtools/bugzilla/bug_form.pl +++ b/mozilla/webtools/bugzilla/bug_form.pl @@ -460,11 +460,18 @@ my $knum = 1; my $status = $bug{'bug_status'}; -my $canedit = UserInGroup("editbugs"); +# In the below, if the person hasn't logged in ($::userid == 0), then +# we treat them as if they can do anything. That's because we don't +# know why they haven't logged in; it may just be because they don't +# use cookies. Display everything as if they have all the permissions +# in the world; their permissions will get checked when they log in +# and actually try to make the change. + +my $canedit = UserInGroup("editbugs") || ($::userid == 0); my $canconfirm; if ($status eq $::unconfirmedstate) { - $canconfirm = UserInGroup("canconfirm"); + $canconfirm = UserInGroup("canconfirm") || ($::userid == 0); if ($canedit || $canconfirm) { print ""; print "Confirm bug (change status to NEW)
"; @@ -473,8 +480,8 @@ if ($status eq $::unconfirmedstate) { } -if ($::userid && ($canedit || $::userid == $assignedtoid || - $::userid == $reporterid || $::userid == $qacontactid)) { +if ($canedit || $::userid == $assignedtoid || + $::userid == $reporterid || $::userid == $qacontactid) { if (IsOpenedState($status)) { if ($status ne "ASSIGNED") { print ""; diff --git a/mozilla/webtools/bugzilla/process_bug.cgi b/mozilla/webtools/bugzilla/process_bug.cgi index 1e25ef86129..5b5b9e44eb0 100755 --- a/mozilla/webtools/bugzilla/process_bug.cgi +++ b/mozilla/webtools/bugzilla/process_bug.cgi @@ -279,6 +279,9 @@ sub ChangeStatus { } else { $::query .= "bug_status = '$str'"; } + $::FORM{'bug_status'} = $str; # Used later for call to + # CheckCanChangeField to make sure this + # is really kosher. } }