diff options
author | mkanat%bugzilla.org <> | 2009-07-21 18:07:27 +0200 |
---|---|---|
committer | mkanat%bugzilla.org <> | 2009-07-21 18:07:27 +0200 |
commit | e5164f3eff5adebb42bf63a8423beaed422ce7f6 (patch) | |
tree | 85faa863d1cf2191be05df913137c0ec754a8f38 | |
parent | c9ce039ea505c16c586dea94ad91d98bfc1ef0e3 (diff) | |
download | bugzilla-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.pm | 7 | ||||
-rw-r--r--[-rwxr-xr-x] | Bugzilla/WebService/Bug.pm | 7 | ||||
-rw-r--r--[-rwxr-xr-x] | Bugzilla/WebService/Constants.pm | 2 |
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, |