From: Frédéric Buclin Date: Wed, 20 Oct 2010 23:49:37 +0000 (+0200) Subject: Bug 598014: Document how to mark the initial comment as private when using Bug.create() X-Git-Tag: bugzilla-4.0rc1~24 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e963fe03c77698414022255f8e6b2e22b9674516;p=thirdparty%2Fbugzilla.git Bug 598014: Document how to mark the initial comment as private when using Bug.create() r/a=mkanat --- diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm index 4219664f24..87c53f0d28 100644 --- a/Bugzilla/Bug.pm +++ b/Bugzilla/Bug.pm @@ -125,7 +125,7 @@ sub VALIDATORS { bug_status => \&_check_bug_status, cc => \&_check_cc, comment => \&_check_comment, - commentprivacy => \&_check_commentprivacy, + comment_is_private => \&_check_comment_is_private, component => \&_check_component, deadline => \&_check_deadline, dup_id => \&_check_dup_id, @@ -268,6 +268,7 @@ use constant FIELD_MAP => { blocks => 'blocked', is_confirmed => 'everconfirmed', cc_accessible => 'cclist_accessible', + commentprivacy => 'comment_is_private', creation_time => 'creation_ts', creator => 'reporter', description => 'comment', @@ -610,9 +611,9 @@ sub create { my $depends_on = delete $params->{dependson}; my $blocked = delete $params->{blocked}; my $keywords = delete $params->{keywords}; - my ($comment, $privacy) = ($params->{comment}, $params->{commentprivacy}); + my ($comment, $privacy) = ($params->{comment}, $params->{comment_is_private}); delete $params->{comment}; - delete $params->{commentprivacy}; + delete $params->{comment_is_private}; # We don't want the bug to appear in the system until it's correctly # protected by groups. @@ -1404,7 +1405,7 @@ sub _check_comment { return $comment; } -sub _check_commentprivacy { +sub _check_comment_is_private { my ($invocant, $comment_privacy) = @_; if ($comment_privacy && !Bugzilla->user->is_insider) { ThrowUserError('user_not_insider'); @@ -2620,7 +2621,7 @@ sub add_comment { } if (exists $params->{isprivate}) { $params->{isprivate} = - $self->_check_commentprivacy($params->{isprivate}); + $self->_check_comment_is_private($params->{isprivate}); } # XXX We really should check extra_data, too. diff --git a/Bugzilla/WebService/Bug.pm b/Bugzilla/WebService/Bug.pm index 4e24636f4a..5206f7705d 100644 --- a/Bugzilla/WebService/Bug.pm +++ b/Bugzilla/WebService/Bug.pm @@ -2250,6 +2250,9 @@ don't want it to be assigned to the component owner. =item C (array) - An array of usernames to CC on this bug. +=item C (boolean) - If set to true, the description +is private, otherwise it is assumed to be public. + =item C (array) - An array of group names to put this bug into. You can see valid group names on the Permissions tab of the Preferences screen, or, if you are an administrator, @@ -2328,6 +2331,10 @@ B, due to a bug in Bugzilla. Bugzilla 4.0, bugs were only added into Mandatory groups by this method. +=item The C argument was added in Bugzilla B<4.0>. +Before Bugzilla 4.0, you had to use the undocumented C +argument. + =back =back diff --git a/enter_bug.cgi b/enter_bug.cgi index 6cc174c315..61fc06162e 100755 --- a/enter_bug.cgi +++ b/enter_bug.cgi @@ -452,14 +452,14 @@ if ($cloned_bug_id) { my $bug_desc = $cloned_bug->comments({ order => 'oldest_to_newest' })->[0]; my $isprivate = $bug_desc->is_private; - $vars->{'comment'} = ""; - $vars->{'commentprivacy'} = 0; + $vars->{'comment'} = ""; + $vars->{'comment_is_private'} = 0; if (!$isprivate || Bugzilla->user->is_insider) { # We use "body" to avoid any format_comment text, which would be # pointless to clone. - $vars->{'comment'} = $bug_desc->body; - $vars->{'commentprivacy'} = $isprivate; + $vars->{'comment'} = $bug_desc->body; + $vars->{'comment_is_private'} = $isprivate; } } # end of cloned bug entry form @@ -484,7 +484,7 @@ else { $vars->{'cc'} = join(', ', $cgi->param('cc')); $vars->{'comment'} = formvalue('comment'); - $vars->{'commentprivacy'} = formvalue('commentprivacy'); + $vars->{'comment_is_private'} = formvalue('comment_is_private'); } # end of normal/bookmarked entry form diff --git a/post_bug.cgi b/post_bug.cgi index c097a96ce2..a0cfaf29d8 100755 --- a/post_bug.cgi +++ b/post_bug.cgi @@ -129,7 +129,7 @@ push(@bug_fields, qw( alias blocked - commentprivacy + comment_is_private bug_file_loc bug_severity bug_status @@ -184,7 +184,7 @@ if (defined $cgi->param('version')) { # Add an attachment if requested. if (defined($cgi->upload('data')) || $cgi->param('attachurl')) { - $cgi->param('isprivate', $cgi->param('commentprivacy')); + $cgi->param('isprivate', $cgi->param('comment_is_private')); # Must be called before create() as it may alter $cgi->param('ispatch'). my $content_type = Bugzilla::Attachment::get_content_type(); diff --git a/process_bug.cgi b/process_bug.cgi index 4f89215596..0d57bfcfea 100755 --- a/process_bug.cgi +++ b/process_bug.cgi @@ -265,7 +265,7 @@ if (should_set('keywords')) { if (should_set('comment')) { $set_all_fields{comment} = { body => scalar $cgi->param('comment'), - is_private => scalar $cgi->param('commentprivacy'), + is_private => scalar $cgi->param('comment_is_private'), }; } if (should_set('see_also')) { diff --git a/template/en/default/bug/create/create.html.tmpl b/template/en/default/bug/create/create.html.tmpl index 411a0a64d3..618727fee7 100644 --- a/template/en/default/bug/create/create.html.tmpl +++ b/template/en/default/bug/create/create.html.tmpl @@ -585,9 +585,9 @@ TUI_hide_default('expert_fields');      - - : [% IF user.is_insider %] -