summaryrefslogtreecommitdiffstats
path: root/templates
diff options
context:
space:
mode:
authorSimon Rettberg2014-05-26 22:49:54 +0200
committerSimon Rettberg2014-05-26 22:49:54 +0200
commita4f4147b6fe5f2a003a61cf8a8f7508c94130b31 (patch)
treede34472a2b9bd83909469affb884619b4858efc1 /templates
parentWIP (diff)
downloadslx-admin-a4f4147b6fe5f2a003a61cf8a8f7508c94130b31.tar.gz
slx-admin-a4f4147b6fe5f2a003a61cf8a8f7508c94130b31.tar.xz
slx-admin-a4f4147b6fe5f2a003a61cf8a8f7508c94130b31.zip
WIP
Diffstat (limited to 'templates')
-rw-r--r--templates/main-menu.html1
-rw-r--r--templates/minilinux/download.html1
-rw-r--r--templates/minilinux/filelist.html39
-rw-r--r--templates/page-main.html6
-rw-r--r--templates/page-minilinux.html39
-rw-r--r--templates/page-vmstore.html89
-rw-r--r--templates/vmstore/mount.html28
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 &raquo;</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>
- &raquo; {{file}}
- {{^progress}}
- {{#update}}
- Neue Version! <a class="btn btn-success" href="#" onclick="this.style.display='none';loadContent('#{{id}}', 'api.php?do=download&amp;type=ml&amp;file={{file}}&amp;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