]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 365444: Obsolete custom fields are shown in e-mail notifications for new bugs...
authorlpsolit%gmail.com <>
Wed, 10 Jan 2007 00:16:54 +0000 (00:16 +0000)
committerlpsolit%gmail.com <>
Wed, 10 Jan 2007 00:16:54 +0000 (00:16 +0000)
Bugzilla/Bug.pm
Bugzilla/BugMail.pm

index 841b6f14f8f78f98e2ddcfcb91e149b4b7689194..43c430ac13308c43f1b3254b892863e20b678484 100755 (executable)
@@ -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);
     }
index ca7e20b1e4848eb097f606cb399c44fbe294d904..9b70da03e5608d833abbfde26be61d9ceaabe38a 100644 (file)
@@ -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(