Continue work on account management and password reset
This commit is contained in:
parent
f3da02566c
commit
74203ad223
5 changed files with 168 additions and 9 deletions
|
|
@ -160,6 +160,28 @@
|
|||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="span7" id="pwresetpane" style="display: none">
|
||||
<h3>Reset Password</h3>
|
||||
<form class="form-horizontal" action="javascript:void(0)">
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="rpusername">Username</label>
|
||||
<div class="controls">
|
||||
<input type="text" id="rpusername">
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="rpemail">Email</label>
|
||||
<div class="controls">
|
||||
<input type="text" id="rpemail">
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<button class="btn btn-primary" id="rpbtn">Send Reset</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- /container -->
|
||||
<div class="push"></div>
|
||||
|
|
|
|||
|
|
@ -40,17 +40,18 @@ function makeTabCallback(tabid, paneid) {
|
|||
|
||||
$("#register").click(makeTabCallback("#register", "#registerpane"));
|
||||
$("#pwchange").click(makeTabCallback("#pwchange", "#changepwpane"));
|
||||
$("#pwreset").click(makeTabCallback("#pwreset", "#pwresetpane"));
|
||||
$("#email").click(makeTabCallback("#email", "#changeemailpane"));
|
||||
|
||||
$("#registerbtn").click(function() {
|
||||
$("#registerpane").find(".alert-error").remove();
|
||||
$("#registerpane").find(".error").removeClass("error");
|
||||
var uname = $("#regusername").val();
|
||||
var name = $("#regusername").val();
|
||||
var pw = $("#regpw").val();
|
||||
var pwc = $("#regpwconfirm").val();
|
||||
|
||||
var err = false;
|
||||
if(!uname.match(/^[a-z0-9_]{1,20}$/i)) {
|
||||
if(!name.match(/^[a-z0-9_]{1,20}$/i)) {
|
||||
$("<div/>").addClass("alert alert-error")
|
||||
.text("Usernames must be 1-20 characters long and contain only a-z, 0-9, and underscores")
|
||||
.insertAfter($("#regusername").parent().parent());
|
||||
|
|
@ -78,6 +79,28 @@ $("#registerbtn").click(function() {
|
|||
}
|
||||
|
||||
// Input valid, try registering
|
||||
var url = api + "register?" + [
|
||||
"name=" + name,
|
||||
"pw=" + pw
|
||||
].join("&") + "&callback=?";
|
||||
|
||||
$.getJSON(url, function(data) {
|
||||
if(data.success) {
|
||||
uname = name;
|
||||
session = data.session;
|
||||
onLogin();
|
||||
$("<div/>").addClass("alert alert-success")
|
||||
.text("Registration successful")
|
||||
.insertBefore($("#registerpane form"));
|
||||
$("#regpw").val("");
|
||||
$("#regusername").val("");
|
||||
}
|
||||
else {
|
||||
$("<div/>").addClass("alert alert-error")
|
||||
.text(data.error)
|
||||
.insertBefore($("#registerpane form"));
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$("#loginbtn").click(function() {
|
||||
|
|
@ -227,6 +250,32 @@ $("#cebtn").click(function() {
|
|||
|
||||
});
|
||||
|
||||
$("#rpbtn").click(function() {
|
||||
$("#pwresetpane").find(".alert-error").remove();
|
||||
$("#pwresetpane").find(".alert-success").remove();
|
||||
var name = $("#rpusername").val();
|
||||
var email = $("#rpemail").val();
|
||||
|
||||
email = escape(email);
|
||||
var url = api + "resetpass?" + [
|
||||
"name=" + name,
|
||||
"email=" + email
|
||||
].join("&") + "&callback=?";
|
||||
$.getJSON(url, function(data) {
|
||||
if(data.success) {
|
||||
$("<div/>").addClass("alert alert-success")
|
||||
.text("Password reset link issued. Check your email.")
|
||||
.insertBefore($("#pwresetpane form"));
|
||||
}
|
||||
else {
|
||||
$("<div/>").addClass("alert alert-error")
|
||||
.text(data.error)
|
||||
.insertBefore($("#pwresetpane form"));
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
$("#login").click(function() {
|
||||
if(!loggedin) {
|
||||
makeTabCallback("#login", "#loginpane")();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue