]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Was making changes to bugs before validating the entries in the CC
authorterry%mozilla.org <>
Wed, 12 Jan 2000 02:25:11 +0000 (02:25 +0000)
committerterry%mozilla.org <>
Wed, 12 Jan 2000 02:25:11 +0000 (02:25 +0000)
field.  This caused mid-air collisions and other weirdnesses.

process_bug.cgi

index 3919dadb097f52e85395c107527bab9e513ed23b..e72e9704b61173723f662ff91fbf2f05c3bb7d73 100755 (executable)
@@ -248,6 +248,24 @@ if (defined $::FORM{'qa_contact'}) {
 
 ConnectToDatabase();
 
+my %ccids;
+my $origcclist = "";
+
+# We make sure to check out the CC list before we actually start touching any
+# bugs.
+if (defined $::FORM{'cc'} && defined $::FORM{'id'}) {
+    $origcclist = ShowCcList($::FORM{'id'});
+    if ($origcclist ne $::FORM{'cc'}) {
+        foreach my $person (split(/[ ,]/, $::FORM{'cc'})) {
+            if ($person ne "") {
+                my $cid = DBNameToIdAndCheck($person);
+                $ccids{$cid} = 1;
+            }
+        }
+    }
+}
+
+
 if ( Param('strictvaluechecks') ) {
     CheckFormFieldDefined(\%::FORM, 'knob');
 }
@@ -573,15 +591,7 @@ The changes made were:
         AppendComment($id, $::FORM{'who'}, $::FORM{'comment'});
     }
     
-    if (defined $::FORM{'cc'} && ShowCcList($id) ne $::FORM{'cc'}) {
-        my %ccids;
-        foreach my $person (split(/[ ,]/, $::FORM{'cc'})) {
-            if ($person ne "") {
-                my $cid = DBNameToIdAndCheck($person);
-                $ccids{$cid} = 1;
-            }
-        }
-        
+    if (defined $::FORM{'cc'} && $origcclist ne $::FORM{'cc'}) {
         SendSQL("delete from cc where bug_id = $id");
         foreach my $ccid (keys %ccids) {
             SendSQL("insert into cc (bug_id, who) values ($id, $ccid)");