jellyfin-web/dashboard-ui/scripts/supporterkeypage.js
2016-07-05 14:11:28 -04:00

188 lines
5.3 KiB
JavaScript

define(['fetchHelper', 'jQuery', 'registrationservices'], function (fetchHelper, $, registrationServices) {
function load(page) {
Dashboard.showLoadingMsg();
ApiClient.getPluginSecurityInfo().then(function (info) {
$('#txtSupporterKey', page).val(info.SupporterKey);
if (info.SupporterKey && !info.IsMBSupporter) {
page.querySelector('#txtSupporterKey').classList.add('invalidEntry');
$('.notSupporter', page).show();
} else {
page.querySelector('#txtSupporterKey').classList.remove('invalidEntry');
$('.notSupporter', page).hide();
}
Dashboard.hideLoadingMsg();
});
}
function loadUserInfo(page) {
Dashboard.getPluginSecurityInfo().then(function (info) {
if (info.IsMBSupporter) {
$('.supporterContainer', page).addClass('hide');
} else {
$('.supporterContainer', page).removeClass('hide');
}
});
}
function retrieveSupporterKey() {
Dashboard.showLoadingMsg();
var form = this;
var email = $('#txtEmail', form).val();
var url = "https://mb3admin.com/admin/service/supporter/retrievekey?email=" + email;
console.log(url);
fetchHelper.ajax({
url: url,
type: 'POST',
dataType: 'json'
}).then(function (result) {
Dashboard.hideLoadingMsg();
if (result.Success) {
require(['toast'], function (toast) {
toast(Globalize.translate('MessageKeyEmailedTo').replace("{0}", email));
});
} else {
require(['toast'], function (toast) {
toast(result.ErrorMessage);
});
}
console.log(result);
});
return false;
}
var SupporterKeyPage = {
updateSupporterKey: function () {
Dashboard.showLoadingMsg();
var form = this;
var key = $('#txtSupporterKey', form).val();
var info = {
SupporterKey: key
};
ApiClient.updatePluginSecurityInfo(info).then(function () {
Dashboard.resetPluginSecurityInfo();
Dashboard.hideLoadingMsg();
if (key) {
Dashboard.alert({
message: Globalize.translate('MessageKeyUpdated'),
title: Globalize.translate('HeaderConfirmation')
});
} else {
Dashboard.alert({
message: Globalize.translate('MessageKeyRemoved'),
title: Globalize.translate('HeaderConfirmation')
});
}
var page = $(form).parents('.page')[0];
load(page);
});
return false;
},
linkSupporterKeys: function () {
Dashboard.showLoadingMsg();
var form = this;
var email = $('#txtNewEmail', form).val();
var newkey = $('#txtNewKey', form).val();
var oldkey = $('#txtOldKey', form).val();
var url = "https://mb3admin.com/admin/service/supporter/linkKeys";
console.log(url);
fetchHelper.ajax({
url: url,
type: 'POST',
dataType: 'json',
query: {
email: email,
newkey: newkey,
oldkey: oldkey
}
}).then(function (result) {
Dashboard.hideLoadingMsg();
if (result.Success) {
require(['toast'], function (toast) {
toast(Globalize.translate('MessageKeysLinked'));
});
} else {
require(['toast'], function (toast) {
toast(result.ErrorMessage);
});
}
console.log(result);
});
return false;
}
};
function getTabs() {
return [
{
href: 'about.html',
name: Globalize.translate('TabAbout')
},
{
href: 'supporterkey.html',
name: Globalize.translate('TabEmbyPremiere')
}];
}
function onSupporterLinkClick(e) {
registrationServices.showPremiereInfo();
e.preventDefault();
e.stopPropagation();
}
$(document).on('pageinit', "#supporterKeyPage", function () {
var page = this;
$('#supporterKeyForm', this).on('submit', SupporterKeyPage.updateSupporterKey);
$('#lostKeyForm', this).on('submit', retrieveSupporterKey);
$('#linkKeysForm', this).on('submit', SupporterKeyPage.linkSupporterKeys);
page.querySelector('.benefits').innerHTML = Globalize.translate('HeaderSupporterBenefit', '<a class="lnkPremiere" href="http://emby.media/premiere" target="_blank">', '</a>');
page.querySelector('.lnkPremiere').addEventListener('click', onSupporterLinkClick);
}).on('pageshow', "#supporterKeyPage", function () {
LibraryMenu.setTabs('helpadmin', 1, getTabs);
var page = this;
loadUserInfo(page);
load(page);
});
});