mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
add connect helper
This commit is contained in:
parent
d09e598f8c
commit
088e52bc65
6 changed files with 203 additions and 287 deletions
180
dashboard-ui/bower_components/emby-webcomponents/emby-connect/connecthelper.js
vendored
Normal file
180
dashboard-ui/bower_components/emby-webcomponents/emby-connect/connecthelper.js
vendored
Normal file
|
@ -0,0 +1,180 @@
|
||||||
|
define(['globalize', 'loading', 'alert'], function (globalize, loading, alert) {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
function showNewUserInviteMessage(result) {
|
||||||
|
|
||||||
|
if (!result.IsNewUserInvitation && !result.IsPending) {
|
||||||
|
|
||||||
|
// It was immediately approved
|
||||||
|
return Promise.resolve();
|
||||||
|
}
|
||||||
|
|
||||||
|
var message = result.IsNewUserInvitation ?
|
||||||
|
globalize.translate('MessageInvitationSentToNewUser', result.GuestDisplayName) :
|
||||||
|
globalize.translate('MessageInvitationSentToUser', result.GuestDisplayName);
|
||||||
|
|
||||||
|
alert({
|
||||||
|
text: message,
|
||||||
|
title: globalize.translate('HeaderInvitationSent')
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function inviteGuest(options) {
|
||||||
|
|
||||||
|
var apiClient = options.apiClient;
|
||||||
|
|
||||||
|
loading.show();
|
||||||
|
|
||||||
|
// Add/Update connect info
|
||||||
|
return apiClient.ajax({
|
||||||
|
|
||||||
|
type: "POST",
|
||||||
|
url: apiClient.getUrl('Connect/Invite'),
|
||||||
|
dataType: 'json',
|
||||||
|
data: options.guestOptions || {}
|
||||||
|
|
||||||
|
}).then(function (result) {
|
||||||
|
|
||||||
|
loading.hide();
|
||||||
|
return showNewUserInviteMessage(result);
|
||||||
|
|
||||||
|
}, function (response) {
|
||||||
|
|
||||||
|
loading.hide();
|
||||||
|
|
||||||
|
if (response.status == 404) {
|
||||||
|
// User doesn't exist
|
||||||
|
alert({
|
||||||
|
text: globalize.translate('GuestUserNotFound')
|
||||||
|
});
|
||||||
|
|
||||||
|
} else if ((response.status || 0) >= 500) {
|
||||||
|
|
||||||
|
// Unable to reach connect server ?
|
||||||
|
alert({
|
||||||
|
text: globalize.translate('ErrorReachingEmbyConnect')
|
||||||
|
});
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
// status 400 = account not activated
|
||||||
|
|
||||||
|
// General error
|
||||||
|
showGuestGeneralErrorMessage();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function showGuestGeneralErrorMessage() {
|
||||||
|
|
||||||
|
var html = globalize.translate('ErrorAddingGuestAccount1', '<a href="https://emby.media/connect" target="_blank">https://emby.media/connect</a>');
|
||||||
|
html += '<br/><br/>' + globalize.translate('ErrorAddingGuestAccount2', 'apps@emby.media');
|
||||||
|
|
||||||
|
var text = globalize.translate('ErrorAddingGuestAccount1', 'https://emby.media/connect');
|
||||||
|
text += '\n\n' + globalize.translate('ErrorAddingGuestAccount2', 'apps@emby.media');
|
||||||
|
|
||||||
|
alert({
|
||||||
|
text: text,
|
||||||
|
html: html
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function showLinkUserMessage(username) {
|
||||||
|
|
||||||
|
var html;
|
||||||
|
var text;
|
||||||
|
|
||||||
|
if (username) {
|
||||||
|
|
||||||
|
html = globalize.translate('ErrorAddingEmbyConnectAccount1', '<a href="https://emby.media/connect" target="_blank">https://emby.media/connect</a>');
|
||||||
|
html += '<br/><br/>' + globalize.translate('ErrorAddingEmbyConnectAccount2', 'apps@emby.media');
|
||||||
|
|
||||||
|
text = globalize.translate('ErrorAddingEmbyConnectAccount1', 'https://emby.media/connect');
|
||||||
|
text += '\n\n' + globalize.translate('ErrorAddingEmbyConnectAccount2', 'apps@emby.media');
|
||||||
|
|
||||||
|
} else {
|
||||||
|
html = text = globalize.translate('DefaultErrorMessage');
|
||||||
|
}
|
||||||
|
|
||||||
|
return alert({
|
||||||
|
text: text,
|
||||||
|
html: html
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function updateUserLink(apiClient, user, newConnectUsername) {
|
||||||
|
var currentConnectUsername = user.ConnectUserName || '';
|
||||||
|
var enteredConnectUsername = newConnectUsername;
|
||||||
|
|
||||||
|
var linkUrl = apiClient.getUrl('Users/' + user.Id + '/Connect/Link');
|
||||||
|
|
||||||
|
if (currentConnectUsername && !enteredConnectUsername) {
|
||||||
|
|
||||||
|
// Remove connect info
|
||||||
|
// Add/Update connect info
|
||||||
|
return apiClient.ajax({
|
||||||
|
|
||||||
|
type: "DELETE",
|
||||||
|
url: linkUrl
|
||||||
|
|
||||||
|
}).then(function () {
|
||||||
|
|
||||||
|
return alert({
|
||||||
|
text: globalize.translate('MessageEmbyAccontRemoved'),
|
||||||
|
title: globalize.translate('HeaderEmbyAccountRemoved'),
|
||||||
|
|
||||||
|
}).catch(function () {
|
||||||
|
return Promise.resolve();
|
||||||
|
});
|
||||||
|
|
||||||
|
}, function () {
|
||||||
|
|
||||||
|
return alert({
|
||||||
|
text: globalize.translate('ErrorRemovingEmbyConnectAccount')
|
||||||
|
|
||||||
|
}).then(function () {
|
||||||
|
return Promise.reject();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (currentConnectUsername != enteredConnectUsername) {
|
||||||
|
|
||||||
|
// Add/Update connect info
|
||||||
|
return apiClient.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: linkUrl,
|
||||||
|
data: {
|
||||||
|
ConnectUsername: enteredConnectUsername
|
||||||
|
},
|
||||||
|
dataType: 'json'
|
||||||
|
|
||||||
|
}).then(function (result) {
|
||||||
|
|
||||||
|
var msgKey = result.IsPending ? 'MessagePendingEmbyAccountAdded' : 'MessageEmbyAccountAdded';
|
||||||
|
|
||||||
|
return alert({
|
||||||
|
text: globalize.translate(msgKey),
|
||||||
|
title: globalize.translate('HeaderEmbyAccountAdded'),
|
||||||
|
|
||||||
|
}).catch(function () {
|
||||||
|
return Promise.resolve();
|
||||||
|
});
|
||||||
|
|
||||||
|
}, function () {
|
||||||
|
|
||||||
|
return showLinkUserMessage('.').then(function () {
|
||||||
|
return Promise.reject();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
} else {
|
||||||
|
return Promise.reject();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
inviteGuest: inviteGuest,
|
||||||
|
updateUserLink: updateUserLink
|
||||||
|
};
|
||||||
|
});
|
|
@ -1,101 +1,6 @@
|
||||||
define(['dialogHelper', 'jQuery', 'emby-input', 'emby-button', 'emby-collapse', 'paper-icon-button-light', 'formDialogStyle'], function (dialogHelper, $) {
|
define(['dialogHelper', 'connectHelper', 'emby-input', 'emby-button', 'emby-collapse', 'paper-icon-button-light', 'formDialogStyle'], function (dialogHelper, connectHelper) {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
function updateUserInfo(user, newConnectUsername, actionCallback, noActionCallback) {
|
|
||||||
var currentConnectUsername = user.ConnectUserName || '';
|
|
||||||
var enteredConnectUsername = newConnectUsername;
|
|
||||||
|
|
||||||
var linkUrl = ApiClient.getUrl('Users/' + user.Id + '/Connect/Link');
|
|
||||||
|
|
||||||
if (currentConnectUsername && !enteredConnectUsername) {
|
|
||||||
|
|
||||||
// Remove connect info
|
|
||||||
// Add/Update connect info
|
|
||||||
ApiClient.ajax({
|
|
||||||
|
|
||||||
type: "DELETE",
|
|
||||||
url: linkUrl
|
|
||||||
|
|
||||||
}).then(function () {
|
|
||||||
|
|
||||||
Dashboard.alert({
|
|
||||||
|
|
||||||
message: Globalize.translate('MessageEmbyAccontRemoved'),
|
|
||||||
title: Globalize.translate('HeaderEmbyAccountRemoved'),
|
|
||||||
|
|
||||||
callback: actionCallback
|
|
||||||
|
|
||||||
});
|
|
||||||
}, function () {
|
|
||||||
|
|
||||||
Dashboard.alert({
|
|
||||||
|
|
||||||
message: Globalize.translate('ErrorRemovingEmbyConnectAccount')
|
|
||||||
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
else if (currentConnectUsername != enteredConnectUsername) {
|
|
||||||
|
|
||||||
// Add/Update connect info
|
|
||||||
ApiClient.ajax({
|
|
||||||
type: "POST",
|
|
||||||
url: linkUrl,
|
|
||||||
data: {
|
|
||||||
ConnectUsername: enteredConnectUsername
|
|
||||||
},
|
|
||||||
dataType: 'json'
|
|
||||||
|
|
||||||
}).then(function (result) {
|
|
||||||
|
|
||||||
var msgKey = result.IsPending ? 'MessagePendingEmbyAccountAdded' : 'MessageEmbyAccountAdded';
|
|
||||||
|
|
||||||
Dashboard.alert({
|
|
||||||
message: Globalize.translate(msgKey),
|
|
||||||
title: Globalize.translate('HeaderEmbyAccountAdded'),
|
|
||||||
|
|
||||||
callback: actionCallback
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
}, function () {
|
|
||||||
|
|
||||||
showEmbyConnectErrorMessage('.');
|
|
||||||
});
|
|
||||||
|
|
||||||
} else {
|
|
||||||
if (noActionCallback) {
|
|
||||||
noActionCallback();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function showEmbyConnectErrorMessage(username) {
|
|
||||||
|
|
||||||
var html;
|
|
||||||
var text;
|
|
||||||
|
|
||||||
if (username) {
|
|
||||||
|
|
||||||
html = Globalize.translate('ErrorAddingEmbyConnectAccount1', '<a href="https://emby.media/connect" target="_blank">https://emby.media/connect</a>');
|
|
||||||
html += '<br/><br/>' + Globalize.translate('ErrorAddingEmbyConnectAccount2', 'apps@emby.media');
|
|
||||||
|
|
||||||
text = Globalize.translate('ErrorAddingEmbyConnectAccount1', 'https://emby.media/connect');
|
|
||||||
text += '\n\n' + Globalize.translate('ErrorAddingEmbyConnectAccount2', 'apps@emby.media');
|
|
||||||
|
|
||||||
} else {
|
|
||||||
html = text = Globalize.translate('DefaultErrorMessage');
|
|
||||||
}
|
|
||||||
|
|
||||||
require(['alert'], function (alert) {
|
|
||||||
alert({
|
|
||||||
text: text,
|
|
||||||
html: html
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
show: function () {
|
show: function () {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
|
@ -141,7 +46,8 @@
|
||||||
dlg.querySelector('form').addEventListener('submit', function (e) {
|
dlg.querySelector('form').addEventListener('submit', function (e) {
|
||||||
|
|
||||||
ApiClient.getCurrentUser().then(function (user) {
|
ApiClient.getCurrentUser().then(function (user) {
|
||||||
updateUserInfo(user, dlg.querySelector('#txtConnectUsername').value, function() {
|
|
||||||
|
connectHelper.updateUserLink(ApiClient, user, dlg.querySelector('#txtConnectUsername').value).then(function () {
|
||||||
dialogHelper.close(dlg);
|
dialogHelper.close(dlg);
|
||||||
}, function () {
|
}, function () {
|
||||||
dialogHelper.close(dlg);
|
dialogHelper.close(dlg);
|
||||||
|
|
|
@ -24,101 +24,30 @@
|
||||||
|
|
||||||
Dashboard.showLoadingMsg();
|
Dashboard.showLoadingMsg();
|
||||||
|
|
||||||
ApiClient.getJSON(ApiClient.getUrl("Channels", {})).then(function (channelsResult) {
|
var shareExcludes = $(".chkShareFolder", dlg).get().filter(function (i) {
|
||||||
|
|
||||||
var shareExcludes = $(".chkShareFolder", dlg).get().filter(function (i) {
|
return i.checked;
|
||||||
|
|
||||||
return i.checked;
|
}).map(function (i) {
|
||||||
|
|
||||||
}).map(function (i) {
|
return i.getAttribute('data-folderid');
|
||||||
|
});
|
||||||
|
|
||||||
return i.getAttribute('data-folderid');
|
require(['connectHelper'], function (connectHelper) {
|
||||||
});
|
|
||||||
|
|
||||||
// Add/Update connect info
|
connectHelper.inviteGuest({
|
||||||
ApiClient.ajax({
|
apiClient: ApiClient,
|
||||||
|
guestOptions: {
|
||||||
type: "POST",
|
|
||||||
url: ApiClient.getUrl('Connect/Invite'),
|
|
||||||
dataType: 'json',
|
|
||||||
data: {
|
|
||||||
|
|
||||||
ConnectUsername: dlg.querySelector('#txtConnectUsername').value,
|
ConnectUsername: dlg.querySelector('#txtConnectUsername').value,
|
||||||
EnabledLibraries: shareExcludes.join(','),
|
EnabledLibraries: shareExcludes.join(','),
|
||||||
SendingUserId: Dashboard.getCurrentUserId(),
|
SendingUserId: Dashboard.getCurrentUserId(),
|
||||||
EnableLiveTv: false
|
EnableLiveTv: false
|
||||||
}
|
}
|
||||||
|
}).then(function() {
|
||||||
}).then(function (result) {
|
|
||||||
|
|
||||||
dlg.submitted = true;
|
dlg.submitted = true;
|
||||||
dialogHelper.close(dlg);
|
dialogHelper.close(dlg);
|
||||||
|
|
||||||
Dashboard.hideLoadingMsg();
|
|
||||||
|
|
||||||
showNewUserInviteMessage(dlg, result);
|
|
||||||
|
|
||||||
}, function (response) {
|
|
||||||
|
|
||||||
Dashboard.hideLoadingMsg();
|
|
||||||
|
|
||||||
if (!response.status) {
|
|
||||||
// General error
|
|
||||||
require(['alert'], function (alert) {
|
|
||||||
alert({
|
|
||||||
text: Globalize.translate('DefaultErrorMessage')
|
|
||||||
});
|
|
||||||
});
|
|
||||||
} else if (response.status == 404) {
|
|
||||||
// User doesn't exist
|
|
||||||
require(['alert'], function (alert) {
|
|
||||||
alert({
|
|
||||||
text: Globalize.translate('GuestUserNotFound')
|
|
||||||
});
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
|
|
||||||
// status 400 = account not activated
|
|
||||||
|
|
||||||
// General error
|
|
||||||
showAccountErrorMessage();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function showAccountErrorMessage() {
|
|
||||||
|
|
||||||
var html = Globalize.translate('ErrorAddingGuestAccount1', '<a href="https://emby.media/connect" target="_blank">https://emby.media/connect</a>');
|
|
||||||
html += '<br/><br/>' + Globalize.translate('ErrorAddingGuestAccount2', 'apps@emby.media');
|
|
||||||
|
|
||||||
var text = Globalize.translate('ErrorAddingGuestAccount1', 'https://emby.media/connect');
|
|
||||||
text += '\n\n' + Globalize.translate('ErrorAddingGuestAccount2', 'apps@emby.media');
|
|
||||||
|
|
||||||
require(['alert'], function (alert) {
|
|
||||||
alert({
|
|
||||||
text: text,
|
|
||||||
html: html
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function showNewUserInviteMessage(page, result) {
|
|
||||||
|
|
||||||
if (!result.IsNewUserInvitation && !result.IsPending) {
|
|
||||||
|
|
||||||
// It was immediately approved
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var message = result.IsNewUserInvitation ?
|
|
||||||
Globalize.translate('MessageInvitationSentToNewUser', result.GuestDisplayName) :
|
|
||||||
Globalize.translate('MessageInvitationSentToUser', result.GuestDisplayName);
|
|
||||||
|
|
||||||
require(['alert'], function (alert) {
|
|
||||||
alert({
|
|
||||||
text: message,
|
|
||||||
title: Globalize.translate('HeaderInvitationSent')
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -132,7 +132,9 @@
|
||||||
promise.then(function (result) {
|
promise.then(function (result) {
|
||||||
|
|
||||||
renderRecordings(context.querySelector('#latestRecordings'), result.Items, {
|
renderRecordings(context.querySelector('#latestRecordings'), result.Items, {
|
||||||
shape: (enableScrollX() ? 'overflowBackdrop' : 'backdrop')
|
shape: (enableScrollX() ? 'overflowBackdrop' : 'backdrop'),
|
||||||
|
showYear: true,
|
||||||
|
lines: 2
|
||||||
});
|
});
|
||||||
|
|
||||||
Dashboard.hideLoadingMsg();
|
Dashboard.hideLoadingMsg();
|
||||||
|
|
|
@ -1252,6 +1252,8 @@ var AppInfo = {};
|
||||||
define("alphaPicker", [embyWebComponentsBowerPath + "/alphapicker/alphapicker"], returnFirstDependency);
|
define("alphaPicker", [embyWebComponentsBowerPath + "/alphapicker/alphapicker"], returnFirstDependency);
|
||||||
define("paper-icon-button-light", [embyWebComponentsBowerPath + "/emby-button/paper-icon-button-light"]);
|
define("paper-icon-button-light", [embyWebComponentsBowerPath + "/emby-button/paper-icon-button-light"]);
|
||||||
|
|
||||||
|
define("connectHelper", [embyWebComponentsBowerPath + "/emby-connect/connecthelper"], returnFirstDependency);
|
||||||
|
|
||||||
define("emby-input", [embyWebComponentsBowerPath + "/emby-input/emby-input"], returnFirstDependency);
|
define("emby-input", [embyWebComponentsBowerPath + "/emby-input/emby-input"], returnFirstDependency);
|
||||||
define("emby-select", [embyWebComponentsBowerPath + "/emby-select/emby-select"], returnFirstDependency);
|
define("emby-select", [embyWebComponentsBowerPath + "/emby-select/emby-select"], returnFirstDependency);
|
||||||
define("emby-slider", [embyWebComponentsBowerPath + "/emby-slider/emby-slider"], returnFirstDependency);
|
define("emby-slider", [embyWebComponentsBowerPath + "/emby-slider/emby-slider"], returnFirstDependency);
|
||||||
|
|
|
@ -55,111 +55,6 @@
|
||||||
Dashboard.hideLoadingMsg();
|
Dashboard.hideLoadingMsg();
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateUserInfo(user, newConnectUsername, actionCallback, noActionCallback) {
|
|
||||||
var currentConnectUsername = user.ConnectUserName || '';
|
|
||||||
var enteredConnectUsername = newConnectUsername;
|
|
||||||
|
|
||||||
var linkUrl = ApiClient.getUrl('Users/' + user.Id + '/Connect/Link');
|
|
||||||
|
|
||||||
if (currentConnectUsername && !enteredConnectUsername) {
|
|
||||||
|
|
||||||
// Remove connect info
|
|
||||||
// Add/Update connect info
|
|
||||||
ApiClient.ajax({
|
|
||||||
|
|
||||||
type: "DELETE",
|
|
||||||
url: linkUrl
|
|
||||||
|
|
||||||
}).then(function () {
|
|
||||||
|
|
||||||
Dashboard.alert({
|
|
||||||
|
|
||||||
message: Globalize.translate('MessageEmbyAccontRemoved'),
|
|
||||||
title: Globalize.translate('HeaderEmbyAccountRemoved'),
|
|
||||||
|
|
||||||
callback: actionCallback
|
|
||||||
|
|
||||||
});
|
|
||||||
}, function () {
|
|
||||||
|
|
||||||
Dashboard.alert({
|
|
||||||
|
|
||||||
message: Globalize.translate('ErrorRemovingEmbyConnectAccount')
|
|
||||||
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
else if (currentConnectUsername != enteredConnectUsername) {
|
|
||||||
|
|
||||||
// Add/Update connect info
|
|
||||||
ApiClient.ajax({
|
|
||||||
type: "POST",
|
|
||||||
url: linkUrl,
|
|
||||||
data: {
|
|
||||||
ConnectUsername: enteredConnectUsername
|
|
||||||
},
|
|
||||||
dataType: 'json'
|
|
||||||
|
|
||||||
}).then(function (result) {
|
|
||||||
|
|
||||||
var msgKey = result.IsPending ? 'MessagePendingEmbyAccountAdded' : 'MessageEmbyAccountAdded';
|
|
||||||
|
|
||||||
Dashboard.alert({
|
|
||||||
message: Globalize.translate(msgKey),
|
|
||||||
title: Globalize.translate('HeaderEmbyAccountAdded'),
|
|
||||||
|
|
||||||
callback: actionCallback
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
}, function (response) {
|
|
||||||
|
|
||||||
if (response.status == 500) {
|
|
||||||
|
|
||||||
Dashboard.alert({
|
|
||||||
|
|
||||||
message: Globalize.translate('ErrorAddingEmbyConnectAccount3')
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
} else {
|
|
||||||
showEmbyConnectErrorMessage('.');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
} else {
|
|
||||||
if (noActionCallback) {
|
|
||||||
noActionCallback();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function showEmbyConnectErrorMessage(username) {
|
|
||||||
|
|
||||||
var html;
|
|
||||||
var text;
|
|
||||||
|
|
||||||
if (username) {
|
|
||||||
|
|
||||||
html = Globalize.translate('ErrorAddingEmbyConnectAccount1', '<a href="https://emby.media/connect" target="_blank">https://emby.media/connect</a>');
|
|
||||||
html += '<br/><br/>' + Globalize.translate('ErrorAddingEmbyConnectAccount2', 'apps@emby.media');
|
|
||||||
|
|
||||||
text = Globalize.translate('ErrorAddingEmbyConnectAccount1', 'https://emby.media/connect');
|
|
||||||
text += '\n\n' + Globalize.translate('ErrorAddingEmbyConnectAccount2', 'apps@emby.media');
|
|
||||||
|
|
||||||
} else {
|
|
||||||
html = text = Globalize.translate('DefaultErrorMessage');
|
|
||||||
}
|
|
||||||
|
|
||||||
require(['alert'], function (alert) {
|
|
||||||
alert({
|
|
||||||
text: text,
|
|
||||||
html: html
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function onSaveComplete(page, user) {
|
function onSaveComplete(page, user) {
|
||||||
|
|
||||||
Dashboard.hideLoadingMsg();
|
Dashboard.hideLoadingMsg();
|
||||||
|
@ -173,9 +68,11 @@
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
updateUserInfo(user, $('#txtConnectUserName', page).val(), function () {
|
require(['connectHelper'], function (connectHelper) {
|
||||||
|
connectHelper.updateUserLink(ApiClient, user, $('#txtConnectUserName', page).val()).then(function () {
|
||||||
|
|
||||||
loadData(page);
|
loadData(page);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue