[%# 1.0@bugzilla.org %]
[%# 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 <bugzilla@chimpychompy.org>
  #%]

[%# INTERFACE:
  # name: string; the name of the component
  #
  # product: string; the name of the product which the component
  #                  belongs/belonged to
  #%]
  
<p>

<hr>
Edit 

[% IF name && !no_edit_component_link %]
  component <a 
  title="Edit Component '[% name FILTER html %]'"
  href="editcomponents.cgi?action=edit&amp;product=
  [%- product FILTER url_quote %]&amp;component=[% name FILTER url_quote %]">
   '[% name FILTER html %]'</a> 
  or edit
[% END %]

[% IF !no_edit_other_components_link %]
other components of product <a 
  title="Choose a component from product '[% product FILTER html %]' to edit"
  href="editcomponents.cgi?product=
  [%- product FILTER url_quote %]">'[% product FILTER html %]'</a>, 
  or edit 
[% END %]

product <a 
  title="Edit Product '[% product FILTER html %]'"
  href="editproducts.cgi?action=edit&amp;product=
  [%- product FILTER url_quote %]">'[% product FILTER html %]'</a>.

</p>
