Commit 8109df6a authored by olav%bkor.dhs.org's avatar olav%bkor.dhs.org

Bug 309167: change to product which has same component name results in no prompt…

Bug 309167: change to product which has same component name results in no prompt for component and incorrect assignee Patch by Olav Vitters <olav@bkor.dhs.org> r=LpSolit a=myk
parent 95da8f43
...@@ -374,11 +374,14 @@ if (((defined $cgi->param('id') && $cgi->param('product') ne $oldproduct) ...@@ -374,11 +374,14 @@ if (((defined $cgi->param('id') && $cgi->param('product') ne $oldproduct)
$mok = lsearch(\@milestone_names, $cgi->param('target_milestone')) >= 0; $mok = lsearch(\@milestone_names, $cgi->param('target_milestone')) >= 0;
} }
# If the product-specific fields need to be verified, or we need to verify # We cannot be sure if the component is the same by only checking $cok; the
# whether or not to add the bugs to their new product's group, display # current component name could exist in the new product. So always display
# a verification form. # the form and use the confirm_product_change param to check if that was
if (!$vok || !$cok || !$mok || (AnyDefaultGroups() # shown. Also show the verification form if the product-specific fields
&& !defined $cgi->param('addtonewgroup'))) { # somehow still need to be verified, or if we need to verify whether or not
# to add the bugs to their new product's group.
if (!$vok || !$cok || !$mok || !defined $cgi->param('confirm_product_change')
|| (AnyDefaultGroups() && !defined $cgi->param('addtonewgroup'))) {
if (Bugzilla->usage_mode == USAGE_MODE_EMAIL) { if (Bugzilla->usage_mode == USAGE_MODE_EMAIL) {
if (!$vok) { if (!$vok) {
...@@ -398,7 +401,9 @@ if (((defined $cgi->param('id') && $cgi->param('product') ne $oldproduct) ...@@ -398,7 +401,9 @@ if (((defined $cgi->param('id') && $cgi->param('product') ne $oldproduct)
} }
} }
if (!$vok || !$cok || !$mok) { if (!$vok || !$cok || !$mok
|| !defined $cgi->param('confirm_product_change'))
{
$vars->{'verify_fields'} = 1; $vars->{'verify_fields'} = 1;
my %defaults; my %defaults;
# We set the defaults to these fields to the old value, # We set the defaults to these fields to the old value,
......
...@@ -47,6 +47,7 @@ ...@@ -47,6 +47,7 @@
[% PROCESS "global/hidden-fields.html.tmpl" [% PROCESS "global/hidden-fields.html.tmpl"
exclude=(verify_fields ? "^version|component|target_milestone$" : "") %] exclude=(verify_fields ? "^version|component|target_milestone$" : "") %]
<input type="hidden" name="confirm_product_change" value="1">
[%# Verify the version, component, and target milestone fields. %] [%# Verify the version, component, and target milestone fields. %]
[% IF verify_fields %] [% IF verify_fields %]
<h3>Verify Version, Component[% ", Target Milestone" IF use_target_milestone %]</h3> <h3>Verify Version, Component[% ", Target Milestone" IF use_target_milestone %]</h3>
...@@ -69,16 +70,28 @@ ...@@ -69,16 +70,28 @@
<tr> <tr>
<td> <td>
<b>Version:</b><br> <b>Version:</b><br>
[% PROCESS "global/select-menu.html.tmpl" name="version" options=versions default=defaults.version %] [% PROCESS "global/select-menu.html.tmpl"
name="version"
options=versions
default=defaults.version
size=10 %]
</td> </td>
<td> <td>
<b>Component:</b><br> <b>Component:</b><br>
[% PROCESS "global/select-menu.html.tmpl" name="component" options=components default=defaults.component %] [% PROCESS "global/select-menu.html.tmpl"
name="component"
options=components
default=defaults.component
size=10 %]
</td> </td>
[% IF use_target_milestone %] [% IF use_target_milestone %]
<td> <td>
<b>Target Milestone:</b><br> <b>Target Milestone:</b><br>
[% PROCESS "global/select-menu.html.tmpl" name="target_milestone" options=milestones default=defaults.target_milestone %] [% PROCESS "global/select-menu.html.tmpl"
name="target_milestone"
options=milestones
default=defaults.target_milestone
size=10 %]
</td> </td>
[% END %] [% END %]
</tr> </tr>
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
# #
# multiple: boolean; whether or not the menu is multi-select # multiple: boolean; whether or not the menu is multi-select
# #
# size: integer; if multi-select, the number of items to display at once # size: integer; the number of items to display at once
# #
# options: array or hash; the items with which to populate the array. # options: array or hash; the items with which to populate the array.
# If a hash is passed, the hash keys become the names displayed # If a hash is passed, the hash keys become the names displayed
...@@ -45,7 +45,8 @@ ...@@ -45,7 +45,8 @@
<select name="[% name FILTER html %]" <select name="[% name FILTER html %]"
[% IF onchange %]onchange="[% onchange FILTER html %]"[% END %] [% IF onchange %]onchange="[% onchange FILTER html %]"[% END %]
[% IF multiple %] multiple [% IF size %] size="[% size %]" [% END %] [% END %]> [% IF multiple %] multiple [% END %]
[% IF size %] size="[% size %]" [% END %]>
[% IF options_type.search("ARRAY") %] [% IF options_type.search("ARRAY") %]
[% FOREACH value = options %] [% FOREACH value = options %]
<option value="[% value FILTER html %]" <option value="[% value FILTER html %]"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment