summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjustdave%syndicomm.com <>2002-04-01 13:49:04 +0200
committerjustdave%syndicomm.com <>2002-04-01 13:49:04 +0200
commitbaf564640e1af29fd6d1cc2e627ed81a430e2034 (patch)
tree6e64cb294600a409e0de2685659abb460561f4f0
parent3c7f202fc712ebc0918fd52503f466e1d8ee60be (diff)
downloadbugzilla-baf564640e1af29fd6d1cc2e627ed81a430e2034.tar.gz
bugzilla-baf564640e1af29fd6d1cc2e627ed81a430e2034.tar.xz
Fix for bug 23067: Allow the user to change their email address through the preferences. Sends out tokens in email to both
addresses which have to be confirmed by the new address, and can be cancelled by the old one. Entering your password on the preferences page is required to initiate the process. Patch by John Vandenberg <zeroJ@null.net> r= myk, justdave
-rw-r--r--template/default/prefs/account.tmpl46
-rw-r--r--template/default/prefs/userprefs.tmpl10
-rw-r--r--template/default/token/confirmemail.html.tmpl43
-rw-r--r--template/default/token/emailchangenew.txt.tmpl35
-rw-r--r--template/default/token/emailchangeold.txt.tmpl34
-rw-r--r--template/default/token/tokencancel.txt.tmpl38
6 files changed, 202 insertions, 4 deletions
diff --git a/template/default/prefs/account.tmpl b/template/default/prefs/account.tmpl
index 486aba082..e436d07a5 100644
--- a/template/default/prefs/account.tmpl
+++ b/template/default/prefs/account.tmpl
@@ -21,17 +21,27 @@
[%# INTERFACE:
# realname: string. The user's real name, if any.
# login: string. The user's Bugzilla login email address.
+ # 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)
#%]
<table>
<tr>
- <th align="right">Old password:</th>
+ <td colspan="3">
+ Please enter your existing password to confirm account changes.
+ </td>
+ </tr>
+ <tr>
+ <th align="right">Password:</th>
<td>
<input type="hidden" name="Bugzilla_login"
value="[% login FILTER html %]" />
- <input type="password" name="Bugzilla_password" />
+ <input type="password" name="Bugzilla_password" />
</td>
</tr>
+ <tr>
+ <td colspan="2"><hr></td>
+ </tr>
<tr>
<th align="right">New password:</th>
@@ -53,4 +63,36 @@
<input size="35" name="realname" value="[% realname FILTER html %]" />
</td>
</tr>
+
+ [% IF Param('allowemailchange') %]
+ [% IF login_change_date %]
+ [% IF new_login_name %]
+ <tr>
+ <th align="right">Pending email address:</th>
+ <td>[% new_login_name %]</td>
+ </tr>
+ <tr>
+ <th align="right">Change request expires:</th>
+ <td>[% login_change_date %]</td>
+ </tr>
+ [% ELSE %]
+ <tr>
+ <th align="right">Confirmed email address:</th>
+ <td>[% login FILTER html %]
+ </tr>
+ <tr>
+ <th align="right">Completion date:</th>
+ <td>[% login_change_date %]</td>
+ </tr>
+ [% END %]
+ [% ELSE %]
+ <tr>
+ <th align="right">New email address:</th>
+ <td>
+ <input size="35" name="new_login_name">
+ </td>
+ </tr>
+ [% END %]
+ [% END %]
+
</table>
diff --git a/template/default/prefs/userprefs.tmpl b/template/default/prefs/userprefs.tmpl
index 136dcda07..91bb4f027 100644
--- a/template/default/prefs/userprefs.tmpl
+++ b/template/default/prefs/userprefs.tmpl
@@ -29,8 +29,9 @@
# and its interface must be fulfilled.
# current_tab: A direct reference to one of the hashes in the tabs list.
# This tab will be displayed.
- # changes_saved: boolean. True if the CGI processed form data before
- # displaying anything.
+ # changes_saved: boolean/string. True if the CGI processed form data before
+ # displaying anything, and can contain an optional custom
+ # message if required (which Perl still evaluates as True).
#%]
[% INCLUDE global/header
@@ -75,6 +76,11 @@
[% current_tab.description FILTER lower %] have been saved.
</font>
</p>
+ [% IF changes_saved != 1 %]
+ <p>
+ [% changes_saved %]
+ </p>
+ [% END %]
[% END %]
<h3>[% current_tab.description %]</h3>
diff --git a/template/default/token/confirmemail.html.tmpl b/template/default/token/confirmemail.html.tmpl
new file mode 100644
index 000000000..848828e60
--- /dev/null
+++ b/template/default/token/confirmemail.html.tmpl
@@ -0,0 +1,43 @@
+[%# 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): John Vandenberg <zeroj@null.net>
+ #%]
+
+[% INCLUDE global/header %]
+
+
+<p>
+ To change your email address, please enter the old email address:
+</p>
+
+<form method="post" action="token.cgi">
+ <input type="hidden" name="t" value=[% token %]>
+ <input type="hidden" name="a" value="chgem">
+ <table>
+ <tr>
+ <th align="right">Old Email Address:</th>
+ <td><input type="input" name="email" size="36"></td>
+ </tr>
+ <tr>
+ <th align="right"> </th>
+ <td><input type="submit" value="Submit"></td>
+ </tr>
+ </table>
+</form>
+
+[% INCLUDE global/footer %]
diff --git a/template/default/token/emailchangenew.txt.tmpl b/template/default/token/emailchangenew.txt.tmpl
new file mode 100644
index 000000000..36bf02bf8
--- /dev/null
+++ b/template/default/token/emailchangenew.txt.tmpl
@@ -0,0 +1,35 @@
+[%# 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): John Vandenberg <zeroj@null.net>
+ #%]
+From: bugzilla-admin-daemon
+To: [% emailaddress %]
+Subject: Bugzilla Change Email Address Request
+
+Bugzilla has received a request to change the email address
+for the [% oldemailaddress %] account to your address.
+
+To confirm the change, visit the following link:
+
+[% Param('urlbase') %]token.cgi?a=cfmem&t=[% token %]
+
+If you are not the person who made this request, or you wish to cancel
+this request, visit the following link:
+
+[% Param('urlbase') %]token.cgi?a=cxlem&t=[% token %]
+
diff --git a/template/default/token/emailchangeold.txt.tmpl b/template/default/token/emailchangeold.txt.tmpl
new file mode 100644
index 000000000..ce7ccd08c
--- /dev/null
+++ b/template/default/token/emailchangeold.txt.tmpl
@@ -0,0 +1,34 @@
+[%# 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): John Vandenberg <zeroj@null.net>
+ #%]
+From: bugzilla-admin-daemon
+To: [% emailaddress %]
+Subject: Bugzilla Change Email Address Request
+Importance: High
+X-MSMail-Priority: High
+X-Priority: 1
+
+Bugzilla has received a request to change the email address
+for your account to [% newemailaddress %].
+
+If you are not the person who made this request, or you wish to cancel
+this request, visit the following link:
+
+[% Param('urlbase') %]token.cgi?a=cxlem&t=[% token %]
+
diff --git a/template/default/token/tokencancel.txt.tmpl b/template/default/token/tokencancel.txt.tmpl
new file mode 100644
index 000000000..bcab8c388
--- /dev/null
+++ b/template/default/token/tokencancel.txt.tmpl
@@ -0,0 +1,38 @@
+[%# 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): John Vandenberg <zeroj@null.net>
+ #%]
+From: bugzilla-admin-daemon
+To: [% emailaddress %]
+Subject: [% tokentype %] token cancelled
+
+A token was cancelled from [% remoteaddress %].
+If you did not request this, it could be either an honest
+mistake or the result of a malicious hack attempt.
+
+Take a look at the information below and forward this email
+to [% maintainer %] if you suspect foul play.
+
+ Token: [% token %]
+ Token Type: [% tokentype %]
+ User: [% emailaddress %]
+ Issue Date: [% issuedate %]
+ Event Data: [% eventdata %]
+Cancelled Because: [% cancelaction %]
+
+