210 lines
7.3 KiB
Cheetah
210 lines
7.3 KiB
Cheetah
[%# 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>
|
|
# Erik Stambaugh <not_erik@dasbistro.com>
|
|
#%]
|
|
|
|
[%# INTERFACE:
|
|
# fields: hash/record; the fields being matched, each of which has:
|
|
# type: single|multi: whether or not the user can select multiple matches
|
|
# flag_type: for flag requestee fields, the type of flag being requested
|
|
# matches: hash; Hierarchical. The levels go like this:
|
|
# field_name {
|
|
# pattern_text {
|
|
# 'users' = @user_list (user objects)
|
|
# 'status' = success|fail|trunc (result of search.
|
|
# 'trunc' (truncated) means max was reached)
|
|
# }
|
|
# }
|
|
# script: string; The name of the calling script, used to create a
|
|
# self-referential URL
|
|
#%]
|
|
|
|
[%# use the global field descs %]
|
|
[%# This lists fields which use the user auto-completion feature and which
|
|
# are not listed in field_descs. %]
|
|
[%# FIXME move away from here %]
|
|
[% field_labels = {
|
|
# Used by editcomponents.cgi
|
|
"initialcc" => "Default CC List",
|
|
"initialowner" => "Default Assignee",
|
|
"initialqacontact" => "Default QA Contact",
|
|
# Used by process_bug.cgi
|
|
"masscc" => "CC List",
|
|
# Used by request.cgi
|
|
"requester" => "Requester",
|
|
"requestee" => "Requestee",
|
|
# Used by userprefs.cgi
|
|
"new_watchedusers" => "Watch List",
|
|
# Used by superworktime
|
|
"worktime_user" => "Worktime user",
|
|
}
|
|
%]
|
|
[% IF matchsuccess == 1 %]
|
|
[% PROCESS global/header.html.tmpl title="Confirm Match" %]
|
|
|
|
<form method="post"
|
|
[% IF script -%]
|
|
action="[% script %]"
|
|
[%- END -%]
|
|
[% IF Bugzilla.cgi.param("data") %]
|
|
enctype="multipart/form-data"
|
|
[% END %]
|
|
>
|
|
|
|
<p>
|
|
[% IF matchmultiple %]
|
|
[% terms.Bugzilla %] cannot make a conclusive match for one or more
|
|
of the names and/or email addresses you entered on the previous page.
|
|
<br>Please examine the lists of potential matches below and select the
|
|
ones you want,
|
|
[% ELSE %]
|
|
[% terms.Bugzilla %] is configured to require verification whenever
|
|
you enter a name or partial email address.
|
|
<br>Below are the names/addresses you entered and the matched accounts.
|
|
Please confirm that they are correct,
|
|
[% END %]
|
|
or go back to the previous page to revise the names you entered.
|
|
</p>
|
|
[% ELSE %]
|
|
[% PROCESS global/header.html.tmpl title="Match Failed" %]
|
|
<p>
|
|
[% terms.Bugzilla %] was unable to make any match at all for one or more of
|
|
the names and/or email addresses you entered on the previous page.
|
|
[% IF !user.id %]
|
|
<b>Note: You are currently logged out. Only exact matches against e-mail
|
|
addresses will be performed.</b>
|
|
[% END %]
|
|
</p>
|
|
<p>Please go back and try other names or email addresses.</p>
|
|
[% END %]
|
|
|
|
<table border="0">
|
|
<tr>
|
|
<td colspan="2">
|
|
<hr width="100%" size="1">
|
|
</td>
|
|
</tr>
|
|
|
|
[%# this is messy to allow later expansion %]
|
|
|
|
[% exclude_hash = {
|
|
Bugzilla_login => 1
|
|
Bugzilla_password => 1
|
|
} %]
|
|
[% FOREACH field = matches %]
|
|
[% exclude_hash.${field.key} = 1 %]
|
|
<tr>
|
|
<td align="left" valign="top">
|
|
[% PROCESS field_names field_name=field.key %]:
|
|
</td>
|
|
<td align="left" valign="top">
|
|
[% FOREACH query = field.value %]
|
|
<div class="user_match">
|
|
<b>[% query.key FILTER html %]</b>
|
|
[% IF query.value.users.size %]
|
|
[% IF query.value.users.size > 1 %]
|
|
[% IF query.value.status == 'fail' %]
|
|
<font color="#FF0000">
|
|
matches multiple users.
|
|
</font>
|
|
Please go back and try again with a more specific
|
|
name/address.
|
|
[% ELSE %]
|
|
[% IF NOT first_field; first_field = field.key; END %]
|
|
[% IF query.value.status == 'trunc' %]
|
|
matched
|
|
more than the maximum
|
|
of [% query.value.users.size %] users:<br>
|
|
[% ELSE %]
|
|
matched:<br>
|
|
[% END %]
|
|
<select name="[% field.key FILTER html %]" onkeypress="var e=event||window.event;if((e.keyCode == 0xA)||(e.keyCode == 0xD))document.getElementById('continue').click()"
|
|
id="[% field.key FILTER html %]"
|
|
[% IF fields.${field.key}.type == 'multi' %]
|
|
multiple="multiple"
|
|
[% IF query.value.users.size > 5 %]
|
|
size="5"
|
|
[% ELSE %]
|
|
size="[% query.value.users.size %]"
|
|
[% END %]
|
|
[% END %]
|
|
>
|
|
[% FOREACH match = query.value.users %]
|
|
<option value="[% match.login FILTER html %]">
|
|
[%- match.identity FILTER html -%]
|
|
</option>
|
|
[% END %]
|
|
</select>
|
|
[% END %]
|
|
[% ELSE %]
|
|
matched
|
|
<b>[% query.value.users.0.identity FILTER html %]</b>
|
|
<input type="hidden" name="[% field.key | html %]" value="[% query.value.users.0.login | html %]" />
|
|
[% END %]
|
|
[% ELSE %]
|
|
[% IF (query.key.length < 3) && !Param('emailsuffix') %]
|
|
<font color="#FF0000">was too short for substring match
|
|
(minimum 3 characters)</font>
|
|
[% ELSE %]
|
|
<font color="#FF0000">did not match anything</font>
|
|
[% END %]
|
|
[% END %]
|
|
</div>
|
|
[% END %]
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<hr width="100%" size="1">
|
|
</td>
|
|
</tr>
|
|
[% END %]
|
|
|
|
</table>
|
|
|
|
[% IF matchsuccess == 1 %]
|
|
|
|
[% PROCESS "global/hidden-fields.html.tmpl" exclude_hash = exclude_hash %]
|
|
|
|
<p>
|
|
<input type="submit" id="continue" value="Continue" />
|
|
</p>
|
|
|
|
</form>
|
|
|
|
[% END %]
|
|
|
|
<script language="JavaScript">
|
|
document.getElementById('[% first_field || 'continue' %]').focus();
|
|
</script>
|
|
|
|
[% PROCESS global/footer.html.tmpl %]
|
|
|
|
[% BLOCK field_names %]
|
|
[% IF field_descs.$field_name %]
|
|
[% field_descs.$field_name FILTER html %]
|
|
[% ELSIF field_labels.$field_name %]
|
|
[% field_labels.$field_name FILTER html %]
|
|
[% ELSIF field_name.match("^requestee") %]
|
|
[% fields.${field_name}.flag_type.name %] requestee
|
|
[% ELSE %]
|
|
[% field_name FILTER html %]
|
|
[% END %]
|
|
[% END %]
|