diff --git a/data/interfaces/default/css/plexwatch.css b/data/interfaces/default/css/plexwatch.css
index d5fba94c..db952922 100644
--- a/data/interfaces/default/css/plexwatch.css
+++ b/data/interfaces/default/css/plexwatch.css
@@ -8367,6 +8367,7 @@ ol.test >li {
width: 100%;
max-width: 320px;
min-width: 200px;
+ border-top: 1px solid #2d2d2d;
}
.nav-settings > li > a {
@@ -8386,4 +8387,44 @@ ol.test >li {
.nav-settings > .active > a:focus {
color: #eb8600;
background-color: #2f2f2f;
+}
+
+.stacked-configs,
+.stacked-configs ul {
+ margin: 0px 0px 20px 0px;
+}
+
+.stacked-configs > li {
+ list-style: none;
+ background-color: #282828;
+ width: 100%;
+ min-width: 320px;
+ max-width: 768px;
+}
+
+.stacked-configs > li > span {
+ display: block;
+ padding: 8px 20px 8px 15px;
+ color: #eee;
+ border-left: 2px solid #444;
+ border-top: 1px solid #2d2d2d;
+}
+
+.stacked-configs > li > span:hover,
+.stacked-configs > li > span:focus {
+ color: #eee;
+ background-color: #2f2f2f;
+}
+
+.stacked-configs > li > span > a {
+ float: right;
+ color: #999;
+}
+
+.stacked-configs > li > span > a:hover {
+ color: #eee;
+}
+
+.stacked-configs > li > span > input[type='checkbox'] {
+
}
\ No newline at end of file
diff --git a/data/interfaces/default/notification_config.html b/data/interfaces/default/notification_config.html
new file mode 100644
index 00000000..14b9a193
--- /dev/null
+++ b/data/interfaces/default/notification_config.html
@@ -0,0 +1,53 @@
+% if data:
+
+
+
+% endif
+
+
diff --git a/data/interfaces/default/settings.html b/data/interfaces/default/settings.html
index 2b089609..5b8130aa 100644
--- a/data/interfaces/default/settings.html
+++ b/data/interfaces/default/settings.html
@@ -1,6 +1,9 @@
<%inherit file="base.html"/>
<%!
import plexpy
+ from plexpy import notifiers
+
+ available_notification_agents = notifiers.available_notification_agents()
%>
<%def name="headerIncludes()">
@@ -31,9 +34,9 @@
General
Web Interface
Access Control
- Plex Server Settings
+ Plex Media Server
Plex.tv Account
- Extra Setting
+ Extra Settings
Monitoring
Notifications
Notification Agents
@@ -187,8 +190,8 @@
Refresh user list on startup
@@ -338,276 +341,24 @@
@@ -777,6 +528,9 @@
+
+
@@ -939,245 +693,18 @@
});
});
- // Legacy stuff we need to remove
- if ($("#growl").is(":checked"))
- {
- $("#growloptions").show();
- }
- else
- {
- $("#growloptions").hide();
- }
-
- $("#growl").click(function(){
- if ($("#growl").is(":checked"))
- {
- $("#growloptions").slideDown();
- }
- else
- {
- $("#growloptions").slideUp();
- }
- });
-
- if ($("#prowl").is(":checked"))
- {
- $("#prowloptions").show();
- }
- else
- {
- $("#prowloptions").hide();
- }
-
- $("#prowl").click(function(){
- if ($("#prowl").is(":checked"))
- {
- $("#prowloptions").slideDown();
- }
- else
- {
- $("#prowloptions").slideUp();
- }
- });
-
- if ($("#xbmc").is(":checked"))
- {
- $("#xbmcoptions").show();
- }
- else
- {
- $("#xbmcoptions").hide();
- }
-
- $("#xbmc").click(function(){
- if ($("#xbmc").is(":checked"))
- {
- $("#xbmcoptions").slideDown();
- }
- else
- {
- $("#xbmcoptions").slideUp();
- }
- });
-
- if ($("#plex").is(":checked"))
- {
- $("#plexoptions").show();
- }
- else
- {
- $("#plexoptions").hide();
- }
-
- $("#plex").click(function(){
- if ($("#plex").is(":checked"))
- {
- $("#plexoptions").slideDown();
- }
- else
- {
- $("#plexoptions").slideUp();
- }
- });
-
- if ($("#nma").is(":checked"))
- {
- $("#nmaoptions").show();
- }
- else
- {
- $("#nmaoptions").hide();
- }
-
- $("#nma").click(function(){
- if ($("#nma").is(":checked"))
- {
- $("#nmaoptions").slideDown();
- }
- else
- {
- $("#nmaoptions").slideUp();
- }
- });
-
- if ($("#pushalot").is(":checked"))
- {
- $("#pushalotoptions").show();
- }
- else
- {
- $("#pushalotoptions").hide();
- }
-
- $("#pushalot").click(function(){
- if ($("#pushalot").is(":checked"))
- {
- $("#pushalotoptions").slideDown();
- }
- else
- {
- $("#pushalotoptions").slideUp();
- }
- });
-
- if ($("#pushover").is(":checked"))
- {
- $("#pushoveroptions").show();
- }
- else
- {
- $("#pushoveroptions").hide();
- }
-
- $("#pushover").click(function(){
- if ($("#pushover").is(":checked"))
- {
- $("#pushoveroptions").slideDown();
- }
- else
- {
- $("#pushoveroptions").slideUp();
- }
- });
-
- if ($("#pushbullet").is(":checked"))
- {
- $("#pushbulletoptions").show();
- }
- else
- {
- $("#pushbulletoptions").hide();
- }
-
-
- $("#pushbullet").click(function(){
- if ($("#pushbullet").is(":checked"))
- {
- $("#pushbulletoptions").slideDown();
- }
- else
- {
- $("#pushbulletoptions").slideUp();
- }
- });
- if ($("#twitter").is(":checked"))
- {
- $("#twitteroptions").show();
- }
- else
- {
- $("#twitteroptions").hide();
- }
-
- $("#twitter").click(function(){
- if ($("#twitter").is(":checked"))
- {
- $("#twitteroptions").slideDown();
- }
- else
- {
- $("#twitteroptions").slideUp();
- }
- });
-
- if ($("#osx_notify").is(":checked"))
- {
- $("#osx_notify_options").show();
- }
- else
- {
- $("#osx_notify_options").hide();
- }
-
- $("#osx_notify").click(function(){
- if ($("#osx_notify").is(":checked"))
- {
- $("#osx_notify_options").slideDown();
- }
- else
- {
- $("#osx_notify_options").slideUp();
- }
- });
-
- if ($("#boxcar").is(":checked"))
- {
- $("#boxcar_options").show();
- }
- else
- {
- $("#boxcar_options").hide();
- }
-
- $("#boxcar").click(function(){
- if ($("#boxcar").is(":checked"))
- {
- $("#boxcar_options").slideDown();
- }
- else
- {
- $("#boxcar_options").slideUp();
- }
- });
-
- if ($("#email").is(":checked"))
- {
- $("#email_options").show();
- }
- else
- {
- $("#email_options").hide();
- }
-
- $("#email").click(function(){
- if ($("#email").is(":checked"))
- {
- $("#email_options").slideDown();
- }
- else
- {
- $("#email_options").slideUp();
+ // Load PlexWatch import modal
+ $(".toggle-notification-config-modal").click(function() {
+ var configId = $(this).data('id');
+ $.ajax({
+ url: 'get_notification_agent_config',
+ data: { config_id: configId },
+ cache: false,
+ async: true,
+ complete: function(xhr, status) {
+ $("#notification-config-modal").html(xhr.responseText);
}
+ });
});
if ($("#tv_notify_enable").is(":checked"))
diff --git a/data/interfaces/default/welcome.html b/data/interfaces/default/welcome.html
index 9c292531..b5034940 100644
--- a/data/interfaces/default/welcome.html
+++ b/data/interfaces/default/welcome.html
@@ -134,7 +134,7 @@ from plexpy import version
PlexWatch Import
If you have an existing PlexWatch database, you can import the data into PlexPy.
- When you complete this wizard navigate to the settings menu and to the Monitoring tab. You will find an import tool there
+ When you complete this wizard navigate to the settings menu and to the Extra Settings tab. You will find an import tool there
which will convert your plexWatch database into a format that PlexPy can read.