]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 422256: email_in.pl should send an email if user matching fails or returns too...
authorAlbert Ting <altlist@gmail.com>
Mon, 5 Dec 2011 19:30:41 +0000 (20:30 +0100)
committerFrédéric Buclin <LpSolit@gmail.com>
Mon, 5 Dec 2011 19:30:41 +0000 (20:30 +0100)
r/a=mkanat

email_in.pl

index 55e7b119af19c9573edcd88988f7c4091fdf4fed..ed4cf9a045154f3edca79bf6893514cc74714e29 100755 (executable)
@@ -158,22 +158,29 @@ sub parse_mail {
     return \%fields;
 }
 
-sub post_bug {
+sub check_email_fields {
     my ($fields) = @_;
-    debug_print('Posting a new bug...');
-
-    my $user = Bugzilla->user;
 
     my ($retval, $non_conclusive_fields) =
       Bugzilla::User::match_field({
         'assigned_to'   => { 'type' => 'single' },
         'qa_contact'    => { 'type' => 'single' },
-        'cc'            => { 'type' => 'multi'  }
+        'cc'            => { 'type' => 'multi'  },
+        'newcc'         => { 'type' => 'multi'  }
       }, $fields, MATCH_SKIP_CONFIRM);
 
     if ($retval != USER_MATCH_SUCCESS) {
         ThrowUserError('user_match_too_many', {fields => $non_conclusive_fields});
     }
+}
+
+sub post_bug {
+    my ($fields) = @_;
+    debug_print('Posting a new bug...');
+
+    my $user = Bugzilla->user;
+
+    check_email_fields($fields);
 
     my $bug = Bugzilla::Bug->create($fields);
     debug_print("Created bug " . $bug->id);
@@ -214,6 +221,8 @@ sub process_bug {
         $fields{'removecc'} = 1;
     }
 
+    check_email_fields(\%fields);
+
     my $cgi = Bugzilla->cgi;
     foreach my $field (keys %fields) {
         $cgi->param(-name => $field, -value => $fields{$field});