summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlpsolit%gmail.com <>2005-04-20 03:11:41 +0200
committerlpsolit%gmail.com <>2005-04-20 03:11:41 +0200
commit6f4fba5980af8a0670aa402eb046fc58a06cb1b8 (patch)
treef834a61102ab4342a1197684aae67ddb647f50f1
parentfcd963fcf1a72c5237739aa035be5d2f3bfa6ca8 (diff)
downloadbugzilla-6f4fba5980af8a0670aa402eb046fc58a06cb1b8.tar.gz
bugzilla-6f4fba5980af8a0670aa402eb046fc58a06cb1b8.tar.xz
Bug 288603: Allow users in the request group to remove pending requests made by others - Patch by Frédéric Buclin <LpSolit@gmail.com> r=myk a=justdave
-rw-r--r--Bugzilla/Flag.pm7
1 files changed, 5 insertions, 2 deletions
diff --git a/Bugzilla/Flag.pm b/Bugzilla/Flag.pm
index 29215876a..de9c3d23b 100644
--- a/Bugzilla/Flag.pm
+++ b/Bugzilla/Flag.pm
@@ -320,8 +320,11 @@ sub validate {
# - The flag is unchanged
next if ($status eq $flag->{status});
- # - User can clear flags set by itself
- next if (($status eq "X") && ($user->id eq $flag->{setter}->id));
+ # - User in the $request_gid group can clear pending requests
+ next if ($status eq 'X'
+ && $flag->{status} eq '?'
+ && (!$flag->{type}->{request_gid}
+ || $user->in_group(&::GroupIdToName($flag->{type}->{request_gid}))));
# - User in the $grant_gid group can set/clear flags,
# including "+" and "-"