summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortravis%sedsystems.ca <>2005-01-24 14:26:55 +0100
committertravis%sedsystems.ca <>2005-01-24 14:26:55 +0100
commit8a6f08e56e728f5df5321bb98dcfa8e86fcb9e97 (patch)
treeeb0b0df4257508aaaade7c117c13ba7cb1509ff1
parentcd6211de678a3638f2813332d436d6e4844d3d60 (diff)
downloadbugzilla-8a6f08e56e728f5df5321bb98dcfa8e86fcb9e97.tar.gz
bugzilla-8a6f08e56e728f5df5321bb98dcfa8e86fcb9e97.tar.xz
Bug 34488: Add a checkbox to add self to CC list
Patch by GavinS <bugzilla@chimpychompy.org> r=vladd, myk a=myk
-rwxr-xr-xprocess_bug.cgi13
-rw-r--r--template/en/default/bug/edit.html.tmpl8
2 files changed, 16 insertions, 5 deletions
diff --git a/process_bug.cgi b/process_bug.cgi
index 54083327b..7a0ecff6d 100755
--- a/process_bug.cgi
+++ b/process_bug.cgi
@@ -651,7 +651,7 @@ my @groupDel = ();
SendSQL("SELECT groups.id, isactive FROM groups, user_group_map WHERE " .
"groups.id = user_group_map.group_id AND " .
- "user_group_map.user_id = $::userid AND " .
+ "user_group_map.user_id = $whoid AND " .
"isbless = 0 AND isbuggroup = 1");
while (my ($b, $isactive) = FetchSQLData()) {
# The multiple change page may not show all groups a bug is in
@@ -831,7 +831,7 @@ my $duplicate = 0;
# What we'll do here is formulate the CC data into two hashes of ID's involved
# in this CC change. Then those hashes can be used later on for the actual change.
my (%cc_add, %cc_remove);
-if (defined $::FORM{newcc} || defined $::FORM{removecc} || defined $::FORM{masscc}) {
+if (defined $::FORM{newcc} || defined $::FORM{'addselfcc'} || defined $::FORM{removecc} || defined $::FORM{masscc}) {
# If masscc is defined, then we came from buglist and need to either add or
# remove cc's... otherwise, we came from bugform and may need to do both.
my ($cc_add, $cc_remove) = "";
@@ -857,6 +857,9 @@ if (defined $::FORM{newcc} || defined $::FORM{removecc} || defined $::FORM{massc
$cc_add{$pid} = $person;
}
}
+ if ($::FORM{'addselfcc'}) {
+ $cc_add{$whoid} = $user->login;
+ }
if ($cc_remove) {
$cc_remove =~ s/[\s,]+/ /g; # Change all delimiters to a single space
foreach my $person ( split(" ", $cc_remove) ) {
@@ -1468,7 +1471,7 @@ foreach my $id (@idlist) {
}
my @ccRemoved = ();
- if (defined $::FORM{newcc} || defined $::FORM{removecc} || defined $::FORM{masscc}) {
+ if (defined $::FORM{newcc} || defined $::FORM{'addselfcc'} || defined $::FORM{removecc} || defined $::FORM{masscc}) {
# Get the current CC list for this bug
my %oncc;
SendSQL("SELECT who FROM cc WHERE bug_id = $id");
@@ -1595,7 +1598,7 @@ foreach my $id (@idlist) {
"AND newcontrolmap.product_id = $newproduct_id " .
"LEFT JOIN user_group_map " .
"ON user_group_map.group_id = groups.id " .
- "AND user_group_map.user_id = $::userid " .
+ "AND user_group_map.user_id = $whoid " .
"AND user_group_map.isbless = 0 " .
"LEFT JOIN bug_group_map " .
"ON bug_group_map.group_id = groups.id " .
@@ -1829,7 +1832,7 @@ foreach my $id (@idlist) {
# now show the next bug
if ($next_bug) {
if (detaint_natural($next_bug) && Bugzilla->user->can_see_bug($next_bug)) {
- my $bug = new Bugzilla::Bug($next_bug, $::userid);
+ my $bug = new Bugzilla::Bug($next_bug, $whoid);
ThrowCodeError("bug_error", { bug => $bug }) if $bug->error;
# next.html.tmpl includes edit.html.tmpl, and therefore we
diff --git a/template/en/default/bug/edit.html.tmpl b/template/en/default/bug/edit.html.tmpl
index 6b43809d6..27a01625b 100644
--- a/template/en/default/bug/edit.html.tmpl
+++ b/template/en/default/bug/edit.html.tmpl
@@ -484,6 +484,14 @@
<a name="add_comment"></a>
<textarea wrap="hard" name="comment" id="comment" rows="10" cols="80"
accesskey="c"></textarea>
+
+ [% IF NOT bug.cc || NOT bug.cc.contains(user.login) %]
+ <br>
+ <label>
+ <input type="checkbox" name="addselfcc">
+ Add [% user.login FILTER html %] to CC list
+ </label>
+ [% END %]
<br>
[% IF bug.groups.size > 0 %]