diff options
Diffstat (limited to 'templates')
-rw-r--r-- | templates/main-menu.html | 1 | ||||
-rw-r--r-- | templates/minilinux/download.html | 1 | ||||
-rw-r--r-- | templates/minilinux/filelist.html | 39 | ||||
-rw-r--r-- | templates/page-main.html | 6 | ||||
-rw-r--r-- | templates/page-minilinux.html | 39 | ||||
-rw-r--r-- | templates/page-vmstore.html | 89 | ||||
-rw-r--r-- | templates/vmstore/mount.html | 28 |
7 files changed, 179 insertions, 24 deletions
diff --git a/templates/main-menu.html b/templates/main-menu.html index 8510bfec..24ee2238 100644 --- a/templates/main-menu.html +++ b/templates/main-menu.html @@ -23,6 +23,7 @@ <li class="divider"></li> <li class="dropdown-header">Server</li> <li><a href="?do=ServerSetup">Grundkonfiguration</a></li> + <li><a href="?do=VmStore">VM Speicherort</a></li> </ul> </li> </ul> diff --git a/templates/minilinux/download.html b/templates/minilinux/download.html new file mode 100644 index 00000000..2e32df5a --- /dev/null +++ b/templates/minilinux/download.html @@ -0,0 +1 @@ +<div data-tm-id="{{task}}" data-tm-log="error" data-tm-progress="progress">{{name}}</div>
\ No newline at end of file diff --git a/templates/minilinux/filelist.html b/templates/minilinux/filelist.html new file mode 100644 index 00000000..38b709f6 --- /dev/null +++ b/templates/minilinux/filelist.html @@ -0,0 +1,39 @@ +<div class="container"> + + {{#systems}} + <div class="panel panel-default"> + <div class="panel-heading"> + <h4>{{title}}</h4> + </div> + <div class="panel-body" id="download-{{id}}"> + <ul class="list-group"> + {{#files}} + <li class="list-group-item" id="{{uid}}"> + {{name}} + {{#changed}}<span class="btn btn-primary btn-sm" onclick="slxUpdate('{{uid}}', '{{id}}', '{{name}}')">Aktualisieren</span>{{/changed}} + </li> + {{/files}} + </ul> + </div> + </div> + {{/systems}} + {{^systems}} + <div class="row well well-sm">Keine Konfigurationspakete gefunden!</div> + {{/systems}} +</div> + +<script type="text/javascript"> +function slxUpdate(uid, id, name) +{ + $('#' + uid).load('?do=MiniLinux', + { action : "download", token : TOKEN, id : id, name : name }, + function(response, status, xhr) { + if (status === "error") { + var msg = "Fehler beim Abruf: "; + $('#' + uid).html(msg + xhr.status + " " + xhr.statusText); + } else { + setTimeout(tmInit, 50); + } + }); +} +</script>
\ No newline at end of file diff --git a/templates/page-main.html b/templates/page-main.html index af335a72..519d3abd 100644 --- a/templates/page-main.html +++ b/templates/page-main.html @@ -3,6 +3,12 @@ <p>Dies ist die bwLehrpool Konfigurationsoberfläche.</p> </div> <ul class="list-group"> +{{#vmstore}} + <li class="list-group-item list-group-item-info"> + Es ist noch kein Speicherort für die Virtuellen Maschinen festgelegt. + <a class="btn btn-sm btn-primary" href="?do=VmStore">Konfigurieren »</a> + </li> +{{/vmstore}} {{#ipxe}} <li class="list-group-item list-group-item-info"> Das Bootmenü ist veraltet oder wurde noch nicht generiert. diff --git a/templates/page-minilinux.html b/templates/page-minilinux.html index e742f82a..c1a4ebd6 100644 --- a/templates/page-minilinux.html +++ b/templates/page-minilinux.html @@ -1,24 +1,15 @@ -<div class="container"> - {{#files}} - <div class="panel panel-default"> - <div class="panel-heading"><h4> - » {{file}} - {{^progress}} - {{#update}} - Neue Version! <a class="btn btn-success" href="#" onclick="this.style.display='none';loadContent('#{{id}}', 'api.php?do=download&type=ml&file={{file}}&id={{id}}')">Download</a> - {{/update}} - {{^update}} - (Aktuell) - {{/update}} - {{/progress}} - </h4></div> - {{#progress}} - <script> setTimeout(function() { loadContent('#{{id}}', 'api.php?do=download&progress={{progress}}&id={{id}}&pid={{pid}}&file={{file}}'); }, 1000); // </script> - {{/progress}} - <div class="panel-body" id="{{id}}">{{description}}</div> - </div> - {{/files}} - {{^files}} - <div class="row well well-sm">Keine Konfigurationspakete gefunden!</div> - {{/files}} -</div> +<div class="container" id="systemlist"> + <div class="panel panel-default">Liste wird abgerufen...</div> + <script type="text/javascript"> + var slx_check = setInterval(function() { + if (typeof $ === 'undefined') return; + clearInterval(slx_check); + $('#systemlist').load('{{{listurl}}}', function( response, status, xhr ) { + if ( status === "error" ) { + var msg = "Fehler beim Abruf: "; + $( "#systemlist" ).html( msg + xhr.status + " " + xhr.statusText ); + } + }) + }, 100); + </script> +</div>
\ No newline at end of file diff --git a/templates/page-vmstore.html b/templates/page-vmstore.html new file mode 100644 index 00000000..8732276f --- /dev/null +++ b/templates/page-vmstore.html @@ -0,0 +1,89 @@ +<div class="container"> + <form role="form" method="post" action="?do=VmStore"> + <input type="hidden" name="token" value="{{token}}"> + <input type="hidden" name="action" value="setstore"> + <div class="panel panel-default"> + <div class="panel-heading"> + VM Speicherort <a class="btn btn-default" data-toggle="modal" data-target="#help-store"><span class="glyphicon glyphicon-question-sign"></span></a> + </div> + <div class="panel-body"> + <p>Bitte wählen Sie, wo die Images der Virtuellen Maschinen gespeichert werden sollen.</p> + <div class="panel panel-default"> + <div class="panel-heading"> + <input type="radio" name="storetype" value="internal" {{pre-internal}}> Intern + </div> + <div class="panel-body"> + Keine Weitere Konfiguration notwendig + </div> + </div> + <div class="panel panel-default"> + <div class="panel-heading"> + <input type="radio" name="storetype" value="nfs" {{pre-nfs}}> NFS + </div> + <div class="panel-body"> + <div class="input-group"> + <span class="input-group-addon slx-ga"> + NFS-Export + </span> + <input type="text" class="form-control" name="nfsaddr" value="{{nfsaddr}}" placeholder="1.2.3.4:/export/bwlp"> + </div> + </div> + </div> + <div class="panel panel-default"> + <div class="panel-heading"> + <input type="radio" name="storetype" value="cifs" {{pre-cifs}}> CIFS + </div> + <div class="panel-body"> + <div class="input-group"> + <span class="input-group-addon slx-ga"> + UNC-Pfad + </span> + <input type="text" class="form-control" name="cifsaddr" value="{{cifsaddr}}" placeholder="\\samba.server.example.com\bwlp"> + </div> + <div class="input-group"> + <span class="input-group-addon slx-ga"> + Benutzername + </span> + <input type="text" class="form-control" name="cifsuser" value="{{cifsuser}}" placeholder="Benutzername"> + </div> + <div class="input-group"> + <span class="input-group-addon slx-ga"> + Passwort + </span> + <input type="text" class="form-control" name="cifspasswd" value="{{cifspasswd}}" placeholder="Passwort"> + </div> + </div> + </div> + <button class="btn btn-primary" type="submit">Speichern</button> + </div> + </div> + </form> +</div> + +<div class="modal fade" id="help-store" tabindex="-1" role="dialog"> + <div class="modal-dialog"> + <div class="modal-content"> + <div class="modal-header">VM Speicherort</div> + <div class="modal-body"> + <p> + Für Testzwecke können die VMs direkt auf dem Satellitenserver gespeichert werden. Sofern Sie + jedoch die ausgelieferte Satelliten-vmdk betreiben bedenken Sie bitte, dass Sie dann nur ca. 100GB + Speicher zur Verfügung haben. + </p> + <p> + Im Produktivbetrieb bietet es sich an, hierfür einen performanten Netzwerkspeicher zu benutzen. + Dieser Netzwerkspeicher kann per NFS oder CIFS/SMB eingebunden werden. In jedem Fall muss sichergestellt + werden, dass der Satellitenserver zum Hinzufügen neuer Virtueller Maschinen Schreibzugriff auf + diesen Netzwerkspeicher hat. Bei der Nutzung von NFSv3 kann dies IP-Basiert eingerichtet werden, + für die Nutzung von CIFS/SMB können Sie Zugangsdaten angaben, die zum Schreiben berechtigen. + </p> + <p> + Die bwLehrpool-Clients brauchen lediglich Lesezugriff auf den Netzwerkspeicher (und sollten aus + Sicherheitsgründen auch wirklich nur lesen können). Bei CIFS/SMB erreichen Sie dies am einfachsten, + indem Sie passwortlosen Gastzugriff mit Leserechten auf die Freigabe erlauben. + </p> + </div> + <div class="modal-footer"><a class="btn btn-primary" data-dismiss="modal">Schließen</a></div> + </div> + </div> +</div> diff --git a/templates/vmstore/mount.html b/templates/vmstore/mount.html new file mode 100644 index 00000000..d781d061 --- /dev/null +++ b/templates/vmstore/mount.html @@ -0,0 +1,28 @@ +<div class="container"> + + <div class="panel panel-default"> + <div class="panel-heading"> + VM Speicherort wird konfiguriert + </div> + + <div class="panel-body"> + <div data-tm-id="{{task}}" data-tm-log="messages" data-tm-callback="mountCb">Konfigurieren</div> + + <br> + <div id="finish" class="pull-right" style="display:none"> + <a href="?do=VmStore" class="btn btn-primary">Zurück</a> + </div> + <script type="text/javascript"> + function mountCb(task) + { + if (!task || !task.statusCode) + return; + if (task.statusCode !== 'TASK_WAITING' && task.statusCode !== 'TASK_PROCESSING') { + $('#finish').attr('style', ''); + } + } + </script> + + </div> + </div> +</div>
\ No newline at end of file |