summaryrefslogtreecommitdiffstats
path: root/modules/backup/templates/restore.html
diff options
context:
space:
mode:
Diffstat (limited to 'modules/backup/templates/restore.html')
-rw-r--r--modules/backup/templates/restore.html62
1 files changed, 62 insertions, 0 deletions
diff --git a/modules/backup/templates/restore.html b/modules/backup/templates/restore.html
new file mode 100644
index 00000000..4494a993
--- /dev/null
+++ b/modules/backup/templates/restore.html
@@ -0,0 +1,62 @@
+<div class="panel panel-default">
+ <div class="panel-heading">{{lang_backup}}</div>
+ <div class="panel-body">
+ <div id="zeug">
+ <div data-tm-id="{{syncid}}" data-tm-log="messages">{{lang_stopping}} syncdaemon</div>
+ <div data-tm-id="{{dmsdid}}" data-tm-log="messages">{{lang_stopping}} dmsd</div>
+ <div data-tm-id="{{ldadpid}}" data-tm-log="messages">{{lang_stopping}} ldadp</div>
+ <div data-tm-id="{{mountid}}" data-tm-log="messages">{{lang_stopping}} vmstore</div>
+ <div data-tm-id="{{restoreid}}" data-tm-log="messages" data-tm-callback="restoreCb">{{lang_restoreConfig}}</div>
+ <div data-tm-id="{{rebootid}}" data-tm-log="messages">{{lang_reboot}}</div>
+ </div>
+ <div id="restorefailed" class="alert alert-danger" style="display:none">
+ {{lang_restoreFailed}}
+ </div>
+ <div id="waiting" style="display:none">
+ <span id="dots"></span>
+ </div>
+ </div>
+</div>
+
+<script type="text/javascript">
+ function restoreCb(task)
+ {
+ if (!task || !task.statusCode)
+ return;
+ if (task.statusCode === 'TASK_ERROR') {
+ $('#restorefailed').show('slow');
+ }
+ if (task.statusCode === 'TASK_ERROR' || task.statusCode === 'TASK_FINISHED') {
+ startRebootPoll();
+ }
+ }
+
+ function startRebootPoll()
+ {
+ $('#waiting').show();
+ $('#waiting').prepend('<span class="glyphicon glyphicon-refresh slx-rotation"></span>');
+ $('#dots').text('{{lang_waitReboot}}');
+ slxDotInterval = setInterval(function() { $('#dots').text($('#dots').text() + '..'); }, 3000);
+ setTimeout('rebootPoll()', 10000);
+ }
+
+ function rebootPoll()
+ {
+ if (slxDotInterval !== false) {
+ clearInterval(slxDotInterval);
+ slxDotInterval = false;
+ }
+ $('#dots').text($('#dots').text() + '..');
+ slxTimeoutId = setTimeout('rebootPoll()', 3500);
+ $.ajax({url: "index.php?do=Main", timeout: 3000}).success(function(data, textStatus, jqXHR) {
+ if (textStatus !== "success" && textStatus !== "notmodified")
+ return;
+ if (data.indexOf('Status: DB running') === -1)
+ return;
+ clearTimeout(slxTimeoutId);
+ setTimeout(function() {
+ window.location.replace("index.php?do=Main&message[]=success%7Crestore-done");
+ }, 3500);
+ });
+ }
+</script>