~ubuntu-branches/debian/sid/bugzilla/sid

« back to all changes in this revision

Viewing changes to template/en/default/bug/dependency-tree.html.tmpl

  • Committer: Bazaar Package Importer
  • Author(s): Jonathan Patrick Davies
  • Date: 2008-05-29 17:20:32 UTC
  • mfrom: (1.1.6 upstream)
  • Revision ID: james.westby@ubuntu.com-20080529172032-tddh964ztksxayjm
Tags: 3.0.4-0ubuntu1
* New upstream release (LP: #138886, #235701).
* Removed "CVS" directories and ".cvsignore" files from upstream tarball.
* Added patches/ubuntu_01_bugzilla_libpath.dpatch - newly updated as necessary
  version of old 01_libpath.dpatch patch.
* Added patches/01_debian_package_version.dpatch - replaces old patch
  01_VERSION.dpatch, simply changes the version of Bugzilla to show the
  Debian packaging's versioning.
* Added patches/ubuntu_05_makefile_install.dpatch - Use a Makefile to
  install Bugzilla to the correct locations. Based on Makefile in old
  package but in patch form.
* Removed 02_checksetup.dpatch - fixed upstream.
* Removed 101_Config.diff - upstream has changed codebase.
* Renamed 06_contrib.dpatch to ubuntu_02_contrib_shebang_fixes.dpatch -
  corrects 'shebangs' which point to /usr/local/bin/ to /usr/bin/.
* Renamed 08_showdependencygraph.dpatch to
  ubuntu_03_showdependencygraph_url_fixes.dpatch and updated code as
  necessary - fixes graph URL to make the webdot generation possible.
* Removed CVE-2007-0791.dpatch - applied to upstream code.
* Removed CVE-2007-4543.dpatch - applied to upstream code.
* Renamed 09_homelink.dpatch to ubuntu_04_fixed_homepage_linked.dpatch -
  upstream now has links in
  'template/en/default/global/common-links.html.tmpl' instead of
  'useful-links.html.tmpl'.
* Removed 03_webpath.dpatch - upstream has changed stylesheet layout.
* Updated 10_perl_scripts_shebang.dpatch and removed part on "globals.pl" -
  no longer in source.
* Removed Debian vhost support patches (see docs/html/multiple-bz-dbs.html
  for how to run multiple Bugzilla instances):
  - Removed 04_Config.pm.dpatch - duplicate patch and unable to adapt it to
    new upstream code.
  - Removed 07_virtualhosting.dpatch - duplicate patch of
    04_Config.pm.dpatch.
  - Removed 'debian/examples' - contained Apache VHost example setup files
    for Bugzilla.
  - Removed section about vhosts from README.Debian.
* debian/rules:
  - Removed rules for "vhost conf dir", "examples" and "101_Config.diff"
    installation rules.
  - Removed part about bugzilla-fr package.
  - Remved part about "whine.pl" - now in Makefile.
  - Added rules to check the setup with upstream's "checksetup.pl" script.
* debian/control:
  - Updated Standards-Version to 3.7.3.
  - Updated compatibity level and debhelper build dependency version to 6.
  - Added Homepage field to source package stanza.
  - Added part about seeing 'bugzilla' package for more info to
    'bugzilla-docs'.
  - Added libapache2-mod-perl2, libtemplate-perl, libmime-perl,
    libappconfig-perl, libdbd-mysql-perl, libtimedate-perl, libgd-gd2-perl,
    libgd-text-perl, libxml-twig-perl, perlmagick, libemail-send-perl,
    libemail-mime-modifier-perl, libchart-perl, libgd-graph-perl,
    libhtml-scrubber-perl, libdbi-perl, libfile-spec-perl, libgd-graph-perl,
    libgd-text-perl, libnet-ldap-perl, libxml-parser-perl: to build
    dependencies with the necessary versions as stated by upstream in
    docs/html/installation.html - in order to check packaging correctly with
    'checksetup.pl' in rules. Also updated the 'bugzilla' dependencies with
    the above (LP: #235461).
  - Removed dependencies on old "apache" packages as they are no longer in
    the archives.
  - Moved mail transport agents on 'bugzilla' from Depends to
    Suggests (LP: #156405).
* debian/copyright: Updated the downloaded from link.
* debian/bugzilla.docs: Added "QUICKSTART", "rel_notes.txt" and "UPGRADING"
  documentation from source tarball for inclusion in package.
* debian/bugzilla-doc.doc-base: Corrected some spelling mistakes.
* debian/bugzilla.postinst: Removed sections about 101_Config.diff.
* Changed 'X_BUGZILLA_SITE' in bugzilla.cron.daily and bugzilla.postinst to
  'PROJECT'.

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
  # Contributor(s): Tobias Burnus <burnus@net-b.de>
20
20
  #                 Ville Skyttä <ville.skytta@iki.fi>
21
21
  #                 Myk Melez <myk@mozilla.org>
 
22
  #                 André Batosti <batosti@async.com.br>
22
23
  #%]
23
24
 
24
 
[% PROCESS global/variables.none.tmpl %]
 
25
[% PROCESS 'global/field-descs.none.tmpl' %]
25
26
 
26
 
[% filtered_desc = blocked_tree.$bugid.summary FILTER html %]
 
27
[% filtered_desc = blocked_tree.$bugid.short_desc FILTER html %]
27
28
[% PROCESS global/header.html.tmpl
28
 
   title = "Dependency tree for $terms.Bug $bugid"
29
 
   h1    = "Dependency tree for <a href=\"show_bug.cgi?id=$bugid\">$terms.Bug $bugid</a>"
30
 
   h2    = filtered_desc
 
29
   title           = "Dependency tree for $terms.Bug $bugid"
 
30
   header          = "Dependency tree for 
 
31
                      <a href=\"show_bug.cgi?id=$bugid\">$terms.Bug $bugid</a>"
 
32
   javascript_urls = ["js/expanding-tree.js"]
 
33
   style_urls      = ["skins/standard/dependency-tree.css"]
 
34
   subheader      = filtered_desc
31
35
%]
32
36
 
33
37
[% PROCESS depthControlToolbar %]
34
 
 
35
 
[%# Display the tree of bugs that this bug depends on. %]
36
 
<h3>
37
 
  [% IF hide_resolved %]
38
 
    Open [% terms.bugs %]
39
 
  [% ELSE %]
40
 
    [% terms.Bugs %]
41
 
  [% END %] 
42
 
  that <a href="show_bug.cgi?id=[% bugid %]">[% terms.bug %] [%+ bugid %]</a> 
43
 
  depends on</h3>
44
 
[% IF dependson_ids.size > 0 %]
45
 
  (
46
 
  [% IF maxdepth -%]Up to [% maxdepth %] level[% "s" IF maxdepth > 1 %] deep | [% END %]
47
 
  <a href="buglist.cgi?bug_id=[% dependson_ids.join(",") %]">view as [% terms.bug %] list</a>
48
 
  [% IF canedit && dependson_ids.size > 1 %]
49
 
    | <a href="buglist.cgi?bug_id=[% dependson_ids.join(",") %]&amp;tweak=1">change several</a>
50
 
  [% END %])
51
 
  [% INCLUDE display_tree tree=dependson_tree bug_id=bugid %]
52
 
[% ELSE %]
53
 
  </h3>
54
 
  <p>None</p>
55
 
[% END %]
56
 
 
57
 
[%# Display the tree of bugs that this bug blocks. %]
58
 
<h3>
59
 
  [% IF hide_resolved %]
60
 
    Open [% terms.bugs %]
61
 
  [% ELSE %]
62
 
    [% terms.Bugs %]
63
 
  [% END %] 
64
 
  that <a href="show_bug.cgi?id=[% bugid %]">[% terms.bug %] [%+ bugid %]</a> 
65
 
  blocks</h3>
66
 
[% IF blocked_ids.size > 0 %]
67
 
  (
68
 
  [% IF maxdepth -%]Up to [% maxdepth %] level[% "s" IF maxdepth > 1 %] deep | [% END %]
69
 
  <a href="buglist.cgi?bug_id=[% blocked_ids.join(",") %]">view as [% terms.bug %] list</a>
70
 
  [% IF canedit && blocked_ids.size > 1 %]
71
 
    | <a href="buglist.cgi?bug_id=[% blocked_ids.join(",") %]&amp;tweak=1">change several</a>
72
 
  [% END %])
73
 
  [% INCLUDE display_tree tree=blocked_tree bug_id=bugid %]
74
 
[% ELSE %]
75
 
  </h3>
76
 
  <p>None</p>
77
 
[% END %]
 
38
  
 
39
[% INCLUDE tree_section ids=dependson_ids type=1 %]
 
40
 
 
41
[% INCLUDE tree_section ids=blocked_ids type=2 %] 
78
42
 
79
43
[% PROCESS depthControlToolbar %]
80
44
 
81
 
[%###########################################################################%]
82
 
[%# Block to display a tree                                                 #%]
83
 
[%###########################################################################%]
 
45
[% PROCESS global/footer.html.tmpl %]
 
46
 
 
47
[%###########################################################################%]
 
48
[%# Tree-drawing blocks                                                     #%]
 
49
[%###########################################################################%]
 
50
 
 
51
[% BLOCK tree_section %]
 
52
  [%# INTERFACE
 
53
    #   - ids: a list of bug IDs to be displayed as children
 
54
    #   - type: the type of tree. 1 = depends on, 2 = blockeds
 
55
    # GLOBALS
 
56
    #   - seen: Maintains a global hash of bugs that have been displayed
 
57
    #%]
 
58
  [% global.seen = {} %]
 
59
  [%# Display the tree of bugs that this bug depends on. %]
 
60
  <h3>
 
61
    <a href="show_bug.cgi?id=[% bugid %]">[% terms.Bug %] [%+ bugid %]</a> 
 
62
    [% IF type == 1 %]
 
63
        [% tree_name = "dependson_tree" %]
 
64
        [% IF ids.size %]
 
65
            depends on 
 
66
        [% ELSE %]
 
67
            does not depend on any [% terms.bugs %].
 
68
        [% END %]
 
69
    [% ELSIF type == 2 %]
 
70
        [% tree_name = "blocked_tree" %]
 
71
        [% IF ids.size %] 
 
72
            blocks 
 
73
        [% ELSE %]
 
74
            does not block any [% terms.bugs %].
 
75
        [% END %]
 
76
    [% END %]
 
77
    [% IF ids.size %]
 
78
        [%+ (ids.size == 1) ? "one" : ids.size %]
 
79
        [%+ IF hide_resolved %]open[% END %]
 
80
        [%+ (ids.size == 1) ? terms.bug : terms.bugs %]:
 
81
    [% END %] 
 
82
  </h3>
 
83
  [% IF ids.size %]
 
84
    ([% IF maxdepth -%]Up to [% maxdepth %] level[% "s" IF maxdepth > 1 %] deep | [% END -%]
 
85
    <a href="buglist.cgi?bug_id=[% ids.join(",") %]">view as [% terms.bug %] list</a>
 
86
    [% IF user.groups.editbugs && ids.size > 1 %]
 
87
      | <a href="buglist.cgi?bug_id=[% ids.join(",") %]&amp;tweak=1">change several</a>
 
88
    [% END %])
 
89
    <ul class="tree">
 
90
      [% INCLUDE display_tree tree=$tree_name %]
 
91
    </ul>
 
92
  [% END %]
 
93
[% END %]
 
94
 
84
95
 
85
96
[% BLOCK display_tree %]
86
 
[% tree.$bug_id.seen = 1 %]
87
 
<ul>
88
 
  [% FOREACH dep_id = tree.$bug_id.dependencies %]
89
 
    [% dep = tree.$dep_id %]
90
 
    <li>
91
 
      [% "<script>document.write('<a href=\"#\" class=\"toggle\" onclick=\"listToggle(event); return false\">[-]</a>')</script>"
92
 
         IF dep.dependencies.size > 0 && !dep.seen %]
93
 
      [% isclosed = !dep.open %]
94
 
      [% FILTER closed(isclosed) %]
95
 
      <a href="show_bug.cgi?id=[% dep_id %]">[% dep_id %]
96
 
        [[% IF dep.milestone %][% dep.milestone FILTER html %], [% END %]
97
 
        [% dep.assignee_email FILTER html %]] -
98
 
        [% IF dep.seen %]
99
 
          <i>This [% terms.bug %] appears elsewhere in this tree.</i></a>
100
 
        [% ELSE %]
101
 
          [%+ dep.summary FILTER html %].</a>
 
97
  [%# INTERFACE
 
98
    #   - bugid: the ID of the bug being displayed
 
99
    #   - tree: a hash of bug objects and of bug dependencies
 
100
    #%]
 
101
  [% bug = tree.$bugid %]
 
102
  <li>
 
103
    [%- INCLUDE bullet bugid=bugid tree=tree -%]
 
104
    <span class="summ[% "_deep" IF tree.dependencies.$bugid.size %]" 
 
105
          id="[% bugid FILTER html %]" 
 
106
          [% IF global.seen.$bugid %]
 
107
            onMouseover="duplicatedover('[% bugid FILTER html %]')"
 
108
            onMouseout="duplicatedout('[% bugid FILTER html %]')"
 
109
          [% END %]>
 
110
      [%- INCLUDE buglink bug=bug bugid=bugid %]
 
111
    </span>
 
112
    [% IF global.seen.$bugid %]
 
113
      <b><a title="Already displayed above; click to locate"
 
114
            onclick="duplicated('[% bugid FILTER html %]')"
 
115
            href="#b[% bugid %]">(*)</a></b>
 
116
    [% ELSIF tree.dependencies.$bugid.size %]
 
117
      <ul>
 
118
        [% FOREACH depid = tree.dependencies.$bugid %]
 
119
          [% INCLUDE display_tree bugid=depid %]
102
120
        [% END %]
103
 
      [% END %]
104
 
      [% INCLUDE display_tree bug_id=dep_id
105
 
           IF dep.dependencies.size > 0 && !dep.seen %]
106
 
    </li>
107
 
  [% END %]
108
 
</ul>
109
 
[% END %]
110
 
 
111
 
<script type="text/javascript">
112
 
if (typeof Node == 'undefined') {
113
 
    /* MSIE doesn't define Node, so provide a compatibility object */
114
 
    window.Node = {
115
 
        TEXT_NODE: 3
116
 
    };
117
 
}
118
 
 
119
 
function toggleDisplay(node)
120
 
{
121
 
    var display = node.style.display;
122
 
    if (display == "none") {
123
 
        node.style.display =
124
 
            ("oldDisplay" in node) ? node.oldDisplay : "block";
125
 
        return true;
126
 
    }
127
 
 
128
 
    node.oldDisplay = display;
129
 
    node.style.display = "none";
130
 
    return false;
131
 
}
132
 
 
133
 
function listToggle(event)
134
 
{
135
 
    var node = event.target;
136
 
    if (!node)
137
 
       node = event.srcElement;
138
 
    if (node.nodeType == Node.TEXT_NODE)
139
 
        node = node.parentNode;
140
 
    var toggle = node.nextSibling;
141
 
    while (toggle && toggle.tagName != "UL")
142
 
        toggle = toggle.nextSibling;
143
 
    if (toggle) {
144
 
        node.firstChild.data = toggleDisplay(toggle) ? "[-]" : "[+]";
145
 
    }
146
 
}
147
 
 
148
 
</script>
149
 
 
150
 
[% PROCESS global/footer.html.tmpl %]
 
121
      </ul>
 
122
    [% END %]
 
123
  </li>
 
124
  [% global.seen.$bugid = 1 %]
 
125
[% END %]
 
126
 
 
127
[% BLOCK bullet %]
 
128
  [% IF tree.dependencies.$bugid.size && ! global.seen.$bugid %]
 
129
    [% extra_class = " b_open" %]
 
130
    [% extra_args = 'onclick="return doToggle(this, event)"' %] 
 
131
  [% END %]
 
132
  <a name="b[% bugid %]" 
 
133
     class="b [%+ extra_class FILTER none %]"
 
134
     title="Click to expand or contract this portion of the tree. Hold down the Ctrl key while clicking to expand or contract all subtrees."
 
135
     [% extra_args FILTER none %]>&nbsp;&nbsp;</a>
 
136
[% END %]
 
137
 
 
138
[% BLOCK buglink %]
 
139
  [% isclosed = !bug.isopened %]
 
140
  [% FILTER closed(isclosed) -%]
 
141
    <a title="[% INCLUDE buginfo bug=bug %]"
 
142
       href="show_bug.cgi?id=[% bugid %]">
 
143
      <b>[%- bugid %]:</b>
 
144
      <span class="summ_text">[%+ bug.short_desc FILTER html %]</span>
 
145
      <span class="summ_info">[[% INCLUDE buginfo %]]</span>
 
146
    </a>
 
147
    <a href="showdependencytree.cgi?id=[% bugid FILTER url_quote %]"
 
148
       class="tree_link">
 
149
      <img src="skins/standard/dependency-tree/tree.png"
 
150
           title="See dependency tree for [% terms.bug %] [%+ bugid FILTER html %]">
 
151
    </a>
 
152
  [% END %]
 
153
[% END %]
 
154
 
 
155
[% BLOCK buginfo %]
 
156
  [% status_descs.${bug.bug_status} FILTER html -%] [%+ get_resolution(bug.resolution) FILTER html %];
 
157
  [%-%] assigned to [% bug.assigned_to.login FILTER html %]
 
158
  [%-%][% "; Target: " _ bug.target_milestone IF bug.target_milestone %]
 
159
[% END %]
151
160
 
152
161
[%###########################################################################%]
153
162
[%# Block for depth control toolbar                                         #%]
154
163
[%###########################################################################%]
155
164
 
156
165
[% BLOCK depthControlToolbar %]
157
 
 <table cellpadding="3" border="0" cellspacing="0" bgcolor="#d0d0d0">
158
 
 <tr>
 
166
 <table cellpadding="3" border="0" cellspacing="0" bgcolor="#e0e0e0">
 
167
   <tr>
159
168
   [%# Hide/show resolved button
160
169
       Swaps text depending on the state of hide_resolved %]
161
170
   <td align="center">
166
175
       <input name="maxdepth" type="hidden" value="[% maxdepth %]">
167
176
     [% END %]
168
177
     <input type="hidden" name="hide_resolved" value="[% hide_resolved ? 0 : 1 %]">
169
 
     <input type="submit" 
 
178
     <input type="submit" id="toggle_visibility"
170
179
            value="[% IF hide_resolved %]Show[% ELSE %]Hide[% END %] Resolved">
171
180
   </form>
172
181
   </td>
183
192
   <form method="get" action="showdependencytree.cgi"
184
193
         style="display: inline; margin: 0px;">
185
194
     [%# set to one form %]
186
 
     <input type="submit" value="&nbsp;1&nbsp;" 
 
195
     <input type="submit" id="change_maxdepth"
 
196
       value="&nbsp;1&nbsp;" 
187
197
       [% "disabled" IF realdepth < 2 || maxdepth == 1 %]>
188
198
     <input name="id" type="hidden" value="[% bugid %]">
189
199
     <input name="maxdepth" type="hidden" value="1">
202
212
                       : ( maxdepth ? maxdepth - 1 : realdepth - 1 )
203
213
     %]">
204
214
     <input name="hide_resolved" type="hidden" value="[% hide_resolved %]">
205
 
     <input type="submit" value="&nbsp;&lt;&nbsp;" 
 
215
     <input type="submit" id="decrease_depth" value="&nbsp;&lt;&nbsp;"
206
216
       [% "disabled" IF realdepth < 2 || ( maxdepth && maxdepth < 2 ) %]>
207
217
   </form>
208
218
   </td>
218
228
     <input name="id" type="hidden" value="[% bugid %]">
219
229
     <input name="hide_resolved" type="hidden" value="[% hide_resolved %]">
220
230
     <noscript>
221
 
       <input type="submit" value="Change" [% "disabled" IF realdepth < 2 %]>
 
231
       <input type="submit" id="change_depth" value="Change"
 
232
              [% "disabled" IF realdepth < 2 %]>
222
233
     </noscript>
223
234
   </form>
224
235
   </td>
233
244
       <input name="maxdepth" type="hidden" value="[% maxdepth + 1 %]">
234
245
     [% END %]
235
246
     <input name="hide_resolved" type="hidden" value="[% hide_resolved %]">
236
 
     <input type="submit" value="&nbsp;&gt;&nbsp;" 
237
 
        [% "disabled" IF realdepth < 2 || !maxdepth || maxdepth >= realdepth %]
238
 
    %]>
 
247
     <input type="submit" id="increase_depth" value="&nbsp;&gt;&nbsp;" 
 
248
        [% "disabled" IF realdepth < 2 || !maxdepth || maxdepth >= realdepth %]>
239
249
   </form>
240
250
   </td>
241
251
 
245
255
     [%# Unlimited button %]
246
256
     <input name="id" type="hidden" value="[% bugid %]">
247
257
     <input name="hide_resolved" type="hidden" value="[% hide_resolved %]">
248
 
     <input type="submit" value="&nbsp;Unlimited&nbsp;"
 
258
     <input type="submit" id="remove_limit"
 
259
       value="&nbsp;Unlimited&nbsp;"
249
260
       [% "disabled" IF maxdepth == 0 || maxdepth == realdepth %]>
250
261
   </form>
251
262
   </td>