Config snapshots Save on edit - snapshots viewing
This commit is contained in:
parent
3d1e66426c
commit
ccf8f9d1ba
2
app.js
2
app.js
|
@ -27,6 +27,8 @@ app.use('/get_stats', require('./routes/get_stats'));
|
|||
app.use('/dhcp_leases', require('./routes/dhcp_leases'));
|
||||
app.use('/dhcp_log', require('./routes/dhcp_log'));
|
||||
app.use('/dhcp_config', require('./routes/dhcp_config'));
|
||||
app.use('/dhcp_config_snapshots', require('./routes/dhcp_config_snapshots'));
|
||||
app.use('/dhcp_config_snapshot_view', require('./routes/dhcp_config_snapshot_view'));
|
||||
app.use('/dhcp_config_save', require('./routes/dhcp_config_save'));
|
||||
app.use('/api_examples', require('./routes/api_examples'));
|
||||
app.use('/glass_settings', require('./routes/glass_settings'));
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
function view_snapshot(snapshot) {
|
||||
$.post( "/dhcp_config_snapshot_view", "snapshot=" + encodeURIComponent(snapshot), function( data ) {
|
||||
|
||||
$('#modal-title').html("Snapshot '" + snapshot + "'");
|
||||
$('#modal-body').html('<div id="snapshot" style="width:100%; height:800px; color: #95cd24">' + data + '</div>');
|
||||
|
||||
config_snapshot = ace.edit("snapshot");
|
||||
config_snapshot.setTheme("ace/theme/terminal");
|
||||
config_snapshot.$blockScrolling = Infinity;
|
||||
|
||||
$('#mdModal').modal('show');
|
||||
});
|
||||
}
|
|
@ -10,6 +10,11 @@ function log_action (action){
|
|||
editor.setValue("");
|
||||
break;
|
||||
case "download_logs":
|
||||
if(editor.getValue() == ''){
|
||||
notification('There is nothing to save!');
|
||||
return;
|
||||
}
|
||||
|
||||
var d = new Date();
|
||||
var am_pm = format_am_pm(d);
|
||||
var df = d.getMonth() + '-' + d.getDate() + '-' + d.getFullYear() + '_' + (d.getHours()) + '-' + d.getMinutes() + ' ' + am_pm;
|
|
@ -32,5 +32,5 @@
|
|||
|
||||
<script src="assets/js/ace_editor/ace.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="assets/js/ace_editor/theme-terminal.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="assets/js/glass-pages/page-dhcp-config.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="assets/js/glass-pages/dhcp-config.js" type="text/javascript" charset="utf-8"></script>
|
||||
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
<div class="row">
|
||||
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
|
||||
<div class="card">
|
||||
<div class="header">
|
||||
<h2>
|
||||
[title]
|
||||
</h2>
|
||||
</div>
|
||||
<div class="body">
|
||||
[c_content]
|
||||
<div id="dhcp_config_snapshot_result"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="assets/js/ace_editor/ace.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="assets/js/ace_editor/theme-terminal.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="assets/js/glass-pages/dhcp-config-snapshots.js" type="text/javascript" charset="utf-8"></script>
|
||||
|
|
@ -34,4 +34,4 @@
|
|||
|
||||
<script src="assets/js/ace_editor/ace.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="assets/js/ace_editor/theme-terminal.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="assets/js/glass-pages/page-dhcp-logs.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="assets/js/glass-pages/dhcp-logs.js" type="text/javascript" charset="utf-8"></script>
|
||||
|
|
|
@ -98,6 +98,18 @@
|
|||
<span>DHCP Config</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/dhcp_config_snapshots" pjax="1">
|
||||
<i class="material-icons">cloud_download</i>
|
||||
<span>DHCP Config Snapshots</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/start_stop_restart" pjax="1">
|
||||
<i class="material-icons">refresh</i>
|
||||
<span>Start / Stop / Restart</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="header">Settings</li>
|
||||
<li>
|
||||
|
@ -107,8 +119,6 @@
|
|||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li class="header">Glass API</li>
|
||||
<li>
|
||||
<a href="/api_examples" pjax="1">
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
var express = require('express');
|
||||
var router = express.Router();
|
||||
var fs = require('fs');
|
||||
var template_render = require('../lib/render_template.js');
|
||||
|
||||
router.post('/', function(req, res, next) {
|
||||
var request = req.body;
|
||||
res.send(fs.readFileSync("./config_backups/" + request.snapshot, 'utf8'));
|
||||
});
|
||||
|
||||
module.exports = router;
|
|
@ -0,0 +1,32 @@
|
|||
var express = require('express');
|
||||
var router = express.Router();
|
||||
var fs = require('fs');
|
||||
var template_render = require('../lib/render_template.js');
|
||||
|
||||
router.get('/', function(req, res, next) {
|
||||
|
||||
var content = "";
|
||||
|
||||
content = template_render.get_template("dhcp_config_snapshots");
|
||||
|
||||
/* Read Config */
|
||||
var json_file = require('jsonfile');
|
||||
var glass_config = json_file.readFileSync('config/glass_config.json');
|
||||
|
||||
content = template_render.set_template_variable(content, "title", "DHCP Config Snaphots");
|
||||
|
||||
var backups = '';
|
||||
fs.readdirSync("./config_backups").forEach(function(file) {
|
||||
backups = backups + "<li><a onclick='view_snapshot(" + JSON.stringify(file) + ")'>" + file + '</a></li>';
|
||||
});
|
||||
|
||||
if(backups == ''){
|
||||
backups = 'There are no snapshots present at this time...';
|
||||
}
|
||||
|
||||
content = template_render.set_template_variable(content, "c_content", backups);
|
||||
|
||||
res.send(template_render.get_index_template(content, req.url));
|
||||
});
|
||||
|
||||
module.exports = router;
|
Loading…
Reference in New Issue