summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormkanat%bugzilla.org <>2009-07-21 18:07:27 +0200
committermkanat%bugzilla.org <>2009-07-21 18:07:27 +0200
commite5164f3eff5adebb42bf63a8423beaed422ce7f6 (patch)
tree85faa863d1cf2191be05df913137c0ec754a8f38
parentc9ce039ea505c16c586dea94ad91d98bfc1ef0e3 (diff)
downloadbugzilla-e5164f3eff5adebb42bf63a8423beaed422ce7f6.tar.gz
bugzilla-e5164f3eff5adebb42bf63a8423beaed422ce7f6.tar.xz
Bug 505390: Make Bugzilla (and thus the WebService) throw an error when you try to add a private comment but aren't an insider.
Patch by Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=LpSolit
-rw-r--r--Bugzilla/Bug.pm7
-rw-r--r--[-rwxr-xr-x]Bugzilla/WebService/Bug.pm7
-rw-r--r--[-rwxr-xr-x]Bugzilla/WebService/Constants.pm2
3 files changed, 13 insertions, 3 deletions
diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm
index 8b140e92f..9b0bac1e1 100644
--- a/Bugzilla/Bug.pm
+++ b/Bugzilla/Bug.pm
@@ -1192,9 +1192,10 @@ sub _check_comment {
sub _check_commentprivacy {
my ($invocant, $comment_privacy) = @_;
- my $insider_group = Bugzilla->params->{"insidergroup"};
- return ($insider_group && Bugzilla->user->in_group($insider_group)
- && $comment_privacy) ? 1 : 0;
+ if ($comment_privacy && !Bugzilla->user->is_insider) {
+ ThrowUserError('user_not_insider');
+ }
+ return $comment_privacy ? 1 : 0;
}
sub _check_comment_type {
diff --git a/Bugzilla/WebService/Bug.pm b/Bugzilla/WebService/Bug.pm
index e88db0773..48e554f16 100755..100644
--- a/Bugzilla/WebService/Bug.pm
+++ b/Bugzilla/WebService/Bug.pm
@@ -1536,6 +1536,10 @@ The id you specified doesn't exist in the database.
You did not have the necessary rights to edit the bug.
+=item 113 (Can't Make Private Comments)
+
+You tried to add a private comment, but don't have the necessary rights.
+
=back
=item B<History>
@@ -1546,6 +1550,9 @@ You did not have the necessary rights to edit the bug.
=item Modified to return the new comment's id in Bugzilla B<3.4>
+=item Modified to throw an error if you try to add a private comment
+but can't, in Bugzilla B<3.4>.
+
=back
=back
diff --git a/Bugzilla/WebService/Constants.pm b/Bugzilla/WebService/Constants.pm
index 83b4197aa..260ae9478 100755..100644
--- a/Bugzilla/WebService/Constants.pm
+++ b/Bugzilla/WebService/Constants.pm
@@ -87,6 +87,8 @@ use constant WS_ERROR_CODE => {
# See Also errors
bug_url_invalid => 112,
bug_url_too_long => 112,
+ # Insidergroup Errors
+ user_not_insider => 113,
# Authentication errors are usually 300-400.
invalid_username_or_password => 300,