var LoginPage = { getApiClient: function () { var serverId = getParameterByName('serverid'); var deferred = DeferredBuilder.Deferred(); if (serverId) { deferred.resolveWith(null, [ConnectionManager.getOrCreateApiClient(serverId)]); } else { deferred.resolveWith(null, [ApiClient]); } return deferred.promise(); }, onPageShow: function () { Dashboard.showLoadingMsg(); var page = this; LoginPage.getApiClient().done(function (apiClient) { // Show all users on localhost var promise1 = apiClient.getPublicUsers(); promise1.done(function (users) { var showManualForm = !users.length; if (showManualForm) { LoginPage.showManualForm(page, false, false); } else { LoginPage.showVisualForm(page); LoginPage.loadUserList(page, apiClient, users); } Dashboard.hideLoadingMsg(); }); apiClient.getJSON(apiClient.getUrl('Branding/Configuration')).done(function (options) { $('.disclaimer', page).html(options.LoginDisclaimer || ''); }); }); if (Dashboard.isConnectMode()) { $('.connectButtons', page).show(); } else { $('.connectButtons', page).hide(); } }, cancelLogin: function () { LoginPage.showVisualForm($.mobile.activePage); }, showManualForm: function (page, showCancel, focusPassword) { $('.visualLoginForm', page).hide(); $('#manualLoginForm', page).show(); if (focusPassword) { $('#txtManualPassword', page).focus(); } else { $('#txtManualName', page).focus(); } if (showCancel) { $('.btnCancel', page).show(); } else { $('.btnCancel', page).hide(); } }, showVisualForm: function (page) { $('.visualLoginForm', page).show(); $('#manualLoginForm', page).hide(); }, getLastSeenText: function (lastActivityDate) { if (!lastActivityDate) { return ""; } return "Last seen " + humane_date(lastActivityDate); }, authenticateUserByName: function (apiClient, username, password) { Dashboard.showLoadingMsg(); apiClient.authenticateUserByName(username, password).done(function (result) { var user = result.User; var serverId = getParameterByName('serverid'); var newUrl; if (user.Policy.IsAdministrator && !serverId) { newUrl = "dashboard.html?u=" + user.Id + '&t=' + result.AccessToken; } else { newUrl = "index.html?u=" + user.Id + '&t=' + result.AccessToken; } Dashboard.onLoggedIn(apiClient.serverAddress(), user.Id, result.AccessToken, apiClient); Dashboard.navigate(newUrl); }).fail(function () { $('#pw', '#loginPage').val(''); $('#txtManualName', '#loginPage').val(''); $('#txtManualPassword', '#loginPage').val(''); Dashboard.hideLoadingMsg(); setTimeout(function () { Dashboard.showError(Globalize.translate('MessageInvalidUser')); }, 300); }); }, loadUserList: function (page, apiClient, users) { var html = ""; for (var i = 0, length = users.length; i < length; i++) { var user = users[i]; html += '