From: mkanat%bugzilla.org <> Date: Sun, 21 Jun 2009 19:40:36 +0000 (+0000) Subject: Bug 498318: Speed up field-descs.none.tmpl X-Git-Tag: bugzilla-3.2.4~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e0e472a5e6c087966eb74c69d1bbfed53e4fb625;p=thirdparty%2Fbugzilla.git Bug 498318: Speed up field-descs.none.tmpl Patch by Bradley Baetz r=mkanat, a=mkanat --- diff --git a/Bugzilla/Template.pm b/Bugzilla/Template.pm index 1362ecae3e..261a8441a3 100644 --- a/Bugzilla/Template.pm +++ b/Bugzilla/Template.pm @@ -748,6 +748,14 @@ sub create { # Allow templates to generate a token themselves. 'issue_hash_token' => \&Bugzilla::Token::issue_hash_token, + # A way for all templates to get at Field data, cached. + 'bug_fields' => sub { + my $cache = Bugzilla->request_cache; + $cache->{template_bug_fields} ||= + { map { $_->name => $_ } Bugzilla->get_fields() }; + return $cache->{template_bug_fields}; + }, + # These don't work as normal constants. DB_MODULE => \&Bugzilla::Constants::DB_MODULE, REQUIRED_MODULES => diff --git a/template/en/default/global/field-descs.none.tmpl b/template/en/default/global/field-descs.none.tmpl index 344dc55287..e2c04a0a6b 100644 --- a/template/en/default/global/field-descs.none.tmpl +++ b/template/en/default/global/field-descs.none.tmpl @@ -92,7 +92,7 @@ [% UNLESS Param('shutdownhtml') %] [% USE Bugzilla %] - [% FOREACH bz_field = Bugzilla.get_fields() %] + [% FOREACH bz_field = bug_fields.values %] [% SET field_descs.${bz_field.name} = bz_field.description IF !field_descs.${bz_field.name}.defined %] [% END %]