summaryrefslogtreecommitdiffstats
path: root/Bugzilla/BugMail.pm
diff options
context:
space:
mode:
authorAlex Schuilenburg <alex@schuilenburg.org>2013-03-14 21:51:07 +0100
committerDave Lawrence <dlawrence@mozilla.com>2013-03-14 21:51:07 +0100
commitb8fcea9b7c6cdb15bc8cb65500e42f78a0f7d4f0 (patch)
treefb24abbc1556ec97e0c5ca08c9295283585988c3 /Bugzilla/BugMail.pm
parent58020222b69172da5407779ce67322549dd94f32 (diff)
downloadbugzilla-b8fcea9b7c6cdb15bc8cb65500e42f78a0f7d4f0.tar.gz
bugzilla-b8fcea9b7c6cdb15bc8cb65500e42f78a0f7d4f0.tar.xz
Bug 525195 - Invisible fields still show up in the "New:" bugmail (fields whose visibility depends on another field)
r=dkl,a=LpSolit
Diffstat (limited to 'Bugzilla/BugMail.pm')
-rw-r--r--Bugzilla/BugMail.pm7
1 files changed, 7 insertions, 0 deletions
diff --git a/Bugzilla/BugMail.pm b/Bugzilla/BugMail.pm
index 1fb5ea977..089d3013e 100644
--- a/Bugzilla/BugMail.pm
+++ b/Bugzilla/BugMail.pm
@@ -443,11 +443,18 @@ sub _get_new_bugmail_fields {
my $bug = shift;
my @fields = @{ Bugzilla->fields({obsolete => 0, in_new_bugmail => 1}) };
my @diffs;
+ my $params = Bugzilla->params;
foreach my $field (@fields) {
my $name = $field->name;
my $value = $bug->$name;
+ next if !$field->is_visible_on_bug($bug)
+ || ($name eq 'classification' && !$params->{'useclassification'})
+ || ($name eq 'status_whiteboard' && !$params->{'usestatuswhiteboard'})
+ || ($name eq 'qa_contact' && !$params->{'useqacontact'})
+ || ($name eq 'target_milestone' && !$params->{'usetargetmilestone'});
+
if (ref $value eq 'ARRAY') {
$value = join(', ', @$value);
}