Commit 8a6f08e5 authored by travis%sedsystems.ca's avatar travis%sedsystems.ca

Bug 34488: Add a checkbox to add self to CC list

Patch by GavinS <bugzilla@chimpychompy.org> r=vladd, myk a=myk
parent cd6211de
...@@ -651,7 +651,7 @@ my @groupDel = (); ...@@ -651,7 +651,7 @@ my @groupDel = ();
SendSQL("SELECT groups.id, isactive FROM groups, user_group_map WHERE " . SendSQL("SELECT groups.id, isactive FROM groups, user_group_map WHERE " .
"groups.id = user_group_map.group_id AND " . "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"); "isbless = 0 AND isbuggroup = 1");
while (my ($b, $isactive) = FetchSQLData()) { while (my ($b, $isactive) = FetchSQLData()) {
# The multiple change page may not show all groups a bug is in # The multiple change page may not show all groups a bug is in
...@@ -831,7 +831,7 @@ my $duplicate = 0; ...@@ -831,7 +831,7 @@ my $duplicate = 0;
# What we'll do here is formulate the CC data into two hashes of ID's involved # 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. # in this CC change. Then those hashes can be used later on for the actual change.
my (%cc_add, %cc_remove); 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 # 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. # remove cc's... otherwise, we came from bugform and may need to do both.
my ($cc_add, $cc_remove) = ""; my ($cc_add, $cc_remove) = "";
...@@ -857,6 +857,9 @@ if (defined $::FORM{newcc} || defined $::FORM{removecc} || defined $::FORM{massc ...@@ -857,6 +857,9 @@ if (defined $::FORM{newcc} || defined $::FORM{removecc} || defined $::FORM{massc
$cc_add{$pid} = $person; $cc_add{$pid} = $person;
} }
} }
if ($::FORM{'addselfcc'}) {
$cc_add{$whoid} = $user->login;
}
if ($cc_remove) { if ($cc_remove) {
$cc_remove =~ s/[\s,]+/ /g; # Change all delimiters to a single space $cc_remove =~ s/[\s,]+/ /g; # Change all delimiters to a single space
foreach my $person ( split(" ", $cc_remove) ) { foreach my $person ( split(" ", $cc_remove) ) {
...@@ -1468,7 +1471,7 @@ foreach my $id (@idlist) { ...@@ -1468,7 +1471,7 @@ foreach my $id (@idlist) {
} }
my @ccRemoved = (); 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 # Get the current CC list for this bug
my %oncc; my %oncc;
SendSQL("SELECT who FROM cc WHERE bug_id = $id"); SendSQL("SELECT who FROM cc WHERE bug_id = $id");
...@@ -1595,7 +1598,7 @@ foreach my $id (@idlist) { ...@@ -1595,7 +1598,7 @@ foreach my $id (@idlist) {
"AND newcontrolmap.product_id = $newproduct_id " . "AND newcontrolmap.product_id = $newproduct_id " .
"LEFT JOIN user_group_map " . "LEFT JOIN user_group_map " .
"ON user_group_map.group_id = groups.id " . "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 " . "AND user_group_map.isbless = 0 " .
"LEFT JOIN bug_group_map " . "LEFT JOIN bug_group_map " .
"ON bug_group_map.group_id = groups.id " . "ON bug_group_map.group_id = groups.id " .
...@@ -1829,7 +1832,7 @@ foreach my $id (@idlist) { ...@@ -1829,7 +1832,7 @@ foreach my $id (@idlist) {
# now show the next bug # now show the next bug
if ($next_bug) { if ($next_bug) {
if (detaint_natural($next_bug) && Bugzilla->user->can_see_bug($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; ThrowCodeError("bug_error", { bug => $bug }) if $bug->error;
# next.html.tmpl includes edit.html.tmpl, and therefore we # next.html.tmpl includes edit.html.tmpl, and therefore we
......
...@@ -484,6 +484,14 @@ ...@@ -484,6 +484,14 @@
<a name="add_comment"></a> <a name="add_comment"></a>
<textarea wrap="hard" name="comment" id="comment" rows="10" cols="80" <textarea wrap="hard" name="comment" id="comment" rows="10" cols="80"
accesskey="c"></textarea> 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> <br>
[% IF bug.groups.size > 0 %] [% IF bug.groups.size > 0 %]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment