define(['jQuery'], function ($) { var LoginPage = { showVisualForm: function (page) { $('.visualLoginForm', page).show(); $('.manualLoginForm', page).hide(); }, getLastSeenText: function (lastActivityDate) { if (!lastActivityDate) { return ""; } return "Last seen " + humane_date(lastActivityDate); }, authenticateUserByName: function (page, apiClient, username, password) { Dashboard.showLoadingMsg(); apiClient.authenticateUserByName(username, password).then(function (result) { var user = result.User; var serverId = getParameterByName('serverid'); var newUrl; if (user.Policy.IsAdministrator && !serverId) { newUrl = "dashboard.html"; } else { newUrl = "home.html"; } Dashboard.hideLoadingMsg(); Dashboard.onServerChanged(user.Id, result.AccessToken, apiClient); Dashboard.navigate(newUrl); }, function () { $('#pw', page).val(''); $('#txtManualName', page).val(''); $('#txtManualPassword', page).val(''); Dashboard.hideLoadingMsg(); setTimeout(function () { require(['toast'], function (toast) { toast(Globalize.translate('MessageInvalidUser')); }); }, 300); }); } }; function getApiClient() { var serverId = getParameterByName('serverid'); if (serverId) { return Promise.resolve(ConnectionManager.getOrCreateApiClient(serverId)); } else { return Promise.resolve(ApiClient); } } function onManualSubmit() { var page = $(this).parents('.page'); getApiClient().then(function (apiClient) { LoginPage.authenticateUserByName(page, apiClient, $('#txtManualName', page).val(), $('#txtManualPassword', page).val()); }); // Disable default form submission return false; } function showManualForm(context, showCancel, focusPassword) { $('.visualLoginForm', context).hide(); $('.manualLoginForm', context).show(); if (focusPassword) { $('#txtManualPassword', context).focus(); } else { $('#txtManualName', context).focus(); } if (showCancel) { $('.btnCancel', context).show(); } else { $('.btnCancel', context).hide(); } } function loadUserList(context, apiClient, users) { var html = ""; for (var i = 0, length = users.length; i < length; i++) { var user = users[i]; html += '