1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
[%# 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.
#%]
[%# INTERFACE:
# showbugcounts: if defined, then bug counts should be included in the table
# product: object; Bugzilla::Product object representing the product to
# which the component belongs.
#%]
[% title = BLOCK %]Select component of product
'[% product.name FILTER html %]'[% END %]
[% PROCESS global/header.html.tmpl
title = title
%]
[% edit_contentlink = BLOCK %]editcomponents.cgi?action=edit&product=
[%- product.name FILTER uri %]&component=%%name%%[% END %]
[% delete_contentlink = BLOCK %]editcomponents.cgi?action=del&product=
[%- product.name FILTER uri %]&component=%%name%%[% END %]
[% bug_count_contentlink = BLOCK %]buglist.cgi?component=%%name%%&product=
[%- product.name FILTER uri %][% END %]
[% columns = [
{
name => "name"
heading => "Edit component..."
contentlink => edit_contentlink
},
{
name => "description"
heading => "Description"
allow_html_content => 1
},
{
name => "initialowner"
heading => "Default Assignee"
},
]
%]
[% IF Param('useqacontact') %]
[% columns.push({
name => 'initialqacontact'
heading => 'Default QA Contact'
}) %]
[% END %]
[% columns.push({
name => "initial_cc_names"
heading => "Default CC list"
},
{
name => "isactive"
heading => "Active"
yesno_field => 1
}) %]
[% IF showbugcounts %]
[% columns.push({
name => 'bug_count'
heading => "$terms.Bugs"
align => "right"
contentlink => bug_count_contentlink
}) %]
[% END %]
[% columns.push({
heading => "Action"
content => "Delete"
contentlink => delete_contentlink
}) %]
[%# Overrides the initialowner, the initialqacontact, and the initial_cc_names with right values %]
[% overrides.initialowner = {} %]
[% overrides.initialqacontact = {} %]
[% overrides.initial_cc_names = {} %]
[%# "component" is a reserved word in Template Toolkit. %]
[% FOREACH my_component = product.components %]
[% overrides.initialowner.name.${my_component.name} = {
override_content => 1
content => my_component.default_assignee.login
}
%]
[% overrides.initialqacontact.name.${my_component.name} = {
override_content => 1
content => my_component.default_qa_contact.login
}
%]
[% SET initial_cc_list = [] %]
[% FOREACH cc_user = my_component.initial_cc %]
[% initial_cc_list.push(cc_user.login) %]
[% END %]
[% overrides.initial_cc_names.name.${my_component.name} = {
override_content => 1
content => initial_cc_list.join(', ')
}
%]
[% END %]
[% Hook.process('before_table') %]
[% PROCESS admin/table.html.tmpl
columns = columns
data = product.components
overrides = overrides
%]
<p><a href="editcomponents.cgi?action=add&product=[% product.name FILTER uri %]">Add</a>
a new component to product '[% product.name FILTER html %]'</p>
[% IF ! showbugcounts %]
<p><a href="editcomponents.cgi?product=[% product.name FILTER uri %]&showbugcounts=1">
Redisplay table with [% terms.bug %] counts (slower)</a></p>
[% END %]
[% PROCESS admin/components/footer.html.tmpl
no_edit_other_components_link = 1
%]
[% PROCESS global/footer.html.tmpl %]
|