1
0
mirror of https://github.com/moparisthebest/SickRage synced 2025-01-07 03:48:02 -05:00

config_notifications improvements

* Changed notifier test buttons to not run if required field is missing
* Required fields will now highlight input box and add an icon if field is missing when test is pushed
* Changed Test Plex Media Server to Test Plex Client as it only tests the client and not the server
* Styled config_notifications to match new config_general styling

Wording corrections
This commit is contained in:
Supremicus 2014-10-28 10:51:55 +10:00
parent 4ab2b141a1
commit 12dd9abd5f
7 changed files with 912 additions and 602 deletions

View File

@ -1,4 +1,4 @@
### 0.x.x (2014-10-27 xx:xx:xx UTC) ### 0.x.x (2014-10-28 xx:xx:xx UTC)
* Add Bootstrap for UI features * Add Bootstrap for UI features
* Change UI to resize fluidly on different display sizes, fixes the issue where top menu items would disappear on smaller screens. * Change UI to resize fluidly on different display sizes, fixes the issue where top menu items would disappear on smaller screens.
@ -26,6 +26,10 @@
* Fix Layout "Poster" sort of Paused, Ended, and Continuing shows as they were random * Fix Layout "Poster" sort of Paused, Ended, and Continuing shows as they were random
* Fix Layout "Simple" sort of tvrage "New" and "Returning" series by changing status column text to "Continuing" * Fix Layout "Simple" sort of tvrage "New" and "Returning" series by changing status column text to "Continuing"
* Add dark spinner to "Add New Show" (searching indexers), "Add existing shows" (Loading Folders), Coming Eps and all config pages (when saving) * Add dark spinner to "Add New Show" (searching indexers), "Add existing shows" (Loading Folders), Coming Eps and all config pages (when saving)
* Changed notifier test buttons to not run if required field is missing
* Required fields will now highlight input box and add an icon if field is missing when test is pushed
* Changed Test Plex Media Server to Test Plex Client as it only tests the client and not the server
* Styled config_notifications to match new config_general styling
### 0.2.1 (2014-10-22 06:41:00 UTC) ### 0.2.1 (2014-10-22 06:41:00 UTC)

View File

