[%# This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. # # This Source Code Form is "Incompatible With Secondary Licenses", as # defined by the Mozilla Public License, v. 2.0. #%] [% filtered_desc = blocked_tree.$bugid.short_desc FILTER html %] [% PROCESS global/header.html.tmpl title = "Dependency tree for $terms.Bug $bugid" header = "Dependency tree for $terms.Bug $bugid" javascript_urls = ["js/expanding-tree.js"] style_urls = ['skins/standard/bug.css'] subheader = filtered_desc doc_section = "using/understanding.html" %] [% PROCESS depthControlToolbar %] [% INCLUDE tree_section ids=dependson_ids type=1 %] [% INCLUDE tree_section ids=blocked_ids type=2 %] [% PROCESS depthControlToolbar %] [% PROCESS global/footer.html.tmpl %] [%###########################################################################%] [%# Tree-drawing blocks #%] [%###########################################################################%] [% BLOCK tree_section %] [%# INTERFACE # - ids: a list of bug IDs to be displayed as children # - type: the type of tree. 1 = depends on, 2 = blockeds # GLOBALS # - seen: Maintains a global hash of bugs that have been displayed #%] [% global.seen = {} %] [%# Display the tree of bugs that this bug depends on. %]

[% terms.Bug %] [%+ bugid %] [% IF type == 1 %] [% tree_name = "dependson_tree" %] [% IF ids.size %] depends on [% ELSE %] does not depend on any [% 'open ' IF hide_resolved %][% terms.bugs %]. [% END %] [% ELSIF type == 2 %] [% tree_name = "blocked_tree" %] [% IF ids.size %] blocks [% ELSE %] does not block any [% 'open ' IF hide_resolved %][% terms.bugs %]. [% END %] [% END %] [% IF ids.size %] [%+ (ids.size == 1) ? "one" : ids.size %] [%+ IF hide_resolved %]open[% END %] [%+ (ids.size == 1) ? terms.bug : terms.bugs %]: [% END %]

[% IF ids.size %] [%# 27 chars is the length of buglist.cgi?tweak=&bug_id=" %] [% use_post = (ids.join(",").length > constants.CGI_URI_LIMIT - 27 ) ? 1 : 0 %] [% IF use_post %]
[% END %] [% IF maxdepth -%]Up to [% maxdepth %] level[% "s" IF maxdepth > 1 %] deep | [% END -%] [% IF use_post %] [% IF user.in_group('editbugs') && ids.size > 1 %] | [% END %]
[% ELSE %] view as [% terms.bug %] list [% IF user.in_group('editbugs') && ids.size > 1 %] | change several [% END %] [% END %] [% END %] [% END %] [% BLOCK display_tree %] [%# INTERFACE # - bugid: the ID of the bug being displayed # - tree: a hash of bug objects and of bug dependencies #%] [% bug = tree.$bugid %]
  • [%- INCLUDE bullet bugid=bugid tree=tree -%] [%- INCLUDE buglink bug=bug bugid=bugid %] [% IF global.seen.$bugid %] (*) [% ELSIF tree.dependencies.$bugid.size %] [% END %]
  • [% global.seen.$bugid = 1 %] [% END %] [% BLOCK bullet %] [% IF tree.dependencies.$bugid.size && ! global.seen.$bugid %] [% extra_class = " b_open" %] [% extra_args = 'onclick="return doToggle(this, event)"' %] [% END %]    [% END %] [% BLOCK buglink %] [% isclosed = !bug.isopened %] [% IF isclosed %] [% END %] [%- bugid %]: [%+ bug.short_desc FILTER html %] [[% INCLUDE buginfo %]] [% IF isclosed %] [% END %] [% END %] [% BLOCK buginfo %] [% display_value("bug_status", bug.bug_status) FILTER html -%] [%- IF bug.resolution %] [%+ display_value("resolution", bug.resolution) FILTER html %][% END %]; [%-%] assigned to [% bug.assigned_to.login FILTER email FILTER html %] [% IF Param("usetargetmilestone") AND bug.target_milestone %] [%-%]; target: [% bug.target_milestone FILTER html %] [% END %] [% END %] [%###########################################################################%] [%# Block for depth control toolbar #%] [%###########################################################################%] [% BLOCK depthControlToolbar %] [%# Hide/show resolved button Swaps text depending on the state of hide_resolved %]
    [% IF maxdepth %] [% END %]
    Max Depth:  
    [%# set to one form %]
    [%# Minus one form Allow subtracting only when realdepth and maxdepth > 1 %]
    [%# Limit entry form: the button cannot do anything when total depth is less than two, so disable it %]
    [%# plus one form Disable button if total depth < 2, or if depth set to unlimited %] [% IF maxdepth %] [% END %] = realdepth %]>
    [%# Unlimited button %]
    [% END %]