sogo/UI/WebServerResources/js/Main.js

2 lines
3.0 KiB
JavaScript

!function(){"use strict";function o(o,s,e,n,r,i){var t=this;this.$onInit=function(){this.creds={username:s.cookieUsername,password:null,domain:null,rememberLogin:angular.isDefined(s.cookieUsername)&&0<s.cookieUsername.length},/\blanguage=/.test(s.location.search)&&(this.creds.language=s.language),this.loginState=!1,this.verificationCodePattern="\\d{6}",this.passwords={newPassword:null,newPasswordConfirmation:null,oldPassword:null},this.showLogin=!1,e(function(){t.showLogin=!0},100)},this.login=function(){return t.loginState="authenticating",i.login(t.creds).then(function(o){o.totpmissingkey?t.loginState="totpcode":(t.loginState="logged",t.cn=o.cn,t.url=o.url,e(function(){t.continueLogin()},1e3))},function(o){var s,e;t.loginState="error",o.error?t.errorMessage=o.error:0<o.grace?(t.loginState="passwordwillexpire",t.cn=o.cn,t.url=o.url,t.errorMessage=l("You have %{0} logins remaining before your account is locked. Please change your password in the preference dialog.",o.grace)):0<o.expire?(e=86400<o.expire?(s=Math.round(o.expire/86400),l("days")):3600<o.expire?(s=Math.round(o.expire/3600),l("hours")):60<o.expire?(s=Math.round(o.expire/60),l("minutes")):(s=o.expire,l("seconds")),t.loginState="passwordwillexpire",t.cn=o.cn,t.url=o.url,t.errorMessage=l("Your password is going to expire in %{0} %{1}.",s,e)):o.passwordexpired&&(t.loginState="passwordexpired",t.url=o.url)}),!1},this.restoreLogin=function(){t.loginState=!1,delete t.creds.verificationCode},this.continueLogin=function(){s.location.href===t.url?s.location.reload(!0):s.location.href=t.url},this.showAbout=function(o){function s(o){this.closeDialog=function(){o.hide()}}r.show({targetEvent:o,templateUrl:"aboutBox.html",controller:s,controllerAs:"about"}),s.$inject=["$mdDialog"]},this.changeLanguage=function(o){s.location.href=ApplicationBaseURL+"login?language="+this.creds.language},this.canChangePassword=function(o){return this.passwords.newPasswordConfirmation&&this.passwords.newPasswordConfirmation.length&&this.passwords.newPassword!=this.passwords.newPasswordConfirmation?(o.newPasswordConfirmation.$setValidity("newPasswordMismatch",!1),!1):(o.newPasswordConfirmation.$setValidity("newPasswordMismatch",!0),!!(this.passwords.newPassword&&0<this.passwords.newPassword.length&&this.passwords.newPasswordConfirmation&&this.passwords.newPasswordConfirmation.length&&this.passwords.newPassword==this.passwords.newPasswordConfirmation&&this.passwords.oldPassword&&0<this.passwords.oldPassword.length))},this.changePassword=function(){i.changePassword(this.creds.username,this.creds.domain,this.passwords.newPassword,this.passwords.oldPassword).then(function(o){t.loginState="message",t.url=o.url,t.errorMessage=l("The password was changed successfully.")},function(o){t.loginState="error",t.errorMessage=o})}}angular.module("SOGo.MainUI",["SOGo.Common","SOGo.Authentication"]),o.$inject=["$scope","$window","$timeout","Dialog","$mdDialog","Authentication"],angular.module("SOGo.MainUI").controller("LoginController",o)}();
//# sourceMappingURL=Main.js.map