@ -1701,6 +1701,10 @@ div.metadataDiv .disabled {
margin: 6px 4px 0px 0px; margin: 6px 4px 0px 0px;
} }
.warning {
border-color: #F89406;
background: url("../images/warning16.png") no-repeat right 5px center #fff;
}
/* ======================================================================= /* =======================================================================
manage*.tmpl manage*.tmpl

View File

@ -1673,6 +1673,10 @@ div.metadataDiv .disabled {
margin: 6px 4px 0px 0px; margin: 6px 4px 0px 0px;
} }
.warning {
border-color: #F89406;
background: url("../images/warning16.png") no-repeat right 5px center #fff;
}
/* ======================================================================= /* =======================================================================
manage*.tmpl manage*.tmpl

View File

@ -1751,6 +1751,10 @@ div.metadataDiv .disabled {
margin: 6px 4px 0px 0px; margin: 6px 4px 0px 0px;
} }
.warning {
border-color: #F89406;
background: url("../images/warning16.png") no-repeat right 5px center #fff;
}
/* ======================================================================= /* =======================================================================
manage*.tmpl manage*.tmpl

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

File diff suppressed because it is too large Load Diff

View File

@ -1,88 +1,168 @@
$(document).ready(function(){ $(document).ready(function(){
var loading = '<img src="' + sbRoot + '/images/loading16' + themeSpinner + '.gif" height="16" width="16" />'; var loading = '<img src="' + sbRoot + '/images/loading16' + themeSpinner + '.gif" height="16" width="16" />';
$('#testGrowl').click(function(){ $('#testGrowl').click(function () {
var growl_host = $.trim($('#growl_host').val());
var growl_password = $.trim($('#growl_password').val());
if (!growl_host) {
$('#testGrowl-result').html('Please fill out the necessary fields above.');
$('#growl_host').addClass('warning');
return;
}
$('#growl_host').removeClass('warning');
$(this).prop('disabled', true);
$('#testGrowl-result').html(loading); $('#testGrowl-result').html(loading);
var growl_host = $("#growl_host").val(); $.get(sbRoot + '/home/testGrowl', {'host': growl_host, 'password': growl_password})
var growl_password = $("#growl_password").val();
$.get(sbRoot + "/home/testGrowl", {'host': growl_host, 'password': growl_password},
function (data) { $('#testGrowl-result').html(data); });
});
$('#testProwl').click(function() {
$('#testProwl-result').html(loading);
var prowl_api = $("#prowl_api").val();
var prowl_priority = $("#prowl_priority").val();
$.get(sbRoot + "/home/testProwl", {'prowl_api': prowl_api, 'prowl_priority': prowl_priority},
function (data) { $('#testProwl-result').html(data); });
});
$('#testXBMC').click(function() {
$("#testXBMC").attr("disabled", true);
$('#testXBMC-result').html(loading);
var xbmc_host = $("#xbmc_host").val();
var xbmc_username = $("#xbmc_username").val();
var xbmc_password = $("#xbmc_password").val();
$.get(sbRoot + "/home/testXBMC", {'host': xbmc_host, 'username': xbmc_username, 'password': xbmc_password})
.done(function (data) { .done(function (data) {
$('#testXBMC-result').html(data); $('#testGrowl-result').html(data);
$("#testXBMC").attr("disabled", false); $('#testGrowl').prop('disabled', false);
}); });
}); });
$('#testPLEX').click(function() { $('#testProwl').click(function () {
var prowl_api = $.trim($('#prowl_api').val());
var prowl_priority = $('#prowl_priority').val();
if (!prowl_api) {
$('#testProwl-result').html('Please fill out the necessary fields above.');
$('#prowl_api').addClass('warning');
return;
}
$('#prowl_api').removeClass('warning');
$(this).prop('disabled', true);
$('#testProwl-result').html(loading);
$.get(sbRoot + '/home/testProwl', {'prowl_api': prowl_api, 'prowl_priority': prowl_priority})
.done(function (data) {
$('#testProwl-result').html(data);
$('#testProwl').prop('disabled', false);
});
});
$('#testXBMC').click(function () {
var xbmc_host = $.trim($('#xbmc_host').val());
var xbmc_username = $.trim($('#xbmc_username').val());
var xbmc_password = $.trim($('#xbmc_password').val());
if (!xbmc_host) {
$('#testXBMC-result').html('Please fill out the necessary fields above.');
$('#xbmc_host').addClass('warning');
return;
}
$('#xbmc_host').removeClass('warning');
$(this).prop('disabled', true);
$('#testXBMC-result').html(loading);
$.get(sbRoot + '/home/testXBMC', {'host': xbmc_host, 'username': xbmc_username, 'password': xbmc_password})
.done(function (data) {
$('#testXBMC-result').html(data);
$('#testXBMC').prop('disabled', false);
});
});
$('#testPLEX').click(function () {
var plex_host = $.trim($('#plex_host').val());
var plex_username = $.trim($('#plex_username').val());
var plex_password = $.trim($('#plex_password').val());
if (!plex_host) {
$('#testPLEX-result').html('Please fill out the necessary fields above.');
$('#plex_host').addClass('warning');
return;
}
$('#plex_host').removeClass('warning');
$(this).prop('disabled', true);
$('#testPLEX-result').html(loading); $('#testPLEX-result').html(loading);
var plex_host = $("#plex_host").val(); $.get(sbRoot + '/home/testPLEX', {'host': plex_host, 'username': plex_username, 'password': plex_password})
var plex_username = $("#plex_username").val(); .done(function (data) {
var plex_password = $("#plex_password").val(); $('#testPLEX-result').html(data);
$.get(sbRoot + "/home/testPLEX", {'host': plex_host, 'username': plex_username, 'password': plex_password}, $('#testPLEX').prop('disabled', false);
function (data) { $('#testPLEX-result').html(data); }); });
}); });
$('#testBoxcar').click(function() { $('#testBoxcar').click(function() {
var boxcar_username = $.trim($('#boxcar_username').val());
if (!boxcar_username) {
$('#testBoxcar-result').html('Please fill out the necessary fields above.');
$('#boxcar_username').addClass('warning');
return;
}
$('#boxcar_username').removeClass('warning');
$(this).prop('disabled', true);
$('#testBoxcar-result').html(loading); $('#testBoxcar-result').html(loading);
var boxcar_username = $("#boxcar_username").val(); $.get(sbRoot + '/home/testBoxcar', {'username': boxcar_username})
$.get(sbRoot + "/home/testBoxcar", {'username': boxcar_username}, .done(function (data) {
function (data) { $('#testBoxcar-result').html(data); }); $('#testBoxcar-result').html(data);
$('#testBoxcar').prop('disabled', false);
});
}); });
$('#testBoxcar2').click(function() { $('#testBoxcar2').click(function () {
var boxcar2_accesstoken = $.trim($('#boxcar2_accesstoken').val());
if (!boxcar2_accesstoken) {
$('#testBoxcar2-result').html('Please fill out the necessary fields above.');
$('#boxcar2_accesstoken').addClass('warning');
return;
}
$('#boxcar2_accesstoken').removeClass('warning');
$(this).prop('disabled', true);
$('#testBoxcar2-result').html(loading); $('#testBoxcar2-result').html(loading);
var boxcar2_accesstoken = $("#boxcar2_accesstoken").val(); $.get(sbRoot + '/home/testBoxcar2', {'accessToken': boxcar2_accesstoken})
$.get(sbRoot + "/home/testBoxcar2", {'accesstoken': boxcar2_accesstoken}, .done(function (data) {
function (data) { $('#testBoxcar2-result').html(data); }); $('#testBoxcar2-result').html(data);
$('#testBoxcar2').prop('disabled', false);
});
}); });
$('#testPushover').click(function() { $('#testPushover').click(function () {
var pushover_userkey = $('#pushover_userkey').val();
var pushover_apikey = $('#pushover_apikey').val();
if (!pushover_userkey || !pushover_apikey) {
$('#testPushover-result').html('Please fill out the necessary fields above.');
if (!pushover_userkey) {
$('#pushover_userkey').addClass('warning');
} else {
$('#pushover_userkey').removeClass('warning');
}
if (!pushover_apikey) {
$('#pushover_apikey').addClass('warning');
} else {
$('#pushover_apikey').removeClass('warning');
}
return;
}
$('#pushover_userkey,#pushover_apikey').removeClass('warning');
$(this).prop('disabled', true);
$('#testPushover-result').html(loading); $('#testPushover-result').html(loading);
var pushover_userkey = $("#pushover_userkey").val(); $.get(sbRoot + '/home/testPushover', {'userKey': pushover_userkey, 'apiKey': pushover_apikey})
var pushover_apikey = $("#pushover_apikey").val(); .done(function (data) {
$.get(sbRoot + "/home/testPushover", {'userKey': pushover_userkey, 'apiKey': pushover_apikey}, $('#testPushover-result').html(data);
function (data) { $('#testPushover-result').html(data); }); $('#testPushover').prop('disabled', false);
});
}); });
$('#testLibnotify').click(function() { $('#testLibnotify').click(function() {
$('#testLibnotify-result').html(loading); $('#testLibnotify-result').html(loading);
$.get(sbRoot + "/home/testLibnotify", $.get(sbRoot + '/home/testLibnotify',
function (data) { $('#testLibnotify-result').html(data); }); function (data) { $('#testLibnotify-result').html(data); });
}); });
$('#twitterStep1').click(function() { $('#twitterStep1').click(function() {
$('#testTwitter-result').html(loading); $('#testTwitter-result').html(loading);
$.get(sbRoot + "/home/twitterStep1", function (data) {window.open(data); }) $.get(sbRoot + '/home/twitterStep1', function (data) {window.open(data); })
.done(function () { $('#testTwitter-result').html('<b>Step1:</b> Confirm Authorization'); }); .done(function () { $('#testTwitter-result').html('<b>Step1:</b> Confirm Authorization'); });
}); });
$('#twitterStep2').click(function() { $('#twitterStep2').click(function () {
var twitter_key = $.trim($('#twitter_key').val());
if (!twitter_key) {
$('#testTwitter-result').html('Please fill out the necessary fields above.');
$('#twitter_key').addClass('warning');
return;
}
$('#twitter_key').removeClass('warning');
$('#testTwitter-result').html(loading); $('#testTwitter-result').html(loading);
var twitter_key = $("#twitter_key").val(); $.get(sbRoot + '/home/twitterStep2', {'key': twitter_key},
$.get(sbRoot + "/home/twitterStep2", {'key': twitter_key},
function (data) { $('#testTwitter-result').html(data); }); function (data) { $('#testTwitter-result').html(data); });
}); });
$('#testTwitter').click(function() { $('#testTwitter').click(function() {
$.get(sbRoot + "/home/testTwitter", $.get(sbRoot + '/home/testTwitter',
function (data) { $('#testTwitter-result').html(data); }); function (data) { $('#testTwitter-result').html(data); });
}); });
@ -95,7 +175,7 @@ $(document).ready(function(){
$('#testNMJ-result').html(loading); $('#testNMJ-result').html(loading);
var nmj_host = $('#nmj_host').val(); var nmj_host = $('#nmj_host').val();
$.get(sbRoot + "/home/settingsNMJ", {'host': nmj_host}, $.get(sbRoot + '/home/settingsNMJ', {'host': nmj_host},
function (data) { function (data) {
if (data === null) { if (data === null) {
$('#nmj_database').removeAttr('readonly'); $('#nmj_database').removeAttr('readonly');
@ -119,14 +199,23 @@ $(document).ready(function(){
}); });
}); });
$('#testNMJ').click(function() { $('#testNMJ').click(function () {
var nmj_host = $.trim($('#nmj_host').val());
var nmj_database = $('#nmj_database').val();
var nmj_mount = $('#nmj_mount').val();
if (!nmj_host) {
$('#testNMJ-result').html('Please fill out the necessary fields above.');
$('#nmj_host').addClass('warning');
return;
}
$('#nmj_host').removeClass('warning');
$(this).prop('disabled', true);
$('#testNMJ-result').html(loading); $('#testNMJ-result').html(loading);
var nmj_host = $("#nmj_host").val(); $.get(sbRoot + '/home/testNMJ', {'host': nmj_host, 'database': nmj_database, 'mount': nmj_mount})
var nmj_database = $("#nmj_database").val(); .done(function (data) {
var nmj_mount = $("#nmj_mount").val(); $('#testNMJ-result').html(data);
$('#testNMJ').prop('disabled', false);
$.get(sbRoot + "/home/testNMJ", {'host': nmj_host, 'database': nmj_database, 'mount': nmj_mount}, });
function (data) { $('#testNMJ-result').html(data); });
}); });
$('#settingsNMJv2').click(function() { $('#settingsNMJv2').click(function() {
@ -138,7 +227,7 @@ $(document).ready(function(){
$('#testNMJv2-result').html(loading); $('#testNMJv2-result').html(loading);
var nmjv2_host = $('#nmjv2_host').val(); var nmjv2_host = $('#nmjv2_host').val();
var nmjv2_dbloc; var nmjv2_dbloc;
var radios = document.getElementsByName("nmjv2_dbloc"); var radios = document.getElementsByName('nmjv2_dbloc');
for (var i = 0; i < radios.length; i++) { for (var i = 0; i < radios.length; i++) {
if (radios[i].checked) { if (radios[i].checked) {
nmjv2_dbloc=radios[i].value; nmjv2_dbloc=radios[i].value;
@ -147,7 +236,7 @@ $(document).ready(function(){
} }
var nmjv2_dbinstance=$('#NMJv2db_instance').val(); var nmjv2_dbinstance=$('#NMJv2db_instance').val();
$.get(sbRoot + "/home/settingsNMJv2", {'host': nmjv2_host,'dbloc': nmjv2_dbloc,'instance': nmjv2_dbinstance}, $.get(sbRoot + '/home/settingsNMJv2', {'host': nmjv2_host,'dbloc': nmjv2_dbloc,'instance': nmjv2_dbinstance},
function (data){ function (data){
if (data == null) { if (data == null) {
$('#nmjv2_database').removeAttr('readonly'); $('#nmjv2_database').removeAttr('readonly');
@ -163,38 +252,69 @@ $(document).ready(function(){
}); });
}); });
$('#testNMJv2').click(function() { $('#testNMJv2').click(function () {
var nmjv2_host = $.trim($('#nmjv2_host').val());
if (!nmjv2_host) {
$('#testNMJv2-result').html('Please fill out the necessary fields above.');
$('#nmjv2_host').addClass('warning');
return;
}
$('#nmjv2_host').removeClass('warning');
$(this).prop('disabled', true);
$('#testNMJv2-result').html(loading); $('#testNMJv2-result').html(loading);
var nmjv2_host = $("#nmjv2_host").val(); $.get(sbRoot + '/home/testNMJv2', {'host': nmjv2_host})
.done(function (data) {
$.get(sbRoot + "/home/testNMJv2", {'host': nmjv2_host}, $('#testNMJv2-result').html(data);
function (data){ $('#testNMJv2-result').html(data); }); $('#testNMJv2').prop('disabled', false);
});
}); });
$('#testTrakt').click(function() { $('#testTrakt').click(function () {
var trakt_api = $.trim($('#trakt_api').val());
var trakt_username = $.trim($('#trakt_username').val());
var trakt_password = $.trim($('#trakt_password').val());
if (!trakt_api || !trakt_username || !trakt_password) {
$('#testTrakt-result').html('Please fill out the necessary fields above.');
if (!trakt_api) {
$('#trakt_api').addClass('warning');
} else {
$('#trakt_api').removeClass('warning');
}
if (!trakt_username) {
$('#trakt_username').addClass('warning');
} else {
$('#trakt_username').removeClass('warning');
}
if (!trakt_password) {
$('#trakt_password').addClass('warning');
} else {
$('#trakt_password').removeClass('warning');
}
return;
}
$('#trakt_api,#trakt_username,#trakt_password').removeClass('warning');
$(this).prop('disabled', true);
$('#testTrakt-result').html(loading); $('#testTrakt-result').html(loading);
var trakt_api = $("#trakt_api").val(); $.get(sbRoot + '/home/testTrakt', {'api': trakt_api, 'username': trakt_username, 'password': trakt_password})
var trakt_username = $("#trakt_username").val(); .done(function (data) {
var trakt_password = $("#trakt_password").val(); $('#testTrakt-result').html(data);
$('#testTrakt').prop('disabled', false);
$.get(sbRoot + "/home/testTrakt", {'api': trakt_api, 'username': trakt_username, 'password': trakt_password}, });
function (data) { $('#testTrakt-result').html(data); });
}); });
$('#testEmail').click(function () { $('#testEmail').click(function () {
var status, host, port, tls, from, user, pwd, err, to; var status, host, port, tls, from, user, pwd, err, to;
status = $('#testEmail-result'); status = $('#testEmail-result');
status.html(loading); status.html(loading);
host = $("#email_host").val(); host = $('#email_host').val();
host = host.length > 0 ? host : null; host = host.length > 0 ? host : null;
port = $("#email_port").val(); port = $('#email_port').val();
port = port.length > 0 ? port : null; port = port.length > 0 ? port : null;
tls = $("#email_tls").attr('checked') !== undefined ? 1 : 0; tls = $('#email_tls').attr('checked') !== undefined ? 1 : 0;
from = $("#email_from").val(); from = $('#email_from').val();
from = from.length > 0 ? from : 'root@localhost'; from = from.length > 0 ? from : 'root@localhost';
user = $("#email_user").val().trim(); user = $('#email_user').val().trim();
pwd = $("#email_password").val(); pwd = $('#email_password').val();
err = ''; err = '';
if (host === null) { if (host === null) {
err += '<li style="color: red;">You must specify an SMTP hostname!</li>'; err += '<li style="color: red;">You must specify an SMTP hostname!</li>';
@ -212,40 +332,62 @@ $(document).ready(function(){
if (to === null || to.length === 0 || to.match(/.*@.*/) === null) { if (to === null || to.length === 0 || to.match(/.*@.*/) === null) {
status.html('<p style="color: red;">You must provide a recipient email address!</p>'); status.html('<p style="color: red;">You must provide a recipient email address!</p>');
} else { } else {
$.get(sbRoot + "/home/testEmail", {host: host, port: port, smtp_from: from, use_tls: tls, user: user, pwd: pwd, to: to}, $.get(sbRoot + '/home/testEmail', {host: host, port: port, smtp_from: from, use_tls: tls, user: user, pwd: pwd, to: to},
function (msg) { $('#testEmail-result').html(msg); }); function (msg) { $('#testEmail-result').html(msg); });
} }
} }
}); });
$('#testNMA').click(function() { $('#testNMA').click(function () {
var nma_api = $.trim($('#nma_api').val());
var nma_priority = $('#nma_priority').val();
if (!nma_api) {
$('#testNMA-result').html('Please fill out the necessary fields above.');
$('#nma_api').addClass('warning');
return;
}
$('#nma_api').removeClass('warning');
$(this).prop('disabled', true);
$('#testNMA-result').html(loading); $('#testNMA-result').html(loading);
var nma_api = $("#nma_api").val(); $.get(sbRoot + '/home/testNMA', {'nma_api': nma_api, 'nma_priority': nma_priority})
var nma_priority = $("#nma_priority").val(); .done(function (data) {
$.get(sbRoot + "/home/testNMA", {'nma_api': nma_api, 'nma_priority': nma_priority}, $('#testNMA-result').html(data);
function (data) { $('#testNMA-result').html(data); }); $('#testNMA').prop('disabled', false);
});
}); });
$('#testPushalot').click(function () { $('#testPushalot').click(function () {
var pushalot_authorizationtoken = $.trim($('#pushalot_authorizationtoken').val());
if (!pushalot_authorizationtoken) {
$('#testPushalot-result').html('Please fill out the necessary fields above.');
$('#pushalot_authorizationtoken').addClass('warning');
return;
}
$('#pushalot_authorizationtoken').removeClass('warning');
$(this).prop('disabled', true);
$('#testPushalot-result').html(loading); $('#testPushalot-result').html(loading);
var pushalot_authorizationtoken = $("pushalot_authorizationtoken").val(); $.get(sbRoot + '/home/testPushalot', {'authorizationToken': pushalot_authorizationtoken})
$.get(sbRoot + "/home/testPushalot", {'authorizationToken': pushalot_authorizationtoken}, .done(function (data) {
function (data) { $('#testPushalot-result').html(data); }); $('#testPushalot-result').html(data);
$('#testPushalot').prop('disabled', false);
});
}); });
$('#testPushbullet').click(function () { $('#testPushbullet').click(function () {
$('#testPushbullet-result').html(loading); var pushbullet_api = $.trim($('#pushbullet_api').val());
var pushbullet_api = $("#pushbullet_api").val(); if (!pushbullet_api) {
if($("#pushbullet_api").val() == '') { $('#testPushbullet-result').html('Please fill out the necessary fields above.');
$('#testPushbullet-result').html("You didn't supply a Pushbullet api key"); $('#pushbullet_api').addClass('warning');
$("#pushbullet_api").focus(); return;
return false;
} }
$.get(sbRoot + "/home/testPushbullet", {'api': pushbullet_api}, $('#pushbullet_api').removeClass('warning');
function (data) { $(this).prop('disabled', true);
$('#testPushbullet-result').html(loading);
$.get(sbRoot + '/home/testPushbullet', {'api': pushbullet_api})
.done(function (data) {
$('#testPushbullet-result').html(data); $('#testPushbullet-result').html(data);
} $('#testPushbullet').prop('disabled', false);
); });
}); });
function get_pushbullet_devices(msg){ function get_pushbullet_devices(msg){
@ -323,4 +465,14 @@ $(document).ready(function(){
} }
// Load the per show notify lists everytime this page is loaded // Load the per show notify lists everytime this page is loaded
load_show_notify_lists(); load_show_notify_lists();
// show instructions for plex when enabled
$('#use_plex').click(function() {
if ( $(this).is(':checked') ) {
$('.plexinfo').removeClass('hide');
} else {
$('.plexinfo').addClass('hide');
}
});
}); });