[%# 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): Myk Melez <myk@mozilla.org>
  #                 Frédéric Buclin <LpSolit@gmail.com>
  #                 Max Kanat-Alexander <mkanat@bugzilla.org>
  #%]

[%# INTERFACE:
  # product: object; the new product.
  # versions: array; versions for the new product.
  # components: array; components for the new product.
  # milestones: array; milestones for the new product.
  # defaults: hash; keys are names of fields, values are defaults for
  #   those fields
  #
  # verify_bug_groups: If groups need to be confirmed in addition to fields.
  #%]

[% PROCESS global/variables.none.tmpl %]

[% PROCESS global/header.html.tmpl
  title = 'Verify New Product Details...' %]

<form action="process_bug.cgi" method="post">

[% SET exclude_items = ['version', 'component', 'target_milestone'] %]
[% IF verify_bug_groups %]
  [% exclude_items.push('groups', 'defined_groups') %]
[% END %]
[% Hook.process('exclude') %]

[% PROCESS "global/hidden-fields.html.tmpl"
     exclude = '^' _ exclude_items.join('|') _ '$' %]

<input type="hidden" name="confirm_product_change" value="1">
    
[%# Verify the version, component, and target milestone fields. %]
<h3>Verify Version, Component
  [%- ", Target Milestone" 
      IF Param("usetargetmilestone")
         && bug.check_can_change_field('target_milestone', 0, 1) %]</h3>

<p>
[% IF Param("usetargetmilestone") 
   && bug.check_can_change_field('target_milestone', 0, 1) 
%]
  You are moving the [% terms.bug %](s) to the product 
  <b>[% product.name FILTER html %]</b>,
  and the version, component, and/or target milestone fields are no longer
  correct.  Please set the correct version, component, and target milestone now:
[% ELSE %]
  You are moving the [% terms.bug %](s) to the product 
  <b>[% product.name FILTER html %]</b>,
  and the version and component fields are no longer correct.
  Please set the correct version and component now:
[% END %]
</p>

<table>
  <tr>
    <td>
      <b>Version:</b><br>
      [% IF versions.size == 1 %]
        [% SET default_version = versions.0 %]
      [% ELSE %]
        [% SET default_version = defaults.version %]
      [% END %]
      [% PROCESS "global/select-menu.html.tmpl" 
                 name="version"
                 options=versions
                 default=default_version
                 size=10 %]
    </td>
    <td>
      <b>Component:</b><br>
      [% IF components.size == 1 %]
        [% SET default_component = components.0 %]
      [% ELSE %]
        [% SET default_component = defaults.component %]
      [% END %]
      [% PROCESS "global/select-menu.html.tmpl"
                 name="component"
                 options=components
                 default=default_component
                 size=10 %]
    </td>
    [% IF Param("usetargetmilestone") 
          && bug.check_can_change_field('target_milestone', 0, 1) 
    %]
      <td>
        <b>Target Milestone:</b><br>
      [% PROCESS "global/select-menu.html.tmpl"
                 name="target_milestone"
                 options=milestones
                 default=defaults.milestone
                 size=10 %]
      </td>
    [% END %]
    [% Hook.process('field') %]
  </tr>
</table>

[% IF verify_bug_groups %]
  <h3>Verify [% terms.Bug %] Group</h3>
  
  [% IF old_groups.size %]
    <p>These groups are not legal for the '[% product.name FILTER html %]'
    product or you are not allowed to restrict [% terms.bugs %] to these groups.
    [%+ terms.Bugs %] will no longer be restricted to these groups and may become
    public if no other group applies:<br>
    [% FOREACH group = old_groups %]
      <input type="checkbox" id="group_[% group.id FILTER html %]"
             name="groups" disabled="disabled" value="[% group.name FILTER html %]">
      <label for="group_[% group.id FILTER html %]">
        [% group.name FILTER html %]: [% group.description FILTER html %]
      </label>
      <br>
    [% END %]
    </p>
  [% END %]

  [% mandatory_groups = [] %]
  [% optional_groups = [] %]

  [% FOREACH gid = product.group_controls.keys %]
    [% group = product.group_controls.$gid %]
    [% NEXT UNLESS group.group.is_active %]

    [% IF group.membercontrol == constants.CONTROLMAPMANDATORY
          || (group.othercontrol ==  constants.CONTROLMAPMANDATORY && !user.in_group(group.group.name)) %]
      [% mandatory_groups.push(group) %]
    [% ELSIF (group.membercontrol != constants.CONTROLMAPNA && user.in_group(group.group.name))
              || group.othercontrol != constants.CONTROLMAPNA %]
      [% optional_groups.push(group) %]
    [% END %]
  [% END %]

  [% IF optional_groups.size %]
    <p>These groups are optional. You can decide to restrict [% terms.bugs %] to
    one or more of the following groups:<br>
    [% FOREACH group = optional_groups %]
      <input type="hidden" name="defined_groups"
             value="[% group.group.name FILTER html %]">
      <input type="checkbox" id="group_[% group.group.id FILTER html %]"
             name="groups"
             [% ' checked="checked"' IF ((group.membercontrol == constants.CONTROLMAPDEFAULT && user.in_group(group.group.name))
                 || (group.othercontrol == constants.CONTROLMAPDEFAULT && !user.in_group(group.group.name))
                 || cgi.param("groups").contains(group.group.name)) %]
             value="[% group.group.name FILTER html %]">
      <label for="group_[% group.group.id FILTER html %]">
        [% group.group.name FILTER html %]: [% group.group.description FILTER html %]
      </label>
      <br>
    [% END %]
    </p>
  [% END %]

  [% IF mandatory_groups.size %]
    <p>These groups are mandatory and [% terms.bugs %] will be automatically
    restricted to these groups:<br>
    [% FOREACH group = mandatory_groups %]
      <input type="checkbox" id="group_[% group.group.id FILTER html %]"
              checked="checked" disabled="disabled"
             name="groups" value="[% group.group.name FILTER html %]">
      <label for="group_[% group.group.id FILTER html %]">
        [% group.group.name FILTER html %]: [% group.group.description FILTER html %]
      </label>
      <br>
    [% END %]
    </p>
  [% END %]
[% END %]

<input type="submit" id="change_product" value="Commit">

</form>
<hr>

[%# If 'id' is defined, then we are editing a single bug.
  # Else we are editing several bugs at once. %]

[% IF cgi.param('id') AND cgi.param('id').match('^\d+$') %]
  [% id = cgi.param('id') %]
  Cancel and Return to [% "$terms.bug $id" FILTER bug_link(id) FILTER none %]
[% ELSE %]
  Cancel and Return to <a href="buglist.cgi?regetlastlist=1">the last search results</a>
[% END %]

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

