var SupporterKeyPage = { onPageShow: function () { SupporterKeyPage.load(this); }, load: function (page) { Dashboard.showLoadingMsg(); ApiClient.getPluginSecurityInfo().done(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(); }); }, updateSupporterKey: function () { Dashboard.showLoadingMsg(); var form = this; var key = $('#txtSupporterKey', form).val(); var info = { SupporterKey: key }; ApiClient.updatePluginSecurityInfo(info).done(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'); SupporterKeyPage.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 info = { email: email, newkey: newkey, oldkey: oldkey }; var url = "http://mb3admin.com/admin/service/supporter/linkKeys"; Logger.log(url); $.post(url, info).done(function (res) { var result = JSON.parse(res); Dashboard.hideLoadingMsg(); if (result.Success) { Dashboard.alert(Globalize.translate('MessageKeysLinked')); } else { Dashboard.showError(result.ErrorMessage); } Logger.log(result); }); return false; }, retrieveSupporterKey: function () { Dashboard.showLoadingMsg(); var form = this; var email = $('#txtEmail', form).val(); var url = "http://mb3admin.com/admin/service/supporter/retrievekey?email=" + email; Logger.log(url); $.post(url).done(function (res) { var result = JSON.parse(res); Dashboard.hideLoadingMsg(); if (result.Success) { Dashboard.alert(Globalize.translate('MessageKeyEmailedTo').replace("{0}", email)); } else { Dashboard.showError(result.ErrorMessage); } Logger.log(result); }); return false; } }; $(document).on('pageshowready', "#supporterKeyPage", SupporterKeyPage.onPageShow); (function () { var connectSupporterInfo; function showAddUserForm(page) { $('.popupAddUser', page).popup('open'); $('#selectUserToAdd', page).html(connectSupporterInfo.EligibleUsers.map(function (u) { return ''; }).join('')); } function addUser(page, id) { Dashboard.showLoadingMsg(); ApiClient.ajax({ type: "POST", url: ApiClient.getUrl('Connect/Supporters', { Id: id }) }).done(function () { $('.popupAddUser', page).popup('close'); loadConnectSupporters(page); }); } function removeUser(page, id) { Dashboard.confirm(Globalize.translate('MessageConfirmRemoveConnectSupporter'), Globalize.translate('HeaderConfirmRemoveUser'), function (result) { if (result) { Dashboard.showLoadingMsg(); ApiClient.ajax({ type: "DELETE", url: ApiClient.getUrl('Connect/Supporters', { Id: id }) }).done(function () { loadConnectSupporters(page); }); } }); } function getUserHtml(user) { var html = ''; html += '
'; html += user.Email; html += '
'; html += ''; html += ''; html += ''; html += '' + Globalize.translate('MessageErrorLoadingSupporterInfo') + '
'); }).always(function () { Dashboard.suppressAjaxErrors = false; }); } $(document).on('pageinit', "#supporterKeyPage", function () { var page = this; $('#btnAddConnectUser', page).on('click', function () { showAddUserForm(page); }); $('#supporterKeyForm').on('submit', SupporterKeyPage.updateSupporterKey); $('#lostKeyForm').on('submit', SupporterKeyPage.retrieveSupporterKey); $('#linkKeysForm').on('submit', SupporterKeyPage.linkSupporterKeys); $('.popupAddUserForm').on('submit', SupporterKeyPage.onAddConnectUserSubmit).on('submit', SupporterKeyPage.onAddConnectUserSubmit); }).on('pageshowready', "#supporterKeyPage", function () { var page = this; loadConnectSupporters(page); }); window.SupporterKeyPage.onAddConnectUserSubmit = function () { var page = $(this).parents('.page'); var id = $('#selectUserToAdd', page).val(); addUser(page, id); return false; }; })();