add support for logging in from register page
This commit is contained in:
parent
11ff3f5347
commit
09afba80db
@ -94,17 +94,21 @@ define([
|
|||||||
res.realtime = rt.realtime;
|
res.realtime = rt.realtime;
|
||||||
res.network = rt.network;
|
res.network = rt.network;
|
||||||
|
|
||||||
|
// they're registering...
|
||||||
|
res.userHash = opt.userHash;
|
||||||
|
res.userName = uname;
|
||||||
|
|
||||||
// they tried to just log in but there's no such user
|
// they tried to just log in but there's no such user
|
||||||
if (!isRegister && isProxyEmpty(rt.proxy)) {
|
if (!isRegister && isProxyEmpty(rt.proxy)) {
|
||||||
rt.network.disconnect(); // clean up after yourself
|
rt.network.disconnect(); // clean up after yourself
|
||||||
return void cb('NO_SUCH_USER', res);
|
return void cb('NO_SUCH_USER', res);
|
||||||
}
|
}
|
||||||
|
|
||||||
// they're registering...
|
// they tried to register, but those exact credentials exist
|
||||||
|
if (isRegister && !isProxyEmpty(rt.proxy)) {
|
||||||
res.userHash = opt.userHash;
|
rt.network.disconnect();
|
||||||
res.userName = uname;
|
return void cb('ALREADY_REGISTERED', res);
|
||||||
//res.displayName // TODO
|
}
|
||||||
|
|
||||||
cb(void 0, res);
|
cb(void 0, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -61,6 +61,25 @@ define([
|
|||||||
|
|
||||||
var $register = $('button#register');
|
var $register = $('button#register');
|
||||||
|
|
||||||
|
var logMeIn = function (result) {
|
||||||
|
localStorage.User_hash = result.userHash;
|
||||||
|
Cryptpad.whenRealtimeSyncs(result.realtime, function () {
|
||||||
|
Cryptpad.login(result.userHash, result.userName, function () {
|
||||||
|
if (sessionStorage.redirectTo) {
|
||||||
|
var h = sessionStorage.redirectTo;
|
||||||
|
var parser = document.createElement('a');
|
||||||
|
parser.href = h;
|
||||||
|
if (parser.origin === window.location.origin) {
|
||||||
|
delete sessionStorage.redirectTo;
|
||||||
|
window.location.href = h;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
window.location.href = '/drive/';
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
$register.click(function () {
|
$register.click(function () {
|
||||||
var uname = $uname.val();
|
var uname = $uname.val();
|
||||||
var passwd = $passwd.val();
|
var passwd = $passwd.val();
|
||||||
@ -101,14 +120,27 @@ define([
|
|||||||
Cryptpad.alert(Messages.login_invalPass);
|
Cryptpad.alert(Messages.login_invalPass);
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
|
case 'ALREADY_REGISTERED':
|
||||||
|
Cryptpad.removeLoadingScreen(function () {
|
||||||
|
Cryptpad.confirm(Messages.register_alreadyRegistered, function (yes) {
|
||||||
|
if (!yes) { return; }
|
||||||
|
result.proxy.login_name = uname;
|
||||||
|
|
||||||
|
if (!result.proxy[Cryptpad.displayNameKey]) {
|
||||||
|
result.proxy[Cryptpad.displayNameKey] = uname;
|
||||||
|
}
|
||||||
|
Cryptpad.eraseTempSessionValues();
|
||||||
|
logMeIn(result);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
break;
|
||||||
default: // UNHANDLED ERROR
|
default: // UNHANDLED ERROR
|
||||||
Cryptpad.errorLoadingScreen(Messages.login_unhandledError);
|
Cryptpad.errorLoadingScreen(Messages.login_unhandledError);
|
||||||
}
|
}
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
var proxy = result.proxy;
|
var proxy = result.proxy;
|
||||||
|
|
||||||
localStorage.User_hash = result.userHash;
|
|
||||||
|
|
||||||
Cryptpad.eraseTempSessionValues();
|
Cryptpad.eraseTempSessionValues();
|
||||||
if (shouldImport) {
|
if (shouldImport) {
|
||||||
sessionStorage.migrateAnonDrive = 1;
|
sessionStorage.migrateAnonDrive = 1;
|
||||||
@ -118,21 +150,7 @@ define([
|
|||||||
proxy[Cryptpad.displayNameKey] = uname;
|
proxy[Cryptpad.displayNameKey] = uname;
|
||||||
sessionStorage.createReadme = 1;
|
sessionStorage.createReadme = 1;
|
||||||
|
|
||||||
Cryptpad.whenRealtimeSyncs(result.realtime, function () {
|
logMeIn(result);
|
||||||
Cryptpad.login(result.userHash, result.userName, function () {
|
|
||||||
if (sessionStorage.redirectTo) {
|
|
||||||
var h = sessionStorage.redirectTo;
|
|
||||||
var parser = document.createElement('a');
|
|
||||||
parser.href = h;
|
|
||||||
if (parser.origin === window.location.origin) {
|
|
||||||
delete sessionStorage.redirectTo;
|
|
||||||
window.location.href = h;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
window.location.href = '/drive/';
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
}, {
|
}, {
|
||||||
ok: Messages.register_writtenPassword, //'I have written down my password, proceed',
|
ok: Messages.register_writtenPassword, //'I have written down my password, proceed',
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user