mirror of
https://github.com/the-djmaze/snappymail.git
synced 2024-11-15 20:24:51 +08:00
76 lines
No EOL
2.1 KiB
JavaScript
76 lines
No EOL
2.1 KiB
JavaScript
|
|
(function () {
|
|
|
|
'use strict';
|
|
|
|
var
|
|
_ = require('_'),
|
|
ko = require('ko'),
|
|
|
|
Enums = require('Common/Enums'),
|
|
Utils = require('Common/Utils'),
|
|
Translator = require('Common/Translator'),
|
|
|
|
SettinsStore = require('Stores/User/Settings'),
|
|
|
|
Settings = require('Storage/Settings'),
|
|
|
|
Remote = require('Remote/User/Ajax')
|
|
;
|
|
|
|
/**
|
|
* @constructor
|
|
*/
|
|
function SecurityUserSettings()
|
|
{
|
|
this.capaAutoLogout = Settings.capa(Enums.Capa.AutoLogout);
|
|
this.capaTwoFactor = Settings.capa(Enums.Capa.TwoFactor);
|
|
|
|
this.autoLogout = SettinsStore.autoLogout;
|
|
this.autoLogout.trigger = ko.observable(Enums.SaveSettingsStep.Idle);
|
|
|
|
this.autoLogoutOptions = ko.computed(function () {
|
|
Translator.trigger();
|
|
return [
|
|
{'id': 0, 'name': Translator.i18n('SETTINGS_SECURITY/AUTOLOGIN_NEVER_OPTION_NAME')},
|
|
{'id': 5, 'name': Translator.i18n('SETTINGS_SECURITY/AUTOLOGIN_MINUTES_OPTION_NAME', {'MINUTES': 5})},
|
|
{'id': 10, 'name': Translator.i18n('SETTINGS_SECURITY/AUTOLOGIN_MINUTES_OPTION_NAME', {'MINUTES': 10})},
|
|
{'id': 30, 'name': Translator.i18n('SETTINGS_SECURITY/AUTOLOGIN_MINUTES_OPTION_NAME', {'MINUTES': 30})},
|
|
{'id': 60, 'name': Translator.i18n('SETTINGS_SECURITY/AUTOLOGIN_MINUTES_OPTION_NAME', {'MINUTES': 60})},
|
|
{'id': 60 * 2, 'name': Translator.i18n('SETTINGS_SECURITY/AUTOLOGIN_HOURS_OPTION_NAME', {'HOURS': 2})},
|
|
{'id': 60 * 5, 'name': Translator.i18n('SETTINGS_SECURITY/AUTOLOGIN_HOURS_OPTION_NAME', {'HOURS': 5})},
|
|
{'id': 60 * 10, 'name': Translator.i18n('SETTINGS_SECURITY/AUTOLOGIN_HOURS_OPTION_NAME', {'HOURS': 10})}
|
|
];
|
|
});
|
|
}
|
|
|
|
SecurityUserSettings.prototype.configureTwoFactor = function ()
|
|
{
|
|
require('Knoin/Knoin').showScreenPopup(require('View/Popup/TwoFactorConfiguration'));
|
|
};
|
|
|
|
SecurityUserSettings.prototype.onBuild = function ()
|
|
{
|
|
if (this.capaAutoLogout)
|
|
{
|
|
var self = this;
|
|
|
|
_.delay(function () {
|
|
|
|
var
|
|
f0 = Utils.settingsSaveHelperSimpleFunction(self.autoLogout.trigger, self)
|
|
;
|
|
|
|
self.autoLogout.subscribe(function (sValue) {
|
|
Remote.saveSettings(f0, {
|
|
'AutoLogout': Utils.pInt(sValue)
|
|
});
|
|
});
|
|
|
|
});
|
|
}
|
|
};
|
|
|
|
module.exports = SecurityUserSettings;
|
|
|
|
}()); |