From 0c7f1cda0f7828b1952f5af40febdf3eb3e80aaa Mon Sep 17 00:00:00 2001 From: seefo Date: Mon, 19 Jun 2017 15:01:50 -0700 Subject: [PATCH] Added a restart button to domain server settings page --- domain-server/resources/web/header.html | 16 +++++++++- .../resources/web/js/domain-server.js | 31 +++++++++++++++++++ .../resources/web/settings/index.shtml | 13 -------- .../resources/web/settings/js/settings.js | 25 --------------- domain-server/src/DomainServer.cpp | 5 +++ 5 files changed, 51 insertions(+), 39 deletions(-) diff --git a/domain-server/resources/web/header.html b/domain-server/resources/web/header.html index 965f86b0a1..0dc08e6e31 100644 --- a/domain-server/resources/web/header.html +++ b/domain-server/resources/web/header.html @@ -10,7 +10,6 @@ - + + +
diff --git a/domain-server/resources/web/js/domain-server.js b/domain-server/resources/web/js/domain-server.js index 3f78d8f466..88ab7b1470 100644 --- a/domain-server/resources/web/js/domain-server.js +++ b/domain-server/resources/web/js/domain-server.js @@ -1,3 +1,28 @@ +function showRestartModal() { + $('#restart-modal').modal({ + backdrop: 'static', + keyboard: false + }); + + var secondsElapsed = 0; + var numberOfSecondsToWait = 3; + + var refreshSpan = $('span#refresh-time') + refreshSpan.html(numberOfSecondsToWait + " seconds"); + + // call ourselves every 1 second to countdown + var refreshCountdown = setInterval(function(){ + secondsElapsed++; + secondsLeft = numberOfSecondsToWait - secondsElapsed + refreshSpan.html(secondsLeft + (secondsLeft == 1 ? " second" : " seconds")) + + if (secondsElapsed == numberOfSecondsToWait) { + location.reload(true); + clearInterval(refreshCountdown); + } + }, 1000); +} + $(document).ready(function(){ var url = window.location; // Will only work if string in href matches with location @@ -7,4 +32,10 @@ $(document).ready(function(){ $('ul.nav a').filter(function() { return this.href == url; }).parent().addClass('active'); + + $('body').on('click', '#restart-server', function(e){ + $.get("/restart"); + showRestartModal(); + return false; + }); }); \ No newline at end of file diff --git a/domain-server/resources/web/settings/index.shtml b/domain-server/resources/web/settings/index.shtml index 1812c52dad..92ba7cf988 100644 --- a/domain-server/resources/web/settings/index.shtml +++ b/domain-server/resources/web/settings/index.shtml @@ -81,19 +81,6 @@
- - diff --git a/domain-server/resources/web/settings/js/settings.js b/domain-server/resources/web/settings/js/settings.js index 39628ebb11..35573e4300 100644 --- a/domain-server/resources/web/settings/js/settings.js +++ b/domain-server/resources/web/settings/js/settings.js @@ -1656,31 +1656,6 @@ function updateDataChangedForSiblingRows(row, forceTrue) { }) } -function showRestartModal() { - $('#restart-modal').modal({ - backdrop: 'static', - keyboard: false - }); - - var secondsElapsed = 0; - var numberOfSecondsToWait = 3; - - var refreshSpan = $('span#refresh-time') - refreshSpan.html(numberOfSecondsToWait + " seconds"); - - // call ourselves every 1 second to countdown - var refreshCountdown = setInterval(function(){ - secondsElapsed++; - secondsLeft = numberOfSecondsToWait - secondsElapsed - refreshSpan.html(secondsLeft + (secondsLeft == 1 ? " second" : " seconds")) - - if (secondsElapsed == numberOfSecondsToWait) { - location.reload(true); - clearInterval(refreshCountdown); - } - }, 1000); -} - function cleanupFormValues(node) { if (node.type && node.type === 'checkbox') { return { name: node.name, value: node.checked ? true : false }; diff --git a/domain-server/src/DomainServer.cpp b/domain-server/src/DomainServer.cpp index d637a20454..0c1ebbf189 100644 --- a/domain-server/src/DomainServer.cpp +++ b/domain-server/src/DomainServer.cpp @@ -1650,6 +1650,7 @@ bool DomainServer::handleHTTPRequest(HTTPConnection* connection, const QUrl& url const QString URI_NODES = "/nodes"; const QString URI_SETTINGS = "/settings"; const QString URI_ENTITY_FILE_UPLOAD = "/content/upload"; + const QString URI_RESTART = "/restart"; const QString UUID_REGEX_STRING = "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"; @@ -1804,6 +1805,10 @@ bool DomainServer::handleHTTPRequest(HTTPConnection* connection, const QUrl& url // send the response connection->respond(HTTPConnection::StatusCode200, nodesDocument.toJson(), qPrintable(JSON_MIME_TYPE)); + return true; + } else if (url.path() == URI_RESTART) { + connection->respond(HTTPConnection::StatusCode200); + restart(); return true; } else { // check if this is for json stats for a node