[%# 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" }, { name => "isactive" heading => "Active" yesno_field => 1 }, ] %] [% IF Param('useqacontact') %] [% columns.push({ name => 'initialqacontact' heading => 'QA Contact' }) %] [% END %] [% 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 and the initialqacontact with right values %] [% overrides.initialowner = {} %] [% overrides.initialqacontact = {} %] [%# "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 } %] [% END %] [% Hook.process('before_table') %] [% PROCESS admin/table.html.tmpl columns = columns data = product.components overrides = overrides %]

Add a new component to product '[% product.name FILTER html %]'

[% IF ! showbugcounts %]

Redisplay table with [% terms.bug %] counts (slower)

[% END %] [% PROCESS admin/components/footer.html.tmpl no_edit_other_components_link = 1 %] [% PROCESS global/footer.html.tmpl %]