@@ -28,9 +31,10 @@
% elif item['input_type'] == 'checkbox':
% endif
% endfor
@@ -81,4 +85,14 @@
function (data) { $('#ajaxMsg').html("
"+data+"
"); });
$('#ajaxMsg').addClass('success').fadeIn().delay(3000).fadeOut();
});
+
+ // Never send checkbox values directly, always substitute value in hidden input.
+ $('.checkboxes').click(function() {
+ var configToggle = $(this).data('id');
+ if ($(this).is(":checked")) {
+ $("#"+configToggle).val(1);
+ } else {
+ $("#"+configToggle).val(0);
+ }
+ });
diff --git a/plexpy/notifiers.py b/plexpy/notifiers.py
index 6d3abda1..44c21b0c 100644
--- a/plexpy/notifiers.py
+++ b/plexpy/notifiers.py
@@ -1243,7 +1243,7 @@ class Email(object):
'input_type': 'password'
},
{'label': 'TLS',
- 'value': checked(plexpy.CONFIG.EMAIL_TLS),
+ 'value': plexpy.CONFIG.EMAIL_TLS,
'name': 'email_tls',
'description': 'Does the server use encryption.',
'input_type': 'checkbox'
diff --git a/plexpy/webserve.py b/plexpy/webserve.py
index 2851605d..60d9bf4f 100644
--- a/plexpy/webserve.py
+++ b/plexpy/webserve.py
@@ -403,46 +403,7 @@ class WebInterface(object):
"cache_dir": plexpy.CONFIG.CACHE_DIR,
"check_github": checked(plexpy.CONFIG.CHECK_GITHUB),
"interface_list": interface_list,
- "growl_enabled": checked(plexpy.CONFIG.GROWL_ENABLED),
- "growl_host": plexpy.CONFIG.GROWL_HOST,
- "growl_password": plexpy.CONFIG.GROWL_PASSWORD,
- "prowl_enabled": checked(plexpy.CONFIG.PROWL_ENABLED),
- "prowl_keys": plexpy.CONFIG.PROWL_KEYS,
- "prowl_priority": plexpy.CONFIG.PROWL_PRIORITY,
- "xbmc_enabled": checked(plexpy.CONFIG.XBMC_ENABLED),
- "xbmc_host": plexpy.CONFIG.XBMC_HOST,
- "xbmc_username": plexpy.CONFIG.XBMC_USERNAME,
- "xbmc_password": plexpy.CONFIG.XBMC_PASSWORD,
- "plex_enabled": checked(plexpy.CONFIG.PLEX_ENABLED),
- "plex_client_host": plexpy.CONFIG.PLEX_CLIENT_HOST,
- "plex_username": plexpy.CONFIG.PLEX_USERNAME,
- "plex_password": plexpy.CONFIG.PLEX_PASSWORD,
- "nma_enabled": checked(plexpy.CONFIG.NMA_ENABLED),
- "nma_apikey": plexpy.CONFIG.NMA_APIKEY,
- "nma_priority": int(plexpy.CONFIG.NMA_PRIORITY),
- "pushalot_enabled": checked(plexpy.CONFIG.PUSHALOT_ENABLED),
- "pushalot_apikey": plexpy.CONFIG.PUSHALOT_APIKEY,
- "pushover_enabled": checked(plexpy.CONFIG.PUSHOVER_ENABLED),
- "pushover_keys": plexpy.CONFIG.PUSHOVER_KEYS,
- "pushover_apitoken": plexpy.CONFIG.PUSHOVER_APITOKEN,
- "pushover_priority": plexpy.CONFIG.PUSHOVER_PRIORITY,
- "pushbullet_enabled": checked(plexpy.CONFIG.PUSHBULLET_ENABLED),
- "pushbullet_apikey": plexpy.CONFIG.PUSHBULLET_APIKEY,
- "pushbullet_deviceid": plexpy.CONFIG.PUSHBULLET_DEVICEID,
- "twitter_enabled": checked(plexpy.CONFIG.TWITTER_ENABLED),
- "osx_notify_enabled": checked(plexpy.CONFIG.OSX_NOTIFY_ENABLED),
- "osx_notify_app": plexpy.CONFIG.OSX_NOTIFY_APP,
- "boxcar_enabled": checked(plexpy.CONFIG.BOXCAR_ENABLED),
- "boxcar_token": plexpy.CONFIG.BOXCAR_TOKEN,
"cache_sizemb": plexpy.CONFIG.CACHE_SIZEMB,
- "email_enabled": checked(plexpy.CONFIG.EMAIL_ENABLED),
- "email_from": plexpy.CONFIG.EMAIL_FROM,
- "email_to": plexpy.CONFIG.EMAIL_TO,
- "email_smtp_server": plexpy.CONFIG.EMAIL_SMTP_SERVER,
- "email_smtp_user": plexpy.CONFIG.EMAIL_SMTP_USER,
- "email_smtp_password": plexpy.CONFIG.EMAIL_SMTP_PASSWORD,
- "email_smtp_port": int(plexpy.CONFIG.EMAIL_SMTP_PORT),
- "email_tls": checked(plexpy.CONFIG.EMAIL_TLS),
"pms_identifier": plexpy.CONFIG.PMS_IDENTIFIER,
"pms_ip": plexpy.CONFIG.PMS_IP,
"pms_logs_folder": plexpy.CONFIG.PMS_LOGS_FOLDER,
@@ -451,7 +412,6 @@ class WebInterface(object):
"pms_ssl": checked(plexpy.CONFIG.PMS_SSL),
"pms_use_bif": checked(plexpy.CONFIG.PMS_USE_BIF),
"pms_uuid": plexpy.CONFIG.PMS_UUID,
- "plexwatch_database": plexpy.CONFIG.PLEXWATCH_DATABASE,
"date_format": plexpy.CONFIG.DATE_FORMAT,
"time_format": plexpy.CONFIG.TIME_FORMAT,
"grouping_global_history": checked(plexpy.CONFIG.GROUPING_GLOBAL_HISTORY),
@@ -506,12 +466,7 @@ class WebInterface(object):
# Handle the variable config options. Note - keys with False values aren't getting passed
checked_configs = [
- "launch_browser", "enable_https", "api_enabled", "freeze_db", "growl_enabled",
- "prowl_enabled", "xbmc_enabled", "check_github",
- "plex_enabled", "nma_enabled", "pushalot_enabled",
- "pushover_enabled", "pushbullet_enabled",
- "twitter_enabled", "osx_notify_enabled",
- "boxcar_enabled", "email_enabled", "email_tls",
+ "launch_browser", "enable_https", "api_enabled", "freeze_db", "check_github",
"grouping_global_history", "grouping_user_history", "grouping_charts", "pms_use_bif", "pms_ssl",
"tv_notify_enable", "movie_notify_enable", "music_notify_enable",
"tv_notify_on_start", "movie_notify_on_start", "music_notify_on_start",
@@ -575,15 +530,6 @@ class WebInterface(object):
@cherrypy.expose
def set_notification_config(self, **kwargs):
- # Handle the variable config options. Note - keys with False values aren't getting passed
-
- checked_configs = [
- "email_tls"
- ]
- for checked_config in checked_configs:
- if checked_config not in kwargs:
- # checked items should be zero or one. if they were not sent then the item was not checked
- kwargs[checked_config] = 0
for plain_config, use_config in [(x[4:], x) for x in kwargs if x.startswith('use_')]:
# the use prefix is fairly nice in the html, but does not match the actual config