diff options
Diffstat (limited to 'modules-available/backup/templates/restore.html')
-rw-r--r-- | modules-available/backup/templates/restore.html | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/modules-available/backup/templates/restore.html b/modules-available/backup/templates/restore.html new file mode 100644 index 00000000..4494a993 --- /dev/null +++ b/modules-available/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> |