blob: e2210c6f2deb5a5a61d6dc7647ddf572f1e6f241 [file] [log] [blame]
[%# 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 %]