Prompt anonymous users to login if they should create a checkpoint in oo
parent
e1069b0abb
commit
9de345044a
|
@ -132,6 +132,12 @@ define([
|
|||
APP.onLocal();
|
||||
};
|
||||
|
||||
var isRegisteredUserOnline = function () {
|
||||
var users = metadataMgr.getMetadata().users || {};
|
||||
return Object.keys(users).some(function (id) {
|
||||
return users[id] && users[id].curvePublic;
|
||||
});
|
||||
};
|
||||
var isUserOnline = function (ooid) {
|
||||
// Remove ids for users that have left the channel
|
||||
deleteOffline();
|
||||
|
@ -348,16 +354,44 @@ define([
|
|||
fixSheets();
|
||||
APP.FM.handleFile(blob, data);
|
||||
};
|
||||
|
||||
Messages.oo_login = 'Log in...'; // XXX
|
||||
var noLogin = false;
|
||||
|
||||
var makeCheckpoint = function (force) {
|
||||
if (!common.isLoggedIn()) { return; }
|
||||
var locked = content.saveLock;
|
||||
var lastCp = getLastCp();
|
||||
|
||||
var needCp = force || ooChannel.cpIndex % CHECKPOINT_INTERVAL === 0 ||
|
||||
(ooChannel.cpIndex - lastCp.index) > CHECKPOINT_INTERVAL;
|
||||
(ooChannel.cpIndex - (lastCp.index || 0)) > CHECKPOINT_INTERVAL;
|
||||
if (!needCp) { return; }
|
||||
|
||||
if (!locked || !isUserOnline(locked) || force) {
|
||||
if (!common.isLoggedIn() && !isRegisteredUserOnline() && !noLogin) {
|
||||
var login = h('button.cp-corner-primary', Messages.login_login);
|
||||
var register = h('button.cp-corner-primary', Messages.login_register);
|
||||
var cancel = h('button.cp-corner-cancel', Messages.cancel);
|
||||
var actions = h('div', [cancel, register, login]);
|
||||
var modal = UI.cornerPopup(Messages.oo_login, actions, '', {alt: true});
|
||||
$(register).click(function () {
|
||||
common.setLoginRedirect(function () {
|
||||
common.gotoURL('/register/');
|
||||
});
|
||||
modal.delete();
|
||||
});
|
||||
$(login).click(function () {
|
||||
common.setLoginRedirect(function () {
|
||||
common.gotoURL('/login/');
|
||||
});
|
||||
modal.delete();
|
||||
});
|
||||
$(cancel).click(function () {
|
||||
modal.delete();
|
||||
noLogin = true;
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (!common.isLoggedIn()) { return; }
|
||||
content.saveLock = myOOId;
|
||||
APP.onLocal();
|
||||
APP.realtime.onSettle(function () {
|
||||
|
|
Loading…
Reference in New Issue