handle more possible cases

This commit is contained in:
ansuz 2016-12-21 18:24:48 +01:00
parent 1682d23c1c
commit 86cda4357b

View File

@ -124,9 +124,24 @@ define([
/* if the user is registering, we expect that the userDoc will be empty /* if the user is registering, we expect that the userDoc will be empty
*/ */
var proxykeys = Object.keys(proxy);
if (opt.register) { if (opt.register) {
if (Object.keys(proxy).length) { if (proxyKeys.length) {
// user is trying to register, but the userDoc is not empty
// tell them they are already registered.
alreadyExists(); alreadyExists();
} else {
// trying to register, and the object is empty, as expected
}
} else {
if (proxyKeys.length) {
} else {
} }
} }
@ -196,39 +211,41 @@ define([
$register[0].checked = false; $register[0].checked = false;
}; };
if (Cryptpad.getUserHash()) { Cryptpad.ready(function () {
//Cryptpad.alert("You are already logged in!"); if (Cryptpad.getUserHash()) {
$logoutBox.slideDown(); //Cryptpad.alert("You are already logged in!");
} else { $logoutBox.slideDown();
revealLogin(); } else {
} revealLogin();
$login.click(function () {
var uname = $username.val();
var passwd = $password.val();
var confirm = $confirm.val();
var remember = $remember[0].checked;
var register = $register[0].checked;
if (!Cred.isValidUsername(uname)) {
return void Cryptpad.alert('invalid username');
}
if (!Cred.isValidPassword(passwd)) {
return void Cryptpad.alert('invalid password');
}
if (register && !Cred.passwordsMatch(passwd, confirm)) {
return mismatchedPasswords();
} }
resetUI(); $login.click(function () {
var uname = $username.val();
var passwd = $password.val();
var confirm = $confirm.val();
var remember = $remember[0].checked;
var register = $register[0].checked;
// consume 128 bytes, to be divided later if (!Cred.isValidUsername(uname)) {
// we can safely increase this size, but we don't need much right now return void Cryptpad.alert('invalid username');
hashFromCreds(uname, passwd, 128, function (bytes) { }
useBytes(bytes, { if (!Cred.isValidPassword(passwd)) {
remember: remember, return void Cryptpad.alert('invalid password');
register: register, }
name: uname, if (register && !Cred.passwordsMatch(passwd, confirm)) {
return mismatchedPasswords();
}
resetUI();
// consume 128 bytes, to be divided later
// we can safely increase this size, but we don't need much right now
hashFromCreds(uname, passwd, 128, function (bytes) {
useBytes(bytes, {
remember: remember,
register: register,
name: uname,
});
}); });
}); });
}); });