diff options
Diffstat (limited to 'modules-available')
-rw-r--r-- | modules-available/serversetup-bwlp/page.inc.php | 8 | ||||
-rw-r--r-- | modules-available/serversetup-bwlp/templates/ipxe_update.html | 37 |
2 files changed, 32 insertions, 13 deletions
diff --git a/modules-available/serversetup-bwlp/page.inc.php b/modules-available/serversetup-bwlp/page.inc.php index 87c57dea..5f927173 100644 --- a/modules-available/serversetup-bwlp/page.inc.php +++ b/modules-available/serversetup-bwlp/page.inc.php @@ -124,7 +124,13 @@ class Page_ServerSetup extends Page $task = $this->getCompileTask(); if ($task !== false) { - Render::addTemplate('ipxe_update', array('taskid' => $task['id'])); + $files = []; + if ($task['data'] && $task['data']['files']) { + foreach ($task['data']['files'] as $k => $v) { + $files[] = ['name' => $k, 'namehyphen' => str_replace(['/', '.'], '-', $k)]; + } + } + Render::addTemplate('ipxe_update', array('taskid' => $task['id'], 'files' => $files)); } switch (Request::get('show')) { diff --git a/modules-available/serversetup-bwlp/templates/ipxe_update.html b/modules-available/serversetup-bwlp/templates/ipxe_update.html index 71611085..344d3905 100644 --- a/modules-available/serversetup-bwlp/templates/ipxe_update.html +++ b/modules-available/serversetup-bwlp/templates/ipxe_update.html @@ -1,13 +1,13 @@ <div class="panel panel-default"> <div class="panel-heading">{{lang_menuGeneration}}</div> <div class="panel-body"> - <div id="built-pxe" class="invisible"> - <span class="glyphicon glyphicon-ok"></span> - {{lang_pxeBuilt}} - </div> - <div id="built-usb" class="invisible"> - <span class="glyphicon glyphicon-ok"></span> - {{lang_usbBuilt}} + <div id="file-list"> + {{#files}} + <div id="built-{{namehyphen}}"> + <span class="glyphicon glyphicon-question-sign"></span> + {{name}} + </div> + {{/files}} </div> <div id="genfailed" class="collapse"> <div class="alert alert-danger"> @@ -19,15 +19,16 @@ </div> <script type="text/javascript"> + document.addEventListener('DOMContentLoaded', function() { + var slxFileList = $('#file-list').find('.glyphicon'); + }); + function ipxeGenCb(task) { if (!task || !task.statusCode) return; - if (task.data) { - if (task.data.pxeDone) $('#built-pxe').removeClass('invisible'); - if (task.data.usbDone) $('#built-usb').removeClass('invisible'); - } - if (task.statusCode === 'TASK_ERROR' || task.statusCode === 'TASK_FINISHED') { + + if (task.statusCode === 'TASK_FINISHED') { $('#tm-compile-div').find('pre').hide(); } if (task.statusCode === 'TASK_ERROR') { @@ -36,6 +37,18 @@ $gf.append($('<pre>').text(task.data.errors)); } $gf.show('slow'); + slxFileList.find('.glyphicon-question-sign').removeClass('glyphicon-question-sign').addClass('glyphicon-stop'); + } else { + // Working or finished + if (task.data && task.data.files && task.data.files) { + for (var k in task.data.files) { + if (!task.data.files[k]) + continue; + var f = '#built-' + k.replace('/', '-').replace('.', '-'); + var $e = $(f); + $e.find('.glyphicon-question-sign').removeClass('glyphicon-question-sign').addClass('glyphicon-ok text-success'); + } + } } } </script> |