# the target milestone field
#%]
-[% USE mycgi = CGI %]
-
<form action="process_bug.cgi" method="post">
[% PROCESS "global/hidden-fields.html.tmpl"
<tr>
<td>
<b>Version:</b><br>
- [% mycgi.popup_menu(Name => "version" , Values => versions) %]
+ [% PROCESS "global/select-menu.html.tmpl" name="version" options=versions %]
</td>
<td>
<b>Component:</b><br>
- [% mycgi.popup_menu(Name => "component" , Values => components) %]
+ [% PROCESS "global/select-menu.html.tmpl" name="component" options=components %]
</td>
[% IF use_target_milestone %]
<td>
<b>Target Milestone:</b><br>
- [% mycgi.popup_menu(Name => "target_milestone" , Values => milestones) %]
+ [% PROCESS "global/select-menu.html.tmpl" name="target_milestone" options=milestones %]
</td>
[% END %]
</tr>
--- /dev/null
+<!-- 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): Myk Melez <myk@mozilla.org>
+ #%]
+
+[%# INTERFACE:
+ # name: string; the name of the menu.
+ #
+ # options: array or hash; the items with which to populate the array.
+ # If a hash is passed, the hash keys become the names displayed
+ # to the user while the hash values become the value of the item.
+ #
+ # default: string; the item selected in the menu by default.
+ #
+ #%]
+
+[%# Get the scalar representation of the options reference,
+ # which looks like "ARRAY(0xA352BA3F)" or "HASH(0xA352BA3F)",
+ # so we can figure out whether it is a reference to an array
+ # or a hash.
+ #%]
+[% options_type = BLOCK %][% options %][% END %]
+
+<select name="[% name FILTER html %]">
+ [% IF options_type.search("ARRAY") %]
+ [% FOREACH value = options %]
+ <option value="[% value FILTER html %]"
+ [% " selected" IF value == default %]>
+ [% value FILTER html %]
+ </option>
+ [% END %]
+ [% ELSIF values_type.search("HASH") %]
+ [% FOREACH option = options %]
+ <option value="[% option.value FILTER html %]"
+ [% " selected" IF option.value == default %]>
+ [% option.key FILTER html %]
+ </option>
+ [% END %]
+ [% END %]
+</select>