diff --git a/dev/Admin/Security.js b/dev/Admin/Security.js index 5d4bee738..03069909b 100644 --- a/dev/Admin/Security.js +++ b/dev/Admin/Security.js @@ -12,6 +12,8 @@ function AdminSecurity() this.adminLogin = ko.observable(RL.settingsGet('AdminLogin')); this.adminPassword = ko.observable(''); this.adminPasswordNew = ko.observable(''); + this.adminPasswordNew2 = ko.observable(''); + this.adminPasswordNewError = ko.observable(false); this.adminPasswordUpdateError = ko.observable(false); this.adminPasswordUpdateSuccess = ko.observable(false); @@ -24,10 +26,23 @@ function AdminSecurity() this.adminPasswordNew.subscribe(function () { this.adminPasswordUpdateError(false); this.adminPasswordUpdateSuccess(false); + this.adminPasswordNewError(false); + }, this); + + this.adminPasswordNew2.subscribe(function () { + this.adminPasswordUpdateError(false); + this.adminPasswordUpdateSuccess(false); + this.adminPasswordNewError(false); }, this); this.saveNewAdminPasswordCommand = Utils.createCommand(this, function () { + if (this.adminPasswordNew() !== this.adminPasswordNew2()) + { + this.adminPasswordNewError(true); + return false; + } + this.adminPasswordUpdateError(false); this.adminPasswordUpdateSuccess(false); @@ -37,7 +52,7 @@ function AdminSecurity() }); }, function () { - return '' !== this.adminPassword() && '' !== this.adminPasswordNew(); + return '' !== this.adminPassword() && '' !== this.adminPasswordNew() && '' !== this.adminPasswordNew2(); }); this.onNewAdminPasswordResponse = _.bind(this.onNewAdminPasswordResponse, this); @@ -51,6 +66,7 @@ AdminSecurity.prototype.onNewAdminPasswordResponse = function (sResult, oData) { this.adminPassword(''); this.adminPasswordNew(''); + this.adminPasswordNew2(''); this.adminPasswordUpdateSuccess(true); } @@ -85,6 +101,7 @@ AdminSecurity.prototype.onHide = function () { this.adminPassword(''); this.adminPasswordNew(''); + this.adminPasswordNew2(''); }; /** diff --git a/dev/ViewModels/AbstractSystemDropDownViewModel.js b/dev/ViewModels/AbstractSystemDropDownViewModel.js index 0b5b389c5..8d9e89a66 100644 --- a/dev/ViewModels/AbstractSystemDropDownViewModel.js +++ b/dev/ViewModels/AbstractSystemDropDownViewModel.js @@ -51,6 +51,11 @@ AbstractSystemDropDownViewModel.prototype.settingsClick = function () kn.setHash(RL.link().settings()); }; +AbstractSystemDropDownViewModel.prototype.settingsHelp = function () +{ + kn.showScreenPopup(PopupsKeyboardShortcutsHelpViewModel); +}; + AbstractSystemDropDownViewModel.prototype.addAccountClick = function () { if (this.allowAddAccount) @@ -80,4 +85,13 @@ AbstractSystemDropDownViewModel.prototype.onBuild = function () self.accountMenuDropdownTrigger(true); } }); + + // shortcuts help + key('shift+/', [Enums.KeyState.MessageList, Enums.KeyState.MessageView, Enums.KeyState.Settings], function () { + if (self.viewModelVisibility()) + { + kn.showScreenPopup(PopupsKeyboardShortcutsHelpViewModel); + return false; + } + }); }; diff --git a/dev/ViewModels/MailBoxMessageListViewModel.js b/dev/ViewModels/MailBoxMessageListViewModel.js index d6a8d73d7..ebaa863c6 100644 --- a/dev/ViewModels/MailBoxMessageListViewModel.js +++ b/dev/ViewModels/MailBoxMessageListViewModel.js @@ -737,12 +737,6 @@ MailBoxMessageListViewModel.prototype.initShortcuts = function () return false; }); - // shortcuts help - key('shift+/', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () { - kn.showScreenPopup(PopupsKeyboardShortcutsHelpViewModel); - return false; - }); - key('shift+f', [Enums.KeyState.MessageList, Enums.KeyState.MessageView], function () { self.multyForwardCommand(); return false; diff --git a/package.json b/package.json index d66e1182c..05e0c69c6 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "RainLoop", "title": "RainLoop Webmail", - "version": "1.6.5", + "version": "1.6.6", "release": "911", "description": "Simple, modern & fast web-based email client", "homepage": "http://rainloop.net", diff --git a/rainloop/v/0.0.0/app/templates/Views/AdminLogin.html b/rainloop/v/0.0.0/app/templates/Views/AdminLogin.html index f23504832..0e70a5eb1 100644 --- a/rainloop/v/0.0.0/app/templates/Views/AdminLogin.html +++ b/rainloop/v/0.0.0/app/templates/Views/AdminLogin.html @@ -8,7 +8,7 @@