mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update login page
This commit is contained in:
parent
c710303de9
commit
7d1dbeddec
9 changed files with 137 additions and 83 deletions
|
@ -1,34 +1,59 @@
|
|||
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;
|
||||
|
||||
// Show all users on localhost
|
||||
var promise1 = ApiClient.getPublicUsers();
|
||||
LoginPage.getApiClient().done(function (apiClient) {
|
||||
|
||||
promise1.done(function (users) {
|
||||
// Show all users on localhost
|
||||
var promise1 = apiClient.getPublicUsers();
|
||||
|
||||
var showManualForm = !users.length;
|
||||
promise1.done(function (users) {
|
||||
|
||||
if (showManualForm) {
|
||||
var showManualForm = !users.length;
|
||||
|
||||
LoginPage.showManualForm(page, false, false);
|
||||
if (showManualForm) {
|
||||
|
||||
} else {
|
||||
LoginPage.showVisualForm(page);
|
||||
LoginPage.loadUserList(users);
|
||||
}
|
||||
LoginPage.showManualForm(page, false, false);
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
} 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 || '');
|
||||
});
|
||||
});
|
||||
|
||||
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 () {
|
||||
|
@ -67,30 +92,24 @@
|
|||
return "Last seen " + humane_date(lastActivityDate);
|
||||
},
|
||||
|
||||
getImagePath: function (user) {
|
||||
|
||||
if (!user.PrimaryImageTag) {
|
||||
return "css/images/logindefault.png";
|
||||
}
|
||||
|
||||
return ApiClient.getUserImageUrl(user.Id, {
|
||||
width: 240,
|
||||
tag: user.PrimaryImageTag,
|
||||
type: "Primary"
|
||||
});
|
||||
},
|
||||
|
||||
authenticateUserByName: function (username, password) {
|
||||
authenticateUserByName: function (apiClient, username, password) {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
ApiClient.authenticateUserByName(username, password).done(function (result) {
|
||||
apiClient.authenticateUserByName(username, password).done(function (result) {
|
||||
|
||||
var user = result.User;
|
||||
|
||||
var serverId = getParameterByName('serverid');
|
||||
|
||||
// In a multi-server supported app, set the server address
|
||||
if (serverId) {
|
||||
Dashboard.serverAddress(apiClient.serverAddress());
|
||||
}
|
||||
|
||||
Dashboard.setCurrentUser(user.Id, result.AccessToken);
|
||||
|
||||
if (user.Policy.IsAdministrator) {
|
||||
if (user.Policy.IsAdministrator && !serverId) {
|
||||
window.location = "dashboard.html?u=" + user.Id + '&t=' + result.AccessToken;
|
||||
} else {
|
||||
window.location = "index.html?u=" + user.Id + '&t=' + result.AccessToken;
|
||||
|
@ -111,11 +130,9 @@
|
|||
|
||||
},
|
||||
|
||||
loadUserList: function (users) {
|
||||
loadUserList: function (page, apiClient, users) {
|
||||
var html = "";
|
||||
|
||||
var page = $.mobile.activePage;
|
||||
|
||||
for (var i = 0, length = users.length; i < length; i++) {
|
||||
var user = users[i];
|
||||
|
||||
|
@ -130,7 +147,7 @@
|
|||
|
||||
if (user.PrimaryImageTag) {
|
||||
|
||||
imgUrl = ApiClient.getUserImageUrl(user.Id, {
|
||||
imgUrl = apiClient.getUserImageUrl(user.Id, {
|
||||
width: 300,
|
||||
tag: user.PrimaryImageTag,
|
||||
type: "Primary"
|
||||
|
@ -172,11 +189,15 @@
|
|||
|
||||
$('a', elem).on('click', function () {
|
||||
|
||||
var id = this.getAttribute('data-userid');
|
||||
var name = this.getAttribute('data-username');
|
||||
var haspw = this.getAttribute('data-haspw');
|
||||
|
||||
if (haspw == 'false') {
|
||||
LoginPage.authenticateUserByName(name, '');
|
||||
if (id == 'manual') {
|
||||
LoginPage.showManualForm(page, true);
|
||||
}
|
||||
else if (haspw == 'false') {
|
||||
LoginPage.authenticateUserByName(apiClient, name, '');
|
||||
} else {
|
||||
$('#txtManualName', page).val(name);
|
||||
$('#txtManualPassword', '#loginPage').val('');
|
||||
|
@ -187,7 +208,9 @@
|
|||
|
||||
onManualSubmit: function () {
|
||||
|
||||
LoginPage.authenticateUserByName($('#txtManualName', '#loginPage').val(), $('#txtManualPassword', '#loginPage').val());
|
||||
LoginPage.getApiClient().done(function (apiClient) {
|
||||
LoginPage.authenticateUserByName(apiClient, $('#txtManualName', '#loginPage').val(), $('#txtManualPassword', '#loginPage').val());
|
||||
});
|
||||
|
||||
// Disable default form submission
|
||||
return false;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue