[%# 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:
  # comp: object; Bugzilla::Component object representing the component the
  #               user wants to edit.
  # product: object; Bugzilla::Product object representing the product to
  #               which the component belongs.
  #%]

[% title = BLOCK %]
  Edit component '[% comp.name FILTER html %]' of product '[% product.name FILTER html %]'
[% END %]
[% PROCESS global/header.html.tmpl
  title = title
  generate_api_token = 1
  style_urls = ['skins/standard/admin.css']
  yui = [ 'autocomplete' ]
  javascript_urls = [ "js/field.js" ]
%]

<form method="post" action="editcomponents.cgi">
  <table id="admin_table_edit">

    [% PROCESS "admin/components/edit-common.html.tmpl" %]

    <tr>
      <th><label for="isactive">Enabled For [% terms.Bugs %]:</label></th>
      <td><input id="isactive" name="isactive" type="checkbox" value="1" 
                 [% 'checked="checked"' IF comp.isactive %]></td>
    </tr>
    <tr>
      <th>[% terms.Bugs %]:</th>
      <td>
        [% IF comp.bug_count > 0 %]
          <a title="[% terms.Bugs %] in component '[% comp.name FILTER html %]'"
             href="buglist.cgi?component=
                  [%- comp.name FILTER uri %]&amp;product=
                  [%- product.name FILTER uri %]">[% comp.bug_count %]</a>
        [% ELSE %]
          None
        [% END %]
      </td>
    </tr>
  </table>

   <input type="hidden" name="action" value="update">
   <input type="hidden" name="componentold" value="[% comp.name FILTER html %]">
   <input type="hidden" name="product" value="[% product.name FILTER html %]">
   <input type="hidden" name="token" value="[% token FILTER html %]">
   <input type="submit" value="Save Changes" id="update"> or
   <a href="editcomponents.cgi?action=del&amp;product=
            [%- product.name FILTER uri %]&amp;component=
            [%- comp.name FILTER uri %]">Delete</a> this component.
</form>

[% PROCESS admin/components/footer.html.tmpl
  no_edit_component_link = 1
%]

[% PROCESS global/footer.html.tmpl %]
