summaryrefslogtreecommitdiffstats
path: root/template/en
diff options
context:
space:
mode:
authorFrédéric Buclin <LpSolit@gmail.com>2016-04-27 18:50:13 +0200
committerFrédéric Buclin <LpSolit@gmail.com>2016-04-27 18:50:13 +0200
commit3891b63a1eb52076337885487f251a10580a4a85 (patch)
treedb1463894b756a6bb5114644feeec704ec886eb5 /template/en
parentc44470a368465adfe329fcfc32492829a21878da (diff)
downloadbugzilla-3891b63a1eb52076337885487f251a10580a4a85.tar.gz
bugzilla-3891b63a1eb52076337885487f251a10580a4a85.tar.xz
Bug 218917 - Allow the login name to be different from the email address
Original patch by Gervase Markham r=gerv a=dkl
Diffstat (limited to 'template/en')
-rw-r--r--template/en/default/account/auth/login-small.html.tmpl8
-rw-r--r--template/en/default/account/auth/login.html.tmpl1
-rw-r--r--template/en/default/account/cancel-token.txt.tmpl2
-rw-r--r--template/en/default/account/create.html.tmpl85
-rw-r--r--template/en/default/account/created.html.tmpl9
-rw-r--r--template/en/default/account/email/confirm-new.html.tmpl26
-rw-r--r--template/en/default/account/email/request-new.txt.tmpl16
-rw-r--r--template/en/default/account/prefs/account.html.tmpl122
-rw-r--r--template/en/default/account/request-new-password.html.tmpl14
-rw-r--r--template/en/default/admin/flag-type/edit.html.tmpl6
-rw-r--r--template/en/default/admin/groups/confirm-remove.html.tmpl6
-rw-r--r--template/en/default/admin/groups/edit.html.tmpl2
-rw-r--r--template/en/default/admin/params/auth.html.tmpl22
-rw-r--r--template/en/default/admin/params/ldap.html.tmpl5
-rw-r--r--template/en/default/admin/users/confirm-delete.html.tmpl10
-rw-r--r--template/en/default/admin/users/list.html.tmpl61
-rw-r--r--template/en/default/admin/users/search.html.tmpl1
-rw-r--r--template/en/default/admin/users/userdata.html.tmpl28
-rw-r--r--template/en/default/bug/edit.html.tmpl2
-rw-r--r--template/en/default/bug/show.xml.tmpl12
-rw-r--r--template/en/default/email/whine.txt.tmpl2
-rw-r--r--template/en/default/global/messages.html.tmpl19
-rw-r--r--template/en/default/global/user-error.html.tmpl61
-rw-r--r--template/en/default/global/user.html.tmpl20
-rw-r--r--template/en/default/reports/delete-series.html.tmpl3
-rw-r--r--template/en/default/reports/edit-series.html.tmpl3
26 files changed, 322 insertions, 224 deletions
diff --git a/template/en/default/account/auth/login-small.html.tmpl b/template/en/default/account/auth/login-small.html.tmpl
index 97d96a5af..5536d306a 100644
--- a/template/en/default/account/auth/login-small.html.tmpl
+++ b/template/en/default/account/auth/login-small.html.tmpl
@@ -65,12 +65,8 @@
<form action="token.cgi" method="post" id="forgot_form[% qs_suffix %]"
class="mini_forgot bz_default_hidden">
<label for="login[% qs_suffix FILTER html %]">Login:</label>
- <input name="loginname" size="20" id="login[% qs_suffix FILTER html %]" required
- [% IF login_not_email %]
- placeholder="Your Login"
- [% ELSE %]
- type="email" placeholder="Your Email Address"
- [% END %]>
+ <input name="email" size="20" id="login[% qs_suffix FILTER html %]" required
+ type="email" placeholder="Your Email Address">
<input id="forgot_button[% qs_suffix %]" value="Reset Password"
type="submit">
<input type="hidden" name="a" value="reqpw">
diff --git a/template/en/default/account/auth/login.html.tmpl b/template/en/default/account/auth/login.html.tmpl
index afa77df7f..ac0fbcb99 100644
--- a/template/en/default/account/auth/login.html.tmpl
+++ b/template/en/default/account/auth/login.html.tmpl
@@ -40,7 +40,6 @@
<td>
<input id="Bugzilla_login" name="Bugzilla_login"
[%- ' type="email"' UNLESS login_not_email %] autofocus required>
- [% Param('emailsuffix') FILTER html %]
</td>
</tr>
diff --git a/template/en/default/account/cancel-token.txt.tmpl b/template/en/default/account/cancel-token.txt.tmpl
index 384f2cfe0..46e058435 100644
--- a/template/en/default/account/cancel-token.txt.tmpl
+++ b/template/en/default/account/cancel-token.txt.tmpl
@@ -21,7 +21,7 @@ to [% Param('maintainer') %] if you suspect foul play.
Token: [% token %]
Token Type: [% tokentype %]
- User: [% emailaddress %]
+ User: [% login %]
Issue Date: [% issuedate FILTER time("%Y-%m-%d %H:%M:%S %Z", timezone) %]
Event Data: [% eventdata %]
Canceled Because: [% PROCESS cancelactionmessage %]
diff --git a/template/en/default/account/create.html.tmpl b/template/en/default/account/create.html.tmpl
index 5711a726f..e67848beb 100644
--- a/template/en/default/account/create.html.tmpl
+++ b/template/en/default/account/create.html.tmpl
@@ -6,25 +6,16 @@
# defined by the Mozilla Public License, v. 2.0.
#%]
-[%# INTERFACE
- # none
- #
- # Param("maintainer") is used to display the maintainer's email.
- # Param("emailsuffix") is used to pre-fill the email field.
- #%]
-
[% PROCESS global/header.html.tmpl
title = "Create a new $terms.Bugzilla account"
%]
<p>
To create a [% terms.Bugzilla %] account, all you need to do is to enter
-[% IF Param('emailsuffix') == '' %]
+ [% IF !Param('use_email_as_login') %]
+ a login name of your choice and
+ [% END %]
a legitimate email address.
-[% ELSE %]
- an account name which when combined with [% Param('emailsuffix') %]
- corresponds to an address where you receive email.
-[% END %]
You will receive an email at this address to confirm the creation of your
account. <b>You will not be able to log in until you receive the email.</b>
If it doesn't arrive within a reasonable amount of time, you may contact
@@ -32,50 +23,66 @@
at <a href="mailto:[% Param("maintainer") %]">[% Param("maintainer") %]</a>.
</p>
-[% IF Param('allowemailchange') %]
<p>
If you already have an account and want to change your
- [% IF Param('emailsuffix') == '' %]
- email address,
- [% ELSE %]
- login name,
+ [% IF Param('allowemailchange') %]
+ email address or
[% END %]
- you can change it from the Preferences page after logging in.
+ login name, you can change it from the Preferences page after logging in.
</p>
-[% END %]
<p>
A user account is required to report new [% terms.bugs %] or to comment into
existing ones, as you may be contacted for more information if needed.
This also lets other users clearly identify who is the author of comments
or changes made into [% terms.bugs %]. <b>Note that your email address will
- <em>never</em> be displayed to logged out users. Only registered users will be
- able to see it.</b>
+ <em>never</em> be displayed to
+ [% IF Param('use_email_as_login') %]
+ logged out users. Only registered users will be able to see it.</b>
+ [% ELSE %]
+ other users, unless you decide to use your email address as login. Only
+ your login is visible to other users.</b>
+ [% END %]
</p>
-[% IF Param('createemailregexp') == '.*' && Param('emailsuffix') == '' %]
+[% IF Param('createemailregexp') == '.*' %]
<p>
<b>PRIVACY NOTICE:</b> [% terms.Bugzilla %] is an open [% terms.bug %]
- tracking system. Activity on most [% terms.bugs %], including email
- addresses, will be visible to registered users. We <b>recommend</b> using a
- secondary account or free web email service (such as Gmail, Yahoo,
- Hotmail, or similar) to avoid receiving spam at your primary email address.
+ tracking system. Activity on most [% terms.bugs %] will be visible to
+ registered users.
+ [% IF Param('use_email_as_login') %]
+ That includes email addresses. We <b>recommend</b> using a
+ secondary account or free web email service (such as Gmail, Yahoo,
+ Hotmail, or similar) to avoid receiving spam at your primary email address.
+ [% END %]
</p>
[% END %]
-<form id="account_creation_form" method="get" action="createaccount.cgi">
- <span class="label">
- [% IF Param('emailsuffix') %]
- Login:
- [% ELSE %]
- Email address:
- [% END %]
- </span>
- <input size="35" id="login" name="login" autofocus
- [%- ' type="email"' UNLESS Param('emailsuffix') %] required>
- [% Param('emailsuffix') FILTER html %]
- <input type="hidden" id="token" name="token" value="[% issue_hash_token(['create_account']) FILTER html %]">
- <input type="submit" id="send" value="Send">
+<form id="account_creation_form" action="createaccount.cgi" class="table_layout">
+ [% IF !Param('use_email_as_login') %]
+ <div>
+ <label for="login">Login</label>
+ <div class="flex">
+ <input size="35" id="login" name="login" autofocus required>
+ <span class="bz_info">
+ (no whitespaces and no @ character, unless it matches your email address)
+ </span>
+ </div>
+ </div>
+ [% END %]
+
+ <div>
+ <label for="email">Email Address</label>
+ <input size="35" id="email" name="email" type="email"
+ [%~ " autofocus" IF Param('use_email_as_login') %] required>
+ </div>
+
+ <div>
+ <label>&nbsp;</label>
+ <input type="hidden" id="token" name="token"
+ value="[% issue_hash_token(['create_account']) FILTER html %]">
+ <input type="submit" id="send" value="Send">
+ </div>
</form>
[% PROCESS global/footer.html.tmpl %]
diff --git a/template/en/default/account/created.html.tmpl b/template/en/default/account/created.html.tmpl
index f35deca83..f87571936 100644
--- a/template/en/default/account/created.html.tmpl
+++ b/template/en/default/account/created.html.tmpl
@@ -7,7 +7,8 @@
#%]
[%# INTERFACE:
- # login: string. The user's Bugzilla login email address.
+ # login: string. The user's Bugzilla login.
+ # email: string. The user's Bugzilla email address.
#%]
[% title = BLOCK %]
@@ -17,9 +18,9 @@
[% PROCESS global/header.html.tmpl title = title %]
<p>
- A confirmation email has been sent containing a link to continue
- creating an account. The link will expire if an account is not
- created within [% constants.MAX_TOKEN_AGE FILTER html %] days.
+ A confirmation email has been sent to <em>[% email FILTER html %]</em> containing
+ a link to continue creating an account. The link will expire if an account is
+ not created within [% constants.MAX_TOKEN_AGE FILTER html %] days.
</p>
[% PROCESS global/footer.html.tmpl %]
diff --git a/template/en/default/account/email/confirm-new.html.tmpl b/template/en/default/account/email/confirm-new.html.tmpl
index 3b9866004..87a1c6440 100644
--- a/template/en/default/account/email/confirm-new.html.tmpl
+++ b/template/en/default/account/email/confirm-new.html.tmpl
@@ -9,26 +9,40 @@
[%# INTERFACE:
# token: string. The token to be used in the user account creation.
# email: email address of the user account.
+ # login: login of the user account.
# expiration_ts: expiration date of the token.
#%]
-[% title = BLOCK %]Create a new user account for '[% email FILTER html %]'[% END %]
-[% PROCESS "global/header.html.tmpl"
- title = title
-%]
+[% title = BLOCK %]Create a new user account for '[% login FILTER html %]'[% END %]
+[% PROCESS "global/header.html.tmpl" title = title %]
[% password_complexity = Param('password_complexity') %]
<p>
To create your account, you must enter a password in the form below.
- Your email address and Real Name (if provided) will be shown with
- changes you make.
+ Your real name is optional, but recommended.
</p>
<form id="confirm_account_form" method="post" action="token.cgi">
<input type="hidden" name="t" value="[% token FILTER html %]">
<input type="hidden" name="a" value="confirm_new_account">
<table>
+ [% IF !Param('use_email_as_login') %]
+ <tr>
+ <th>Login:</th>
+ <td>
+ [% IF login_already_in_use %]
+ <input id="login" name="login" required value="[% login FILTER html %]">
+ <span class="warning">
+ The login '[% login FILTER html %]' has been taken by another
+ user since you requested your account. Please choose another login.
+ </span>
+ [% ELSE %]
+ [% login FILTER html %]
+ [% END %]
+ </td>
+ </tr>
+ [% END %]
<tr>
<th>Email Address:</th>
<td>[% email FILTER html %]</td>
diff --git a/template/en/default/account/email/request-new.txt.tmpl b/template/en/default/account/email/request-new.txt.tmpl
index 8ca0ff122..b56bf4f79 100644
--- a/template/en/default/account/email/request-new.txt.tmpl
+++ b/template/en/default/account/email/request-new.txt.tmpl
@@ -10,6 +10,7 @@
# token: random string used to authenticate the transaction.
# expiration_ts: expiration date of the token.
# email: email address of the new account.
+ # login: login name of the new account.
#%]
From: [% Param('mailfrom') %]
@@ -18,7 +19,7 @@ Subject: [% terms.Bugzilla %]: confirm account creation
X-Bugzilla-Type: admin
[%+ terms.Bugzilla %] has received a request to create a user account
-using your email address ([% email %]).
+[%+ "($login)" IF !Param('use_email_as_login') %] using your email address ([% email %]).
To continue creating an account using this email address, visit the
following link by [% expiration_ts FILTER time("%B %e, %Y at %H:%M %Z") %]:
@@ -31,11 +32,14 @@ again by going to:
[%+ urlbase %]createaccount.cgi
-[% IF Param('createemailregexp') == '.*' && Param('emailsuffix') == '' %]
-PRIVACY NOTICE: [% terms.Bugzilla %] is an open [% terms.bug %] tracking system. Activity on most
-[%+ terms.bugs %], including email addresses, will be visible to the public. We recommend
-using a secondary account or free web email service (such as Gmail, Yahoo,
-Hotmail, or similar) to avoid receiving spam at your primary email address.
+[% IF Param('createemailregexp') == '.*' %]
+PRIVACY NOTICE: [% terms.Bugzilla %] is an open [% terms.bug %] tracking
+system. Activity on most [%+ terms.bugs %] will be visible to the public.
+[% IF Param('use_email_as_login') %]
+This includes email addresses. We recommend using a secondary account or free
+web email service (such as Gmail, Yahoo, Hotmail, or similar) to avoid
+receiving spam at your primary email address.
+[% END %]
[% END %]
If you do not wish to create an account, or if this request was made in
diff --git a/template/en/default/account/prefs/account.html.tmpl b/template/en/default/account/prefs/account.html.tmpl
index ddfc79aaf..81eb61f60 100644
--- a/template/en/default/account/prefs/account.html.tmpl
+++ b/template/en/default/account/prefs/account.html.tmpl
@@ -7,17 +7,17 @@
#%]
[%# INTERFACE:
- # realname: string. The user's real name, if any.
- # login_change_date: string. The date the email change will be complete. (optional)
- # new_login_name: string. The user's new Bugzilla login whilst not confirmed. (optional)
+ # email_change_date: string. The date the email change will be complete. (optional)
+ # new_email: string. The user's new email address whilst not confirmed. (optional)
#%]
<table>
[% IF user.authorizer.can_change_password
- || (user.authorizer.can_change_email && Param('allowemailchange')) %]
+ || (user.authorizer.can_change_email && Param('allowemailchange'))
+ || user.authorizer.can_change_login %]
<tr>
- <td colspan="3">
- Please enter your existing password to confirm account changes.
+ <td colspan="2">
+ Please enter your current password to confirm any changes in this section.
</td>
</tr>
<tr>
@@ -27,9 +27,6 @@
<input type="password" name="old_password" id="old_password">
</td>
</tr>
- <tr>
- <td colspan="2"><hr></td>
- </tr>
[% END %]
[% IF user.authorizer.can_change_password %]
@@ -37,6 +34,9 @@
<th><label for="new_password1">New password:</label></th>
<td>
<input type="password" name="new_password1" id="new_password1">
+ <span class="bz_info">
+ (Leave empty to keep current password)
+ </span>
</td>
</tr>
@@ -48,55 +48,75 @@
</tr>
[% END %]
- <tr>
- <th>
- <label for="realname">Your real name (optional, but encouraged):</label>
- </th>
- <td>
- <input size="35" name="realname" id="realname" value="[% realname FILTER html %]">
- </td>
- </tr>
+ [% UNLESS Param('use_email_as_login') %]
+ <tr>
+ <th><label for="new_login">Your login name:</label></th>
+ <td>
+ [% IF user.authorizer.can_change_login %]
+ <input size="35" name="new_login" id="new_login"
+ value="[% user.login FILTER html %]">
+ [% ELSE %]
+ [% user.login FILTER html %]
+ [% END %]
+ </td>
+ </tr>
+ [% END %]
- [% IF user.authorizer.can_change_email && Param('allowemailchange') %]
- [% IF login_change_date %]
- [% IF new_login_name %]
- <tr>
- <th>Pending email address:</th>
- <td>[% new_login_name FILTER html %]</td>
- </tr>
- <tr>
- <th>Change request expires:</th>
- <td>[% login_change_date FILTER time %]</td>
- </tr>
- [% ELSE %]
- <tr>
- <th>Confirmed email address:</th>
- <td>[% user.login FILTER html %]</td>
- </tr>
- <tr>
- <th>Completion date:</th>
- <td>[% login_change_date FILTER time %]</td>
- </tr>
- [% END %]
+ [% IF user.authorizer.can_change_email
+ && Param('allowemailchange')
+ && email_change_date %]
+ [% IF new_email %]
+ <tr>
+ <th><label>Pending email address:</label></th>
+ <td>[% new_email FILTER html %]</td>
+ </tr>
+ <tr>
+ <th><label>Change request expires:</label></th>
+ <td>[% email_change_date FILTER time %]</td>
+ </tr>
[% ELSE %]
<tr>
- <th>
- <label for="new_login_name">
- [% IF Param('emailsuffix') %]
- New login:
- [% ELSE %]
- New email address:
- [% END %]
- </label>
- </th>
- <td>
- <input size="35" id="new_login_name" name="new_login_name"
- [%- ' type="email"' UNLESS Param('emailsuffix') %]>
- </td>
+ <th><label>Confirmed email address:</label></th>
+ <td>[% user.email FILTER html %]</td>
+ </tr>
+ <tr>
+ <th><label>Completion date:</label></th>
+ <td>[% email_change_date FILTER time %]</td>
</tr>
[% END %]
+ [% ELSE %]
+ <tr>
+ <th>
+ <label for="new_email">
+ Your email address[% "/login" IF Param('use_email_as_login') %]:
+ </label>
+ </th>
+ <td>
+ [% IF user.authorizer.can_change_email && Param('allowemailchange') %]
+ <input size="35" name="new_email" id="new_email"
+ value="[% user.email FILTER html %]"
+ [%~ ' type="email"' IF Param('use_email_as_login') %]>
+ [% ELSE %]
+ [% user.email FILTER html %]
+ [% END %]
+ </td>
+ </tr>
[% END %]
+ <tr>
+ <td colspan="2"><hr></td>
+ </tr>
+
+ <tr>
+ <th>
+ <label for="realname">Your real name (optional, but encouraged):</label>
+ </th>
+ <td>
+ <input size="35" name="realname" id="realname"
+ value="[% user.name FILTER html %]">
+ </td>
+ </tr>
+
[% Hook.process('field') %]
</table>
diff --git a/template/en/default/account/request-new-password.html.tmpl b/template/en/default/account/request-new-password.html.tmpl
index a94b3a114..73caa6dcb 100644
--- a/template/en/default/account/request-new-password.html.tmpl
+++ b/template/en/default/account/request-new-password.html.tmpl
@@ -10,20 +10,14 @@
[% IF user.authorizer.can_change_password %]
<p>
- If you have an account, but have forgotten your password, enter your
- [% IF Param('emailsuffix') %]
- login name
- [% ELSE %]
- email address
- [% END %]
- below and submit a request to change your password. An email with details
- on how to reset your password will be sent.
+ If you have an account, but have forgotten your password, enter your email
+ address below and submit a request to change your password. An email with
+ details on how to reset your password will be sent.
</p>
<form id="forgot_password" method="get" action="token.cgi">
<input type="hidden" name="a" value="reqpw">
- <input id="loginname" [% IF !Param('emailsuffix') %]type="email"[% END %]
- name="loginname" autofocus required>
+ <input id="email" type="email" name="email" autofocus required>
<input type="hidden" id="token" name="token"
value="[% issue_hash_token(['reqpw']) FILTER html %]">
<input type="submit" id="request" value="Reset Password">
diff --git a/template/en/default/admin/flag-type/edit.html.tmpl b/template/en/default/admin/flag-type/edit.html.tmpl
index 7505ebd8c..1fccea4a5 100644
--- a/template/en/default/admin/flag-type/edit.html.tmpl
+++ b/template/en/default/admin/flag-type/edit.html.tmpl
@@ -161,11 +161,7 @@
if requestable, who should get carbon copied on email notification of requests.
This is a comma-separated list of full e-mail addresses which do not
need to be [% terms.Bugzilla %] logins.
- [% IF Param('emailsuffix') %]
- Note that the configured emailsuffix
- <kbd>[% Param('emailsuffix') %]</kbd> will <em>not</em> be appended
- to these addresses, so you should add it explicitly if so desired.
- [% END %]<br>
+ <br>
<input type="text" name="cc_list" value="[% type.cc_list FILTER html %]" size="80"
maxlength="200" [%- ' disabled="disabled"' UNLESS can_fully_edit %]>
</td>
diff --git a/template/en/default/admin/groups/confirm-remove.html.tmpl b/template/en/default/admin/groups/confirm-remove.html.tmpl
index 3249ee384..ef3e44a91 100644
--- a/template/en/default/admin/groups/confirm-remove.html.tmpl
+++ b/template/en/default/admin/groups/confirm-remove.html.tmpl
@@ -12,7 +12,7 @@
#%]
[% IF regexp %]
- [% title = "Confirm: Remove Explicit Members in the Regular Expression?" %]
+ [% title = "Confirm: Remove Explicit Members Using A Regular Expression?" %]
[% ELSE %]
[% title = "Confirm: Remove All Explicit Members?" %]
[% END %]
@@ -24,10 +24,10 @@
[% IF regexp %]
<p>This option will remove all users from '[% group.name FILTER html %]'
- whose login names match the regular expression:
+ whose email addresses match the regular expression:
'[% regexp FILTER html %]'</p>
[% ELSE %]
- <p>This option will remove all explicitly defined users
+ <p>This option will remove all explicitly-added users
from '[% group.name FILTER html %].'</p>
[% END %]
diff --git a/template/en/default/admin/groups/edit.html.tmpl b/template/en/default/admin/groups/edit.html.tmpl
index 3e64fa7c4..5a20ef36e 100644
--- a/template/en/default/admin/groups/edit.html.tmpl
+++ b/template/en/default/admin/groups/edit.html.tmpl
@@ -165,7 +165,7 @@
<form method="post" action="editgroups.cgi">
<fieldset id="mass-remove">
- <legend>Remove all explicit memberships from users whose login names
+ <legend>Remove all explicit memberships from users whose email addresses
match the following regular expression:</legend>
<input type="text" size="20" name="regexp">
<input type="submit" id="remove-membership" value="Remove Memberships">
diff --git a/template/en/default/admin/params/auth.html.tmpl b/template/en/default/admin/params/auth.html.tmpl
index 06f85ed26..79fa8123b 100644
--- a/template/en/default/admin/params/auth.html.tmpl
+++ b/template/en/default/admin/params/auth.html.tmpl
@@ -93,29 +93,16 @@
"front page will require a login. No anonymous users will " _
"be permitted.",
- webservice_email_filter =>
- "Filter email addresses returned by the WebService API depending on " _
- "if the user is logged in or not. This works similarly to how the " _
- "web UI currently filters email addresses. If <var>requirelogin</var> " _
- "is enabled, then this parameter has no effect as users must be logged " _
- "in to use Bugzilla.",
-
emailregexp =>
"This defines the regular expression to use for legal email addresses. " _
"The default tries to match fully qualified email addresses. " _
"Use <kbd>.*</kbd> to accept any email address following the " _
"<a href=\"http://tools.ietf.org/html/rfc2822#section-3.4.1\">RFC 2822</a> " _
- "specification. Another popular value to put here is <kbd>^[^@]+$</kbd>, " _
- "which means 'local usernames, no @ allowed.'",
+ "specification.",
emailregexpdesc => "This description explains valid addresses that " _
"are allowed by the <var>emailregexp</var> param.",
- emailsuffix => "This is a string to append to any email addresses when actually " _
- "sending mail to that address. It is useful if you have changed " _
- "the <var>emailregexp</var> param to only allow local usernames, " _
- "but you want the mail to be delivered to username@my.local.hostname.",
-
createemailregexp => "This defines the (case-insensitive) regexp to use for email addresses that are " _
"permitted to self-register using a 'New Account' feature. The " _
"default (.*) permits any account matching the emailregexp " _
@@ -123,6 +110,13 @@
"will be permitted to create their own accounts and all accounts " _
"will have to be created by an administrator.",
+ use_email_as_login => "If switched on, users will log in with the email " _
+ "address of the account. If switched off, they will " _
+ "log in with a separate identifier.<br>" _
+ "<strong>Switching this from off to on results in " _
+ "the destructive act of the login name for all users " _
+ "being set to their email address!</strong>",
+
password_complexity =>
"Set the complexity required for passwords. In all cases must the passwords " _
"be at least ${constants.USER_PASSWORD_MIN_LENGTH} characters long." _
diff --git a/template/en/default/admin/params/ldap.html.tmpl b/template/en/default/admin/params/ldap.html.tmpl
index ab3521f27..d31aad825 100644
--- a/template/en/default/admin/params/ldap.html.tmpl
+++ b/template/en/default/admin/params/ldap.html.tmpl
@@ -35,10 +35,7 @@
LDAPmailattribute => "The name of the attribute of a user in your " _
"directory that contains the email address, to be " _
- "used as Bugzilla username. If this parameter " _
- "is empty, Bugzilla will use the LDAP username"_
- " as the Bugzilla username. You may also want" _
- " to set the \"emailsuffix\" parameter, in this case.",
+ "used to send the user email.",
LDAPfilter => "LDAP filter to AND with the <var>LDAPuidattribute</var> for " _
"filtering the list of valid users." }
diff --git a/template/en/default/admin/users/confirm-delete.html.tmpl b/template/en/default/admin/users/confirm-delete.html.tmpl
index 4dab8b471..07b6ccb25 100644
--- a/template/en/default/admin/users/confirm-delete.html.tmpl
+++ b/template/en/default/admin/users/confirm-delete.html.tmpl
@@ -51,9 +51,15 @@
<th>Field</th>
<th>Value</th>
</tr>
+ [% IF !Param('use_email_as_login') %]
+ <tr>
+ <th>Login:</th>
+ <td>[% otheruser.login FILTER html %]</td>
+ </tr>
+ [% END %]
<tr>
- <th>Login name:</th>
- <td>[% otheruser.login FILTER html %]</td>
+ <th>Email address:</th>
+ <td>[% otheruser.email FILTER html %]</td>
</tr>
<tr>
<th>Real name:</th>
diff --git a/template/en/default/admin/users/list.html.tmpl b/template/en/default/admin/users/list.html.tmpl
index f90996882..168e6dd90 100644
--- a/template/en/default/admin/users/list.html.tmpl
+++ b/template/en/default/admin/users/list.html.tmpl
@@ -27,35 +27,44 @@
[% listselectionurlparams = INCLUDE listselectionurlparams %]
[% columns =
- [{name => 'login_name'
- heading => 'Edit user...'
- contentlink => 'editusers.cgi?action=edit&amp;userid=%%userid%%' _
- listselectionurlparams
- }
- {name => 'realname'
- heading => 'Real name'
- }
- {name => 'last_seen_date'
- heading => 'Last Login'
- }
- {heading => 'Account History'
- content => 'View'
- contentlink => 'editusers.cgi?action=activity' _
- '&amp;userid=%%userid%%' _
- listselectionurlparams
+ [{name => 'login_name'
+ heading => 'Edit user...'
+ contentlink => 'editusers.cgi?action=edit&amp;userid=%%userid%%' _
+ listselectionurlparams
+ },
+ {name => 'email'
+ heading => 'Email address'
+ },
+ {name => 'realname'
+ heading => 'Real name'
+ },
+ {name => 'last_seen_date'
+ heading => 'Last Login'
+ },
+ {name => 'view_history_link',
+ heading => 'Account History'
+ content => 'View'
+ contentlink => 'editusers.cgi?action=activity' _
+ '&amp;userid=%%userid%%' _
+ listselectionurlparams
+ },
+ {name => 'action_link',
+ heading => 'Action'
+ content => 'Delete'
+ contentlink => 'editusers.cgi?action=del' _
+ '&amp;userid=%%userid%%' _
+ listselectionurlparams
}
]
-%]
+ %]
+
+[%# Eliminate inappropriate columns, starting at the end %]
+[% IF NOT (Param('allowuserdeletion') && editusers) %]
+ [% CALL columns.splice(5, 1) %]
+[% END %]
-[% IF Param('allowuserdeletion') && editusers %]
- [% columns.push({heading => 'Action'
- content => 'Delete'
- contentlink => 'editusers.cgi?action=del' _
- '&amp;userid=%%userid%%' _
- listselectionurlparams
- }
- )
- %]
+[% IF Param('use_email_as_login') %]
+ [% CALL columns.splice(1, 1) %]
[% END %]
[%# Disabled users are crossed out. Missing realnames are noticed in red. %]
diff --git a/template/en/default/admin/users/search.html.tmpl b/template/en/default/admin/users/search.html.tmpl
index 17477a012..f71589480 100644
--- a/template/en/default/admin/users/search.html.tmpl
+++ b/template/en/default/admin/users/search.html.tmpl
@@ -30,6 +30,7 @@
<p><label for="matchvalue">List users with</label>
<select id="matchvalue" name="matchvalue">
<option value="login_name">login name</option>
+ <option value="email">email address</option>
<option value="realname">real name</option>
<option value="userid">user id</option>
</select>
diff --git a/template/en/default/admin/users/userdata.html.tmpl b/template/en/default/admin/users/userdata.html.tmpl
index c08cd0018..8f925e69a 100644
--- a/template/en/default/admin/users/userdata.html.tmpl
+++ b/template/en/default/admin/users/userdata.html.tmpl
@@ -17,13 +17,31 @@
var disable_mail_manually_set = [% (otheruser.email_disabled ? 1 : 0) FILTER js %];
</script>
+[% IF NOT Param('use_email_as_login') %]
+ <tr>
+ <th><label for="login">Login:</label></th>
+ <td>
+ [% IF editusers %]
+ <input size="64" maxlength="255" id="login" name="login"
+ value="[% otheruser.login FILTER html %]"
+ [%- " autofocus" UNLESS editform %] required>
+ [% ELSE %]
+ [% otheruser.login FILTER html %]
+ [% END %]
+ </td>
+ </tr>
+[% END %]
<tr>
- <th><label for="login">Login name:</label></th>
+ <th>
+ <label for="email">
+ Email address [% ' (login)' IF Param('use_email_as_login') %]:
+ </label>
+ </th>
<td>
[% IF editusers %]
- <input size="64" maxlength="255" id="login" name="login"
- value="[% otheruser.login FILTER html %]"
- [%- " autofocus" UNLESS editform %] required>
+ <input size="64" maxlength="255" id="email" name="email"
+ value="[% otheruser.email FILTER html %]"
+ [%- " autofocus" IF Param('use_email_as_login') AND NOT editform %] required>
[% IF editform %]
[% IF !otheruser.in_group('bz_sudo_protect') %]
<br>
@@ -32,7 +50,7 @@
[% END %]
[% END %]
[% ELSE %]
- [% otheruser.login FILTER html %]
+ [% otheruser.email FILTER html %]
[% END %]
</td>
</tr>
diff --git a/template/en/default/bug/edit.html.tmpl b/template/en/default/bug/edit.html.tmpl
index 7f2b741f6..d10053702 100644
--- a/template/en/default/bug/edit.html.tmpl
+++ b/template/en/default/bug/edit.html.tmpl
@@ -765,7 +765,7 @@
users
[% END %]
[% IF user.id %]
- [% IF bug.cc.contains( user.email ) %]
+ [% IF bug.cc.contains( user.login ) %]
including you
[% END %]
[% END %]
diff --git a/template/en/default/bug/show.xml.tmpl b/template/en/default/bug/show.xml.tmpl
index 2b2d32d5a..fe5f4f6f4 100644
--- a/template/en/default/bug/show.xml.tmpl
+++ b/template/en/default/bug/show.xml.tmpl
@@ -18,7 +18,7 @@
%]
maintainer="[% Param('maintainer') FILTER xml %]"
[% IF user.id %]
- exporter="[% user.email FILTER email FILTER xml %]"
+ exporter="[% user.login FILTER email FILTER xml %]"
[% END %]
>
@@ -76,7 +76,7 @@
<type>[% a.contenttype FILTER xml %]</type>
<size>[% a.datasize FILTER xml %]</size>
<attacher[% IF a.attacher.name != '' %] name="[% a.attacher.name FILTER xml %]"[% END -%]>
- [% a.attacher.email FILTER email FILTER xml %]</attacher>
+ [% a.attacher.login FILTER email FILTER xml %]</attacher>
[%# This is here so automated clients can still use attachment.cgi %]
[% IF displayfields.token && user.id %]
<token>[% issue_hash_token([a.id, a.modification_time]) FILTER xml %]</token>
@@ -113,7 +113,7 @@
[% IF field == 'reporter' OR field == 'assigned_to' OR
field == 'qa_contact' %]
[% name = val.name %]
- [% val = val.email FILTER email %]
+ [% val = val.login FILTER email %]
[% ELSIF field == 'cc' %]
[% val = val FILTER email %]
[% ELSIF field == 'creation_ts' OR field == 'delta_ts' %]
@@ -134,9 +134,9 @@
id="[% flag.id FILTER xml %]"
type_id="[% flag.type_id FILTER xml %]"
status="[% flag.status FILTER xml %]"
- setter="[% flag.setter.email FILTER email FILTER xml %]"
+ setter="[% flag.setter.login FILTER email FILTER xml %]"
[% IF flag.status == "?" && flag.requestee %]
- requestee="[% flag.requestee.email FILTER email FILTER xml %]"
+ requestee="[% flag.requestee.login FILTER email FILTER xml %]"
[% END %]
/>
[% END %]
@@ -150,7 +150,7 @@
[% IF c.is_about_attachment %]
<attachid>[% c.extra_data FILTER xml %]</attachid>
[% END %]
- <who name="[% c.author.name FILTER xml %]">[% c.author.email FILTER email FILTER xml %]</who>
+ <who name="[% c.author.name FILTER xml %]">[% c.author.login FILTER email FILTER xml %]</who>
<bug_when>[% c.creation_ts FILTER time("%Y-%m-%d %T %z") FILTER xml %]</bug_when>
[% IF user.is_timetracker && (c.work_time - 0 != 0) %]
<work_time>[% PROCESS formattimeunit time_unit = c.work_time FILTER xml %]</work_time>
diff --git a/template/en/default/email/whine.txt.tmpl b/template/en/default/email/whine.txt.tmpl
index 106a94a5e..5844c92f3 100644
--- a/template/en/default/email/whine.txt.tmpl
+++ b/template/en/default/email/whine.txt.tmpl
@@ -7,7 +7,7 @@
#%]
From: [% Param("mailfrom") %]
-To: [% email %][% Param("emailsuffix") %]
+To: [% email %]
Subject: Your [% terms.Bugzilla %] [%+ terms.bug %] list needs attention.
X-Bugzilla-Type: whine
diff --git a/template/en/default/global/messages.html.tmpl b/template/en/default/global/messages.html.tmpl
index 77b13859c..9f6464601 100644
--- a/template/en/default/global/messages.html.tmpl
+++ b/template/en/default/global/messages.html.tmpl
@@ -22,7 +22,7 @@
[% ELSIF message_tag == "account_creation_canceled" %]
[% title = "User Account Creation Canceled" %]
- The creation of the user account [% account FILTER html %] has been
+ The creation of the user account '[% login FILTER html %]' has been
canceled.
[% ELSIF message_tag == "account_updated" %]
@@ -35,6 +35,8 @@
<li>
[% IF field == 'login_name' %]
The login is now [% otheruser.login FILTER html %].
+ [% ELSIF field == 'email' %]
+ The email is now [% otheruser.email FILTER html %].
[% ELSIF field == 'realname' %]
The real name has been updated.
[% ELSIF field == 'cryptpassword' %]
@@ -89,8 +91,8 @@
successfully.
[% ELSIF message_tag == "account_disabled" %]
- Logging in with this user account [% account FILTER html %] is disabled, so
- you cannot change its password.
+ Logging in with the user account with email address [% email FILTER html %]
+ is disabled, so you cannot change its password.
[% ELSIF message_tag == "attachment_creation_failed" %]
The [% terms.bug %] was created successfully, but attachment creation
@@ -496,7 +498,7 @@
[%+ terms.Bugzilla %]...
[% ELSIF message_tag == "migrate_user_created" %]
- User created: [% created.email FILTER html %]
+ User created: [% created.login FILTER html %]
[% IF password %] Password: [% password FILTER html %][% END %]
[% ELSIF message_tag == "migrate_value_created" %]
@@ -506,6 +508,10 @@
[%+ field_descs.${field.name} FILTER html %] value
created: [% value FILTER html %]
+ [% ELSIF message_tag == "email_changed" %]
+ [% title = "Email Changed" %]
+ Your email address has been updated.
+
[% ELSIF message_tag == "milestone_created" %]
[% title = "Milestone Created" %]
The milestone <em>[% milestone.name FILTER html %]</em> has been created.
@@ -561,7 +567,7 @@
[% ELSIF message_tag == "password_change_request" %]
[% title = "Request to Change Password" %]
A token for changing your password has been emailed to
- <em>[% login_name FILTER html %]</em>.
+ <em>[% email FILTER html %]</em>.
Follow the instructions in that email to change your password.
[% ELSIF message_tag == "password_changed" %]
@@ -639,6 +645,9 @@
[% title = BLOCK %]Flag Type '[% flag_type.name FILTER html %]' Deactivated[% END %]
The flag type <em>[% flag_type.name FILTER html %]</em> has been deactivated.
+ [% ELSIF message_tag == "install_admin_get_login" %]
+ Enter the login name the administrator will log in with:
+
[% ELSIF message_tag == "install_admin_get_email" %]
Enter the e-mail address of the administrator:
diff --git a/template/en/default/global/user-error.html.tmpl b/template/en/default/global/user-error.html.tmpl
index bd8c54f2d..bdb90a2a2 100644
--- a/template/en/default/global/user-error.html.tmpl
+++ b/template/en/default/global/user-error.html.tmpl
@@ -55,10 +55,12 @@
[% ELSIF error == "account_exists" %]
[% title = "Account Already Exists" %]
There is already an account with
- [% IF email %]
- the login name [% email FILTER html %].
+ [% IF login %]
+ the login name [% login FILTER html %].
+ [% ELSIF email %]
+ the email address [% email FILTER html %].
[% ELSE %]
- that login name.
+ that login name or email address.
[% END %]
[% ELSIF error == "account_locked" %]
@@ -523,9 +525,18 @@
[% title = "Email Change Already In Progress" %]
Email change already in progress; please check your email.
+ [% ELSIF error == "email_needed_for_password_change" %]
+ [% title = "Email Address Required" %]
+ You must enter an email address when requesting to change your password.
+
[% ELSIF error == "email_no_body" %]
Your message did not contain any text, as far as we could tell.
+ [% ELSIF error == "email_required" %]
+ [% title = "Email Address Required" %]
+ [% admindocslinks = {'useradmin.html' => 'User administration'} %]
+ You must enter an email address for the new user.
+
[% ELSIF error == "empty_group_description" %]
[% title = "The group description cannot be empty" %]
You must enter a description for the group.
@@ -969,10 +980,10 @@
[% IF format %]
Please use the format '<code>[% format FILTER html %]</code>'.
[% END %]
-
+
[% ELSIF error == "illegal_email_address" %]
[% title = "Invalid Email Address" %]
- The e-mail address you entered (<b>[% addr FILTER html %]</b>)
+ The e-mail address you entered (<b>[% email FILTER html %]</b>)
didn't pass our syntax checking for a legal email address.
[% IF default %]
A legal address must contain exactly one '@',
@@ -1076,6 +1087,12 @@
[% title = "Invalid Dimensions" %]
The width or height specified is not a positive integer.
+ [% ELSIF error == "invalid_email" %]
+ [% title = "Invalid Email Address" %]
+ The address <tt>[% email FILTER html %]</tt> is not a valid email address.
+ Either you misspelled it, or the person has not
+ registered for a [% terms.Bugzilla %] account.
+
[% ELSIF error == "invalid_format" %]
[% title = "Invalid Format" %]
The format "[% format FILTER html %]" is invalid (must be one of
@@ -1208,18 +1225,28 @@
[% ELSIF error == "keyword_blank_description" %]
[% title = "Blank Keyword Description Not Allowed" %]
You must enter a non-blank description for the keyword.
-
+
[% ELSIF error == "keyword_blank_name" %]
[% title = "Blank Keyword Name Not Allowed" %]
You must enter a non-blank name for the keyword.
-
+
[% ELSIF error == "keyword_invalid_name" %]
[% title = "Invalid Keyword Name" %]
You may not use commas or whitespace in a keyword name.
-
- [% ELSIF error == "login_needed_for_password_change" %]
- [% title = "Login Name Required" %]
- You must enter a login name when requesting to change your password.
+
+ [% ELSIF error == "login_at_sign_disallowed" %]
+ [% title = "Illegal Character in Login" %]
+ Login names may not contain the "@" sign unless you are setting your
+ login name to be identical to your email address.
+
+ [% ELSIF error == "login_change_during_email_change" %]
+ [% title = "Login Change Not Permitted" %]
+ You may not change your login name while you are in the middle of the
+ process of changing your email address.
+
+ [% ELSIF error == "login_illegal_character" %]
+ [% title = "Illegal Character In Login" %]
+ Login names are not allowed to contain space characters.
[% ELSIF error == "login_required_for_pronoun" %]
[% title = "Login Name Required" %]
@@ -1230,6 +1257,10 @@
[%# Used for non-web-based LOGIN_REQUIRED situations. %]
You must log in before using this part of [% terms.Bugzilla %].
+ [% ELSIF error == "login_too_long" %]
+ [% title = "Login Too Long" %]
+ Your login name is too long. It cannot exceed 127 characters.
+
[% ELSIF error == "markdown_disabled" %]
Markdown feature is not enabled.
@@ -1495,8 +1526,8 @@
You did not enter your current password correctly.
[% ELSIF error == "current_password_required" %]
- [% title = "Old Password Required" %]
- You must enter your old password to change your email address.
+ [% title = "Current Password Required" %]
+ You must enter your current password to edit your account.
[% ELSIF error == "password_change_requests_not_allowed" %]
[% title = "Password Change Requests Not Allowed" %]
@@ -1511,7 +1542,7 @@
The password must be at least
[%+ constants.USER_PASSWORD_MIN_LENGTH FILTER html %] characters long.
[% IF locked_user %]
- You must <a href="token.cgi?a=reqpw&amp;loginname=[% locked_user.email FILTER uri %]&amp;token=[% issue_hash_token(['reqpw']) FILTER uri %]">
+ You must <a href="token.cgi?a=reqpw&amp;email=[% locked_user.email FILTER uri %]&amp;token=[% issue_hash_token(['reqpw']) FILTER uri %]">
request a new password</a> in order to log in again.
[% END %]
@@ -1532,7 +1563,7 @@
[% END %]
</ul>
[% IF locked_user %]
- You must <a href="token.cgi?a=reqpw&amp;loginname=[% locked_user.email FILTER uri %]&amp;token=[% issue_hash_token(['reqpw']) FILTER uri %]">
+ You must <a href="token.cgi?a=reqpw&amp;email=[% locked_user.email FILTER uri %]&amp;token=[% issue_hash_token(['reqpw']) FILTER uri %]">
request a new password</a> in order to log in again.
[% END %]
diff --git a/template/en/default/global/user.html.tmpl b/template/en/default/global/user.html.tmpl
index 7050c6d37..0ee303fe9 100644
--- a/template/en/default/global/user.html.tmpl
+++ b/template/en/default/global/user.html.tmpl
@@ -12,15 +12,19 @@
<span class="vcard">
[% FILTER collapse %]
- [% IF user.id %]
- <a class="email" href="mailto:[% who.email FILTER html %]"
- title="[% who.identity FILTER html %]">
- [%- END -%]
- [% IF who.name %]
- <span class="fn">[% who.name FILTER html %]</span>
+ [% IF Param("use_email_as_login") %]
+ [% IF user.id %]
+ <a class="email" href="mailto:[% who.email FILTER html %]"
+ title="[% who.identity FILTER html %]">
+ [%- END -%]
+ [% IF who.name %]
+ <span class="fn">[% who.name FILTER html %]</span>
+ [% ELSE %]
+ [% who.login FILTER email FILTER html %]
+ [% END %]
+ [% '</a>' IF user.id %]
[% ELSE %]
- [% who.login FILTER email FILTER html %]
+ [% who.identity FILTER html %]
[% END %]
- [% '</a>' IF user.id %]
[% END %]
</span>
diff --git a/template/en/default/reports/delete-series.html.tmpl b/template/en/default/reports/delete-series.html.tmpl
index d19178ce3..bb440c2b4 100644
--- a/template/en/default/reports/delete-series.html.tmpl
+++ b/template/en/default/reports/delete-series.html.tmpl
@@ -21,8 +21,7 @@
</p>
<p>
[% IF series.creator %]
- This series has been created by <a href="mailto:[% series.creator.email FILTER html %]">
- [% series.creator.email FILTER html %]</a>
+ This series has been created by [% series.creator.login FILTER html %]
[% ELSE %]
This series has been automatically created by Bugzilla
[% END %]
diff --git a/template/en/default/reports/edit-series.html.tmpl b/template/en/default/reports/edit-series.html.tmpl
index ad6bb32f4..8cf1616c0 100644
--- a/template/en/default/reports/edit-series.html.tmpl
+++ b/template/en/default/reports/edit-series.html.tmpl
@@ -33,8 +33,7 @@
<p>
<b>Creator</b>:
[% IF default.creator %]
- <a href="mailto:[% default.creator.email FILTER html %]">
- [% default.creator.email FILTER html %]</a>
+ [% default.creator.login FILTER html %]
[% ELSE %]
(automatically created by Bugzilla)
[% END %]