Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
bugzilla
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Ivan Ivlev
bugzilla
Commits
8db452b3
Commit
8db452b3
authored
Nov 13, 2007
by
mkanat%bugzilla.org
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bug 401957: Move comment "isprivate" updating from process_bug to Bugzilla::Bug
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=LpSolit
parent
d5adbc10
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
38 additions
and
30 deletions
+38
-30
Bug.pm
Bugzilla/Bug.pm
+19
-0
process_bug.cgi
process_bug.cgi
+8
-22
comments.html.tmpl
template/en/default/bug/comments.html.tmpl
+6
-6
filterexceptions.pl
template/en/default/filterexceptions.pl
+1
-2
user-error.html.tmpl
template/en/default/global/user-error.html.tmpl
+4
-0
No files found.
Bugzilla/Bug.pm
View file @
8db452b3
...
...
@@ -501,6 +501,12 @@ sub update {
Bugzilla
->
user
->
id
,
$delta_ts
);
}
}
foreach
my
$comment_id
(
keys
%
{
$self
->
{
comment_isprivate
}
||
{}})
{
$dbh
->
do
(
"UPDATE longdescs SET isprivate = ? WHERE comment_id = ?"
,
undef
,
$self
->
{
comment_isprivate
}
->
{
$comment_id
},
$comment_id
);
# XXX It'd be nice to track this in the bug activity.
}
# Insert the values into the multiselect value tables
my
@multi_selects
=
Bugzilla
->
get_fields
(
...
...
@@ -1339,6 +1345,19 @@ sub _set_global_validator {
sub
set_alias
{
$_
[
0
]
->
set
(
'alias'
,
$_
[
1
]);
}
sub
set_cclist_accessible
{
$_
[
0
]
->
set
(
'cclist_accessible'
,
$_
[
1
]);
}
sub
set_comment_is_private
{
my
(
$self
,
$comment_id
,
$isprivate
)
=
@_
;
return
unless
Bugzilla
->
user
->
is_insider
;
my
(
$comment
)
=
grep
(
$comment_id
eq
$_
->
{
id
},
@
{
$self
->
longdescs
});
ThrowUserError
(
'comment_invalid_isprivate'
,
{
id
=>
$comment_id
})
if
!
$comment
;
$isprivate
=
$isprivate
?
1
:
0
;
if
(
$isprivate
!=
$comment
->
{
isprivate
})
{
$self
->
{
comment_isprivate
}
||=
{};
$self
->
{
comment_isprivate
}
->
{
$comment_id
}
=
$isprivate
;
}
}
sub
set_component
{
my
(
$self
,
$name
)
=
@_
;
my
$old_comp
=
$self
->
component_obj
;
...
...
process_bug.cgi
View file @
8db452b3
...
...
@@ -451,28 +451,14 @@ if (defined $cgi->param('id')) {
$bug
->
set_reporter_accessible
(
$cgi
->
param
(
'reporter_accessible'
))
if
$bug
->
check_can_change_field
(
'reporter_accessible'
,
0
,
1
);
}
}
if
(
defined
$cgi
->
param
(
'id'
)
&&
(
Bugzilla
->
params
->
{
"insidergroup"
}
&&
Bugzilla
->
user
->
in_group
(
Bugzilla
->
params
->
{
"insidergroup"
}))
)
{
my
$sth
=
$dbh
->
prepare
(
'UPDATE longdescs SET isprivate = ?
WHERE bug_id = ? AND bug_when = ?'
);
foreach
my
$field
(
$cgi
->
param
())
{
if
(
$field
=~
/when-([0-9]+)/
)
{
my
$sequence
=
$1
;
my
$private
=
$cgi
->
param
(
"isprivate-$sequence"
)
?
1
:
0
;
if
(
$private
!=
$cgi
->
param
(
"oisprivate-$sequence"
))
{
my
$field_data
=
$cgi
->
param
(
"$field"
);
# Make sure a valid date is given.
$field_data
=
format_time
(
$field_data
,
'%Y-%m-%d %T'
);
$sth
->
execute
(
$private
,
$cgi
->
param
(
'id'
),
$field_data
);
}
}
# You can only mark/unmark comments as private on single bugs. If
# you're not in the insider group, this code won't do anything.
foreach
my
$field
(
grep
(
/^defined_isprivate/
,
$cgi
->
param
()))
{
$field
=~
/(\d+)$/
;
my
$comment_id
=
$1
;
$bug
->
set_comment_is_private
(
$comment_id
,
$cgi
->
param
(
"isprivate_$comment_id"
));
}
}
...
...
template/en/default/bug/comments.html.tmpl
View file @
8db452b3
...
...
@@ -191,14 +191,14 @@
[% IF mode == "edit" && isinsider %]
<i>
<input type="hidden" name="oisprivate-[% count %]"
value="[% comment.isprivate %]">
<input type="hidden" name="when-[% count %]" value="[% comment.time %]">
<input type="checkbox" name="isprivate-[% count %]" value="1"
<input type="hidden" value="1"
name="defined_isprivate_[% comment.id %]">
<input type="checkbox"
name="isprivate_[% comment.id %]" value="1"
id="isprivate_[% comment.id %]"
onClick="updateCommentPrivacy(this, [% count %])"
id="isprivate-[% count %]"
[% " checked=\"checked\"" IF comment.isprivate %]>
<label for="isprivate
-[% count
%]">Private</label>
<label for="isprivate
_[% comment.id
%]">Private</label>
</i>
[% END %]
[% IF user.in_group(Param('timetrackinggroup')) &&
...
...
template/en/default/filterexceptions.pl
View file @
8db452b3
...
...
@@ -275,8 +275,7 @@
],
'bug/comments.html.tmpl'
=>
[
'comment.isprivate'
,
'comment.time'
,
'comment.id'
,
'bug.bug_id'
,
],
...
...
template/en/default/global/user-error.html.tmpl
View file @
8db452b3
...
...
@@ -246,6 +246,10 @@
[% title = "Chart Too Large" %]
Sorry, but 2000 x 2000 is the maximum size for a chart.
[% ELSIF error == "comment_invalid_isprivate" %]
You tried to modify the privacy of comment id [% id FILTER html %],
but that is not a valid comment on this [% terms.bug %].
[% ELSIF error == "comment_required" %]
[% title = "Comment Required" %]
You have to specify a <b>comment</b>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment