diff --git a/src/octoprint/plugins/corewizard/templates/corewizard_onlinecheck_wizard.jinja2 b/src/octoprint/plugins/corewizard/templates/corewizard_onlinecheck_wizard.jinja2 index 15dc69c0..fa4522cd 100644 --- a/src/octoprint/plugins/corewizard/templates/corewizard_onlinecheck_wizard.jinja2 +++ b/src/octoprint/plugins/corewizard/templates/corewizard_onlinecheck_wizard.jinja2 @@ -24,6 +24,7 @@
{% include "snippets/settings/server/serverOnlineCheckHost.jinja2" %} {% include "snippets/settings/server/serverOnlineCheckPort.jinja2" %} + {% include "snippets/settings/server/serverOnlineCheckTest.jinja2" %}

{% trans %} diff --git a/src/octoprint/static/js/app/viewmodels/settings.js b/src/octoprint/static/js/app/viewmodels/settings.js index 17c45437..d5607e71 100644 --- a/src/octoprint/static/js/app/viewmodels/settings.js +++ b/src/octoprint/static/js/app/viewmodels/settings.js @@ -230,6 +230,15 @@ $(function() { self.webcam_ffmpegPathBroken(false); }; + self.server_onlineCheckText = ko.observable(); + self.server_onlineCheckOk = ko.observable(false); + self.server_onlineCheckBroken = ko.observable(false); + self.server_onlineCheckReset = function() { + self.server_onlineCheckText(""); + self.server_onlineCheckOk(false); + self.server_onlineCheckBroken(false); + }; + self.addTemperatureProfile = function() { self.temperature_profiles.push({name: "New", extruder:0, bed:0}); }; @@ -356,8 +365,31 @@ $(function() { }); }; + self.testOnlineConnectivityConfigBusy = ko.observable(false); + self.testOnlineConnectivityConfig = function() { + if (!self.server_onlineCheck_host()) return; + if (!self.server_onlineCheck_port()) return; + if (self.testOnlineConnectivityConfigBusy()) return; + + self.testOnlineConnectivityConfigBusy(true); + OctoPrint.util.testServer(self.server_onlineCheck_host(), self.server_onlineCheck_port()) + .done(function(response) { + if (!response.result) { + self.server_onlineCheckText(gettext("The server is not reachable")); + } else { + self.server_onlineCheckText(gettext("The server is reachable")); + } + self.server_onlineCheckOk(response.result); + self.server_onlineCheckBroken(!response.result); + }) + .always(function() { + self.testOnlineConnectivityConfigBusy(false); + }); + }; + self.onSettingsHidden = function() { self.webcam_ffmpegPathReset(); + self.server_onlineCheckReset(); }; self.isDialogActive = function() { diff --git a/src/octoprint/templates/snippets/settings/server/serverOnlineCheck.jinja2 b/src/octoprint/templates/snippets/settings/server/serverOnlineCheck.jinja2 index abecffd3..c67d57ce 100644 --- a/src/octoprint/templates/snippets/settings/server/serverOnlineCheck.jinja2 +++ b/src/octoprint/templates/snippets/settings/server/serverOnlineCheck.jinja2 @@ -15,4 +15,5 @@ {% include "snippets/settings/server/serverOnlineCheckInterval.jinja2" %} {% include "snippets/settings/server/serverOnlineCheckHost.jinja2" %} {% include "snippets/settings/server/serverOnlineCheckPort.jinja2" %} + {% include "snippets/settings/server/serverOnlineCheckTest.jinja2" %} diff --git a/src/octoprint/templates/snippets/settings/server/serverOnlineCheckHost.jinja2 b/src/octoprint/templates/snippets/settings/server/serverOnlineCheckHost.jinja2 index 138a9430..7da4386d 100644 --- a/src/octoprint/templates/snippets/settings/server/serverOnlineCheckHost.jinja2 +++ b/src/octoprint/templates/snippets/settings/server/serverOnlineCheckHost.jinja2 @@ -1,4 +1,4 @@ -

+
diff --git a/src/octoprint/templates/snippets/settings/server/serverOnlineCheckPort.jinja2 b/src/octoprint/templates/snippets/settings/server/serverOnlineCheckPort.jinja2 index 541d8e7a..b6b1cea3 100644 --- a/src/octoprint/templates/snippets/settings/server/serverOnlineCheckPort.jinja2 +++ b/src/octoprint/templates/snippets/settings/server/serverOnlineCheckPort.jinja2 @@ -1,4 +1,4 @@ -
+
diff --git a/src/octoprint/templates/snippets/settings/server/serverOnlineCheckTest.jinja2 b/src/octoprint/templates/snippets/settings/server/serverOnlineCheckTest.jinja2 new file mode 100644 index 00000000..44d66d7a --- /dev/null +++ b/src/octoprint/templates/snippets/settings/server/serverOnlineCheckTest.jinja2 @@ -0,0 +1,6 @@ +
+
+ + +
+