| [%# 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: |
| # name: mandatory; field name |
| # id: optional; field id |
| # value: optional; default field value/selection |
| # classes: optional; an array of classes to be added |
| # onchange: optional; onchange attribute value |
| # disabled: optional; if true, the field is disabled |
| # accesskey: optional, input only; accesskey attribute value |
| # size: optional, input only; size attribute value |
| # emptyok: optional, select only; if true, prepend menu option for "" to start of select |
| # hyphenok: optional, select only; if true, prepend menu option for "-" to start of select |
| # multiple: optional, do multiselect box, value is size (height) of box |
| # custom_userlist: optional, specify a limited list of users to use |
| # field_title: optional, extra information to display as a tooltip |
| # mandatory: optional; if true, the field cannot be empty. |
| #%] |
| |
| [% IF Param("usemenuforusers") %] |
| <select name="[% name FILTER html %]" |
| [% IF id %] id="[% id FILTER html %]" [% END %] |
| [% IF classes %] class="[% classes.join(' ') FILTER html %]" [% END %] |
| [% IF onchange %] onchange="[% onchange FILTER html %]" [% END %] |
| [% IF disabled %] disabled="[% disabled FILTER html %]" [% END %] |
| [% IF accesskey %] accesskey="[% accesskey FILTER html %]" [% END %] |
| [% IF multiple %] multiple="multiple" size="[% multiple FILTER html %]" [% END %] |
| [% IF field_title %] title="[% field_title FILTER html %]" [% END %] |
| [% IF mandatory %] required [% END %] |
| > |
| [% IF emptyok %] |
| <option value=""></option> |
| [% END %] |
| [% IF hyphenok %] |
| <option value="-">-</option> |
| [% END %] |
| |
| [% UNLESS custom_userlist %] |
| [% custom_userlist = user.get_userlist %] |
| [% END %] |
| |
| [% SET selected = {} %] |
| [% IF value.defined %] |
| [% FOREACH selected_value IN value.split(', ') %] |
| [% SET selected.$selected_value = 1 %] |
| [% END %] |
| [% END %] |
| |
| [% FOREACH tmpuser = custom_userlist %] |
| [% IF tmpuser.visible OR selected.${tmpuser.login} == 1 %] |
| <option value="[% tmpuser.login FILTER html %]" |
| [% IF selected.${tmpuser.login} == 1 %] |
| selected="selected" |
| [%# A user account appears only once. Remove it from the list, so that |
| # we know if there are some selected accounts which have not been listed. %] |
| [% selected.delete(tmpuser.login) %] |
| [% END %] |
| >[% tmpuser.identity FILTER html %]</option> |
| [% END %] |
| [% END %] |
| |
| [%# If the list is not empty, this means some accounts have not been mentioned yet. %] |
| [% FOREACH selected_user = selected.keys %] |
| <option value="[% selected_user FILTER html %]" selected="selected">[% selected_user FILTER html %]</option> |
| [% END %] |
| </select> |
| [% ELSE %] |
| [% IF feature_enabled('jsonrpc') && Param('ajax_user_autocompletion') && id %] |
| <div id="[% id FILTER html %]_autocomplete" |
| [% IF classes %] class="[% classes.join(' ') FILTER html %]" [% END %]> |
| [% END %] |
| <input |
| name="[% name FILTER html %]" |
| value="[% value FILTER html %]" |
| [% IF classes %] class="[% classes.join(' ') FILTER html %]" [% END %] |
| [% IF onchange %] onchange="[% onchange FILTER html %]" [% END %] |
| [% IF disabled %] disabled="[% disabled FILTER html %]" [% END %] |
| [% IF accesskey %] accesskey="[% accesskey FILTER html %]" [% END %] |
| [% IF field_title %] title="[% field_title FILTER html %]" [% END %] |
| [% IF size %] size="[% size FILTER html %]" [% END %] |
| [% IF id %] id="[% id FILTER html %]" [% END %] |
| [% IF mandatory %] required [% END %] |
| > |
| [% IF feature_enabled('jsonrpc') && Param('ajax_user_autocompletion') && id %] |
| <div id="[% id FILTER html %]_autocomplete_container"></div> |
| </div> |
| <script type="text/javascript"> |
| if( typeof(YAHOO.bugzilla.userAutocomplete) !== 'undefined' |
| && YAHOO.bugzilla.userAutocomplete != null){ |
| YAHOO.bugzilla.userAutocomplete.init( "[% id FILTER js %]", |
| "[% id FILTER js %]_autocomplete_container" |
| [% IF multiple %], true[% END%]); |
| } |
| </script> |
| [% END %] |
| [% END %] |