Commit ed06de9d authored by lpsolit%gmail.com's avatar lpsolit%gmail.com

Bug 365444: Obsolete custom fields are shown in e-mail notifications for new…

Bug 365444: Obsolete custom fields are shown in e-mail notifications for new bugs, despite they shouldn't - Patch by Fré©ric Buclin <LpSolit@gmail.com> r=mkanat a=myk
parent 9366e996
......@@ -1384,7 +1384,10 @@ sub update_comment {
# Represents which fields from the bugs table are handled by process_bug.cgi.
sub editable_bug_fields {
my @fields = Bugzilla->dbh->bz_table_columns('bugs');
foreach my $remove ("bug_id", "creation_ts", "delta_ts", "lastdiffed") {
# Obsolete custom fields are not editable.
my @obsolete_fields = Bugzilla->get_fields({obsolete => 1, custom => 1});
@obsolete_fields = map { $_->name } @obsolete_fields;
foreach my $remove ("bug_id", "creation_ts", "delta_ts", "lastdiffed", @obsolete_fields) {
my $location = lsearch(\@fields, $remove);
splice(@fields, $location, 1);
}
......
......@@ -99,15 +99,14 @@ sub Send {
my $msg = "";
my $dbh = Bugzilla->dbh;
my $fields = $dbh->selectall_arrayref('SELECT name, description, mailhead
FROM fielddefs ORDER BY sortkey');
foreach my $fielddef (@$fields) {
my ($field, $description, $mailhead) = @$fielddef;
push(@headerlist, $field);
$defmailhead{$field} = $mailhead;
$fielddescription{$field} = $description;
# XXX - These variables below are useless. We could use field object
# methods directly. But we first have to implement a cache in
# Bugzilla->get_fields to avoid querying the DB all the time.
foreach my $field (Bugzilla->get_fields({obsolete => 0})) {
push(@headerlist, $field->name);
$defmailhead{$field->name} = $field->in_new_bugmail;
$fielddescription{$field->name} = $field->description;
}
my %values = %{$dbh->selectrow_hashref(
......
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