]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 856736 - Set X-Bugzilla-Type to dep_changed for 'dependency changed" bugmail
authorDave Lawrence <dlawrence@mozilla.com>
Tue, 30 Jul 2013 16:31:24 +0000 (12:31 -0400)
committerDave Lawrence <dlawrence@mozilla.com>
Tue, 30 Jul 2013 16:31:24 +0000 (12:31 -0400)
r/a=sgreen

Bugzilla/BugMail.pm
template/en/default/email/bugmail-header.txt.tmpl

index ee25613b755d45e93fea82f5f4e2b33b8a04f4b1..1169e94a7b01cfb986533b6e7c12cf49ea796848 100644 (file)
@@ -257,6 +257,7 @@ sub Send {
                                   $watching{$user_id} : undef,
                       diffs    => \@diffs,
                       rels_which_want => \%rels_which_want,
+                      dep_only => $params->{dep_only}
                     });
                 push(@sent, $user->login) if $sent_mail;
             }
@@ -277,7 +278,7 @@ sub Send {
 
 sub sendMail {
     my $params = shift;
-    
+
     my $user   = $params->{to};
     my $bug    = $params->{bug};
     my @send_comments = @{ $params->{comments} };
@@ -286,13 +287,14 @@ sub sendMail {
     my $watchingRef = $params->{watchers};
     my @diffs = @{ $params->{diffs} };
     my $relRef      = $params->{rels_which_want};
+    my $dep_only = $params->{dep_only};
 
     # Only display changes the user is allowed see.
     my @display_diffs;
 
     foreach my $diff (@diffs) {
         my $add_diff = 0;
-        
+
         if (grep { $_ eq $diff->{field_name} } TIMETRACKING_FIELDS) {
             $add_diff = 1 if $user->is_timetracker;
         }
@@ -325,13 +327,17 @@ sub sendMail {
     push @watchingrel, map { user_id_to_login($_) } @$watchingRef;
 
     my @changedfields = uniq map { $_->{field_name} } @display_diffs;
-    
+
     # Add attachments.created to changedfields if one or more
     # comments contain information about a new attachment
     if (grep($_->type == CMT_ATTACHMENT_CREATED, @send_comments)) {
         push(@changedfields, 'attachments.created');
     }
 
+    my $bugmailtype = "changed";
+    $bugmailtype = "new" if !$bug->lastdiffed;
+    $bugmailtype = "dep_changed" if $dep_only;
+
     my $vars = {
         date => $date,
         to_user => $user,
@@ -342,9 +348,10 @@ sub sendMail {
         reasonswatchheader => join(" ", @watchingrel),
         changer => $changer,
         diffs => \@display_diffs,
-        changedfields => \@changedfields, 
+        changedfields => \@changedfields,
         new_comments => \@send_comments,
         threadingmarker => build_thread_marker($bug->id, $user->id, !$bug->lastdiffed),
+        bugmailtype => $bugmailtype
     };
     my $msg =  _generate_bugmail($user, $vars);
     MessageToMTA($msg);
index f9cdbd814a0174375352dff211e695a85350d2a2..286c70bcd8bcdcc8f671419f957c1d97439d321c 100644 (file)
@@ -16,7 +16,7 @@ To: [% to_user.email %]
 Subject: [[% terms.Bug %] [%+ bug.id %]] [% 'New: ' IF show_new %][%+ bug.short_desc %]
 Date: [% date %]
 X-Bugzilla-Reason: [% reasonsheader %]
-X-Bugzilla-Type: [% isnew ? 'new' : 'changed' %]
+X-Bugzilla-Type: [% bugmailtype %]
 X-Bugzilla-Watch-Reason: [% reasonswatchheader %]
 [%+ INCLUDE "email/header-common.txt.tmpl" %]
 X-Bugzilla-Changed-Fields: [% changedfields.join(" ") %]