diff options
author | mkanat%bugzilla.org <> | 2009-06-21 19:36:52 +0000 |
---|---|---|
committer | mkanat%bugzilla.org <> | 2009-06-21 19:36:52 +0000 |
commit | d57c8562fc0490d560b0c6b4c45d80a6e98bd7e5 (patch) | |
tree | 75d87d1bb99fc12da00669fad84d6cbe34dd320f | |
parent | 6a23b8335dd9e0786cf2c6ea90c8574ac0c6f28f (diff) | |
download | bugs-d57c8562fc0490d560b0c6b4c45d80a6e98bd7e5.tar bugs-d57c8562fc0490d560b0c6b4c45d80a6e98bd7e5.tar.gz bugs-d57c8562fc0490d560b0c6b4c45d80a6e98bd7e5.tar.bz2 bugs-d57c8562fc0490d560b0c6b4c45d80a6e98bd7e5.tar.xz bugs-d57c8562fc0490d560b0c6b4c45d80a6e98bd7e5.zip |
Bug 498318: Speed up field-descs.none.tmpl
Patch by Max Kanat-Alexander <mkanat@bugzilla.org> r=bbaetz, a=mkanat
-rw-r--r-- | Bugzilla/Template.pm | 8 | ||||
-rw-r--r-- | template/en/default/global/field-descs.none.tmpl | 6 |
2 files changed, 9 insertions, 5 deletions
diff --git a/Bugzilla/Template.pm b/Bugzilla/Template.pm index 3a46fad88..48cd90508 100644 --- a/Bugzilla/Template.pm +++ b/Bugzilla/Template.pm @@ -781,6 +781,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 6160784ee..2c70b11c6 100644 --- a/template/en/default/global/field-descs.none.tmpl +++ b/template/en/default/global/field-descs.none.tmpl @@ -91,14 +91,10 @@ Description here, by copying their Description from the database. If you want to override this for your language or your installation, just use a hook. %] -[%# Also create the bug_fields hash. %] [% UNLESS Param('shutdownhtml') %] - [% USE Bugzilla %] - [% SET bug_fields = {} %] - [% 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 %] - [% SET bug_fields.${bz_field.name} = bz_field %] [% END %] [% END %] |