[%# 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 Netscape Communications # Corporation. Portions created by Netscape are # Copyright (C) 1998 Netscape Communications Corporation. All # Rights Reserved. # # Contributor(s): Gavin Shelley # Frédéric Buclin #%] [%# 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. #%] [% PROCESS global/variables.none.tmpl %] [% 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 %]