| [%# 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('bit-\d+') %] |
| [% END %] |
| |
| [% 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 %] |
| </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="bit-[% group.id FILTER html %]" |
| name="bit-[% group.id FILTER html %]" disabled="disabled" value="1"> |
| <label for="bit-[% 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_bit-[% group.group.id FILTER html %]" |
| value="1"> |
| <input type="checkbox" id="bit-[% group.group.id FILTER html %]" |
| name="bit-[% group.group.id FILTER html %]" |
| [%+ ((group.membercontrol == constants.CONTROLMAPDEFAULT && user.in_group(group.group.name)) |
| || (group.othercontrol == constants.CONTROLMAPDEFAULT && !user.in_group(group.group.name)) |
| || cgi.param("bit-$group.group.id") == 1) ? |
| 'checked="checked"' : '' |
| %] value="1"> |
| <label for="bit-[% 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="bit-[% group.group.id FILTER html %]" checked="checked" |
| name="bit-[% group.group.id FILTER html %]" value="1" disabled="disabled"> |
| <label for="bit-[% 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 %] |
| |