From b6d1cc32f75d47437e382caccfccc5b2d98af765 Mon Sep 17 00:00:00 2001 From: Max Kanat-Alexander Date: Mon, 3 Jan 2011 18:09:42 -0800 Subject: Bug 595410: Make it faster to display a bug that has a lot of dependencies. r=LpSolit, a=LpSolit --- template/en/default/bug/edit.html.tmpl | 50 ++++++++++--------- template/en/default/bug/link.html.tmpl | 61 ++++++++++++++++++++++++ template/en/default/filterexceptions.pl | 4 -- template/en/default/global/field-descs.none.tmpl | 42 +++++++--------- 4 files changed, 101 insertions(+), 56 deletions(-) create mode 100644 template/en/default/bug/link.html.tmpl (limited to 'template/en') diff --git a/template/en/default/bug/edit.html.tmpl b/template/en/default/bug/edit.html.tmpl index 2a9a0776e..744afeb2d 100644 --- a/template/en/default/bug/edit.html.tmpl +++ b/template/en/default/bug/edit.html.tmpl @@ -620,13 +620,13 @@ [%############################################################################%] [% BLOCK section_dependson_blocks %] - [% PROCESS dependencies - dep = { title => "Depends on", fieldname => "dependson" } %] + [% INCLUDE dependencies + field = bug_fields.dependson deps = bug.depends_on_obj %] - [% PROCESS dependencies accesskey = "b" - dep = { title => "Blocks", fieldname => "blocked" } %] + [% INCLUDE dependencies + field = bug_fields.blocked deps = bug.blocks_obj %]   @@ -936,38 +936,36 @@ [% BLOCK dependencies %] - - : - - - - [% IF bug.check_can_change_field(dep.fieldname, 0, 1) %] - + [% INCLUDE "bug/field-label.html.tmpl" %] + + + + [% IF bug.check_can_change_field(field.name, 0, 1) %] + [% END %] - [% FOREACH depbug = bug.${dep.fieldname} %] - [% depbug FILTER bug_link(depbug, use_alias => 1) FILTER none %][% " " %] + [% FOREACH dep_bug = deps %] + [% dep_bug.id FILTER bug_link(dep_bug, use_alias => 1) + FILTER none %][% " " %] [% END %] - [% IF bug.check_can_change_field(dep.fieldname, 0, 1) %] - - (edit) + [% IF bug.check_can_change_field(field.name, 0, 1) %] + + (edit) [% END %] - [% accesskey = undef %] - [% END %] [%############################################################################%] diff --git a/template/en/default/bug/link.html.tmpl b/template/en/default/bug/link.html.tmpl new file mode 100644 index 000000000..b13866850 --- /dev/null +++ b/template/en/default/bug/link.html.tmpl @@ -0,0 +1,61 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Everything Solved, Inc. + # Portions created by the Initial Developer are Copyright (C) 2010 the + # Initial Developer. All Rights Reserved. + # + # Contributor(s): + # Max Kanat-Alexander + #%] + +[%# INTERFACE: + # bug: a Bugzilla::Bug object + # link_text: the text that we're highlighting. + # use_alias: boolean; If true, we display the bug's alias as the link + # text instead of link_text. + # comment_num: If defined, make this a link to that comment on the bug. + # full_url: boolean; If true, generate links that include the full + # urlbase. (This is for emails, mostly.) + #%] + +[% IF !bug %] + <missing> + [% RETURN %] +[% END %] + +[%# We use "FILTER none" here because link_title is filtered down below. %] +[% link_title = BLOCK %] + [% display_value('bug_status', bug.bug_status) FILTER none %] + [%+ display_value('resolution', bug.resolution) FILTER none %] +[% END %] + +[% IF user.can_see_bug(bug) %] + [% link_title = link_title _ ' - ' _ bug.short_desc %] + + [% IF use_alias && bug.alias %] + [% link_text = bug.alias %] + [% END %] +[% END %] + +[% SET anchor = '' %] +[% IF comment_num.defined %] + [% anchor = "#c$comment_num" %] +[% END %] + + + [%~ link_text FILTER html %] diff --git a/template/en/default/filterexceptions.pl b/template/en/default/filterexceptions.pl index b85bb7acd..abc57008c 100644 --- a/template/en/default/filterexceptions.pl +++ b/template/en/default/filterexceptions.pl @@ -258,11 +258,7 @@ 'bug.delta_ts', 'bug.bug_id', 'group.bit', - 'dep.title', - 'dep.fieldname', - 'bug.${dep.fieldname}.join(\', \')', 'selname', - '" accesskey=\"$accesskey\"" IF accesskey', 'inputname', '" colspan=\"$colspan\"" IF colspan', '" size=\"$size\"" IF size', diff --git a/template/en/default/global/field-descs.none.tmpl b/template/en/default/global/field-descs.none.tmpl index efcce6c64..ff6033783 100644 --- a/template/en/default/global/field-descs.none.tmpl +++ b/template/en/default/global/field-descs.none.tmpl @@ -61,35 +61,25 @@ ${constants.FIELD_TYPE_BUG_ID} => "$terms.Bug ID", } %] -[%# You can use this hash to localize (translate) the values displayed - # for drop-down and multiple-select fields. Lines starting with "#" - # are comments. - #%] -[% value_descs = { - "bug_status" => { - # "UNCONFIRMED" => "UNCO", - # "CONFIRMED" => "ITSABUG", - }, +[% IF in_template_var %] - "resolution" => { - "" => "---", - # "FIXED" => "NO LONGER AN ISSUE", - # "WORKSFORME" => "NOTMYPROBLEM!", - }, -} %] + [%# You can use this hash to localize (translate) the values displayed + # for drop-down and multiple-select fields. Lines starting with "#" + # are comments. + #%] + [% value_descs = { + "bug_status" => { + # "UNCONFIRMED" => "UNCO", + # "CONFIRMED" => "ITSABUG", + }, -[%# We use "FILTER none" here because only the caller can know how to - # filter the result appropriately. - #%] -[% MACRO display_value(field_name, value_name) BLOCK %][% FILTER trim %] - [% IF value_descs.${field_name}.${value_name}.defined %] - [% value_descs.${field_name}.${value_name} FILTER none %] - [% ELSE %] - [% value_name FILTER none %] - [% END %] -[% END %][% END %] + "resolution" => { + "" => "---", + # "FIXED" => "NO LONGER AN ISSUE", + # "WORKSFORME" => "NOTMYPROBLEM!", + }, + } %] -[% IF in_template_var %] [% vars.terms = terms %] [%# field_descs is loaded as a global template variable and cached -- cgit v1.2.3-24-g4f1b