diff --git a/data/interfaces/default/settings.html b/data/interfaces/default/settings.html
index b1c5a0a1..dafae876 100644
--- a/data/interfaces/default/settings.html
+++ b/data/interfaces/default/settings.html
@@ -559,7 +559,7 @@
Enable to have Tautulli check if remote access to the Plex Media Server goes down.
-
+
@@ -607,7 +607,12 @@
@@ -1580,6 +1585,17 @@ $(document).ready(function() {
}
}
+ function preSaveChecks(_callback) {
+ if ($("#pms_identifier").val() == "") {
+ verifyServer();
+ }
+ verifyPMSWebURL();
+
+ if (_callback) {
+ _callback();
+ }
+ }
+
// Alert the user that their changes require a restart.
function postSaveChecks() {
if (serverChanged || authChanged || httpChanged || directoryChanged) {
@@ -1609,11 +1625,7 @@ $(document).ready(function() {
}
$('.save-button').click(function() {
- if ($("#pms_identifier").val() == "") {
- verifyServer(function () { saveSettings() });
- } else {
- saveSettings();
- }
+ preSaveChecks(function () { saveSettings() });
});
initConfigCheckbox('#api_enabled');
@@ -1758,43 +1770,45 @@ $(document).ready(function() {
var pms_identifier = $("#pms_identifier").val();
var pms_ssl = $("#pms_ssl").is(':checked') ? 1 : 0;
var pms_is_remote = $("#pms_is_remote").is(':checked') ? 1 : 0;
+
if (($("#pms_ip").val() !== '') || ($("#pms_port").val() !== '')) {
- $("#pms-verify").html('
');
- $('#pms-verify').fadeIn('fast');
+ $("#pms_verify").html('
').fadeIn('fast');
$.ajax({
url: 'get_server_id',
- data : { hostname: pms_ip, port: pms_port, identifier: pms_identifier, ssl: pms_ssl, remote: pms_is_remote },
+ data: {
+ hostname: pms_ip,
+ port: pms_port,
+ identifier: pms_identifier,
+ ssl: pms_ssl,
+ remote: pms_is_remote
+ },
cache: true,
async: true,
timeout: 10000,
- error: function(jqXHR, textStatus, errorThrown) {
- $("#pms-verify").html('
');
- $('#pms-verify').fadeIn('fast');
- $("#pms-ip-group").addClass("has-error");
+ error: function (jqXHR, textStatus, errorThrown) {
+ $("#pms_verify").html('
').fadeIn('fast');
+ $("#pms_ip_group").addClass("has-error");
},
success: function (json) {
var machine_identifier = json;
if (machine_identifier) {
$("#pms_identifier").val(machine_identifier);
- $("#pms-verify").html('
');
- $('#pms-verify').fadeIn('fast');
- $("#pms-ip-group").removeClass("has-error");
+ $("#pms_verify").html('
').fadeIn('fast');
+ $("#pms_ip_group").removeClass("has-error");
if (_callback) {
_callback();
}
} else {
- $("#pms-verify").html('
');
- $('#pms-verify').fadeIn('fast');
- $("#pms-ip-group").addClass("has-error");
+ $("#pms_verify").html('
').fadeIn('fast');
+ $("#pms_ip_group").addClass("has-error");
showMsg('
Could not verify your server.', false, true, 5000, true)
}
}
});
} else {
- $("#pms-verify").html('
');
- $('#pms-verify').fadeIn('fast');
- $("#pms-ip-group").addClass("has-error");
+ $("#pms_verify").html('
').fadeIn('fast');
+ $("#pms_ip_group").addClass("has-error");
showMsg('
Could not verify your server.', false, true, 5000, true)
}
}
@@ -1804,11 +1818,21 @@ $(document).ready(function() {
verifyServer();
});
+ function verifyPMSWebURL() {
+ var pms_web_url = $.trim($("#pms_web_url").val());
+ $("#pms_web_url").val(pms_web_url || 'https://app.plex.tv/desktop');
+ }
+
+ $('#test_pms_web_button').on('click', function(){
+ var pms_web_url = $.trim($("#pms_web_url").val());
+ window.open(pms_web_url, '_blank');
+ });
+
// Plex.tv auth token fetch
$("#get-pms-auth-token").click(function() {
$("#pms-token-status").html('
Fetching token...');
- var pms_username = $("#pms_username").val().trim();
- var pms_password = $("#pms_password").val().trim();
+ var pms_username = $.trim($("#pms_username").val());
+ var pms_password = $.trim($("#pms_password").val());
if ((pms_username !== '') && (pms_password !== '')) {
$.ajax({
type: 'GET',
diff --git a/plexpy/notification_handler.py b/plexpy/notification_handler.py
index 9042102c..796970f1 100644
--- a/plexpy/notification_handler.py
+++ b/plexpy/notification_handler.py
@@ -504,7 +504,7 @@ def build_media_notify_params(notify_action=None, session=None, timeline=None, m
# Build Plex URL
metadata['plex_url'] = '{web_url}#!/server/{pms_identifier}/details?key=%2Flibrary%2Fmetadata%2F{rating_key}'.format(
- web_url=plexpy.CONFIG.PMS_WEB_URL or 'https://app.plex.tv/desktop',
+ web_url=plexpy.CONFIG.PMS_WEB_URL,
pms_identifier=plexpy.CONFIG.PMS_IDENTIFIER,
rating_key=rating_key)