Final fixes for device edit pages

This commit is contained in:
laf
2014-06-20 23:01:21 +01:00
parent 3e570a118e
commit 250d87cd60
4 changed files with 287 additions and 76 deletions

View File

@@ -0,0 +1,37 @@
<?php
// FUA
$device['device_id'] = $_POST['device_id'];
$module = 'discover_'.$_POST['discovery_module'];
if(!isset($module) && !isset($device_id) && !is_numeric($device_id))
{
echo('error with data');
exit;
}
else
{
if($_POST['state'] == 'true')
{
$state = 1;
}
elseif($_POST['state'] == 'false')
{
$state = 0;
}
else
{
$state = 0;
}
if(isset($attribs['discover_'.$module]) && $attribs['discover_'.$module] != $config['discover_modules'][$module])
{
del_dev_attrib($device, $module);
}
else
{
set_dev_attrib($device, $module, $state);
}
}

View File

@@ -0,0 +1,37 @@
<?php
// FUA
$device['device_id'] = $_POST['device_id'];
$module = 'poll_'.$_POST['poller_module'];
if(!isset($module) && !isset($device_id) && !is_numeric($device_id))
{
echo('error with data');
exit;
}
else
{
if($_POST['state'] == 'true')
{
$state = 1;
}
elseif($_POST['state'] == 'false')
{
$state = 0;
}
else
{
$state = 0;
}
if(isset($attribs['poll_'.$module]) && $attribs['poll_'.$module] != $config['poller_modules'][$module])
{
del_dev_attrib($device, $module);
}
else
{
set_dev_attrib($device, $module, $state);
}
}

View File

@@ -97,7 +97,13 @@ foreach ($applications as $app)
$row++;
}
echo('<tr><td></td><td><button type="submit" class="btn btn-default" value="Save">Save</button></td></tr>');
echo('<tr>
<td>
<button type="submit" class="btn btn-default" value="Save">Save</button>
</td>
<td>
</td>
</tr>');
echo('</table>');
echo('</form>');
echo('</div>');

View File

@@ -1,105 +1,236 @@
<div class="row">
<div class="col-sm-6">
<strong>Poller Modules</strong>
</div>
<div class="col-sm-6">
<strong>Discovery Modules</strong>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<table class="table table-striped">
<tr>
<th>Module</th>
<th>Global</th>
<th>Device</th>
<th></th>
</tr>
<?php
if($_POST['toggle_poller'] && isset($config['poller_modules'][$_POST['toggle_poller']]))
{
$module = mres($_POST['toggle_poller']);
if (isset($attribs['poll_'.$module]) && $attribs['poll_'.$module] != $config['poller_modules'][$_POST['toggle_poller']])
{
del_dev_attrib($device, 'poll_' . $module);
} elseif ($config['poller_modules'][$_POST['toggle_poller']] == 0) {
set_dev_attrib($device, 'poll_' . $module, "1");
} else {
set_dev_attrib($device, 'poll_' . $module, "0");
}
$attribs = get_dev_attribs($device['device_id']);
}
if($_POST['toggle_discovery'] && isset($config['discovery_modules'][$_POST['toggle_discovery']]))
{
$module = mres($_POST['toggle_discovery']);
if (isset($attribs['discover_'.$module]) && $attribs['discover_'.$module] != $config['discovery_modules'][$_POST['toggle_discovery']])
{
del_dev_attrib($device, 'discover_' . $module);
} elseif ($config['discovery_modules'][$_POST['toggle_discovery']] == 0) {
set_dev_attrib($device, 'discover_' . $module, "1");
} else {
set_dev_attrib($device, 'discover_' . $module, "0");
}
$attribs = get_dev_attribs($device['device_id']);
}
echo('<div style="margin: 0px 10px; width: 500px; float: left;">');
$i=0;
echo('<div style="padding:4px 0px 4px 8px;" class=graphhead>Poller Modules</div>');
echo('<table width="100%" cellpadding=5>');
echo('<tr><th>Module</th><th>Global</th><th>Device</th></tr>');
foreach ($config['poller_modules'] as $module => $module_status)
{
if (!is_integer($i/2)) { $bg_colour = $list_colour_a; } else { $bg_colour = $list_colour_b; }
echo('
<tr>
<td><strong>'.$module.'</strong></td>
<td>
');
echo('<tr bgcolor="'.$bg_colour.'"><td><b>'.$module.'</b></td><td>');
if($module_status == 1)
{
echo('<span class="text-success">Enabled</span>');
}
else
{
echo('<span class="text-danger">Disabled</span>');
}
echo(($module_status ? '<span class=green>enabled</span>' : '<span class=red>disabled</span>' ));
echo('</td><td>');
echo('
</td>
<td>
');
if (isset($attribs['poll_'.$module]))
{
if ($attribs['poll_'.$module]) {echo("<span class=green>enabled</span>");} else { echo('<span class=red>disabled</span>'); }
} else {
echo(($module_status ? '<span class=green>enabled</span>' : '<span class=red>disabled</span>' ));
if ($attribs['poll_'.$module])
{
echo('<span id="poller-module-'.$module.'" class="text-success">Enabled</span>');
$module_checked = 'checked';
}
else
{
echo('<span id="poller-module-'.$module.'"class="text-danger">Disabled</span>');
$module_checked = '';
}
}
else
{
if($module_status == 1)
{
echo('<span id="poller-module-'.$module.'"class="text-success">Enabled</span>');
$module_checked = 'checked';
}
else
{
echo('<span id="poller-module-'.$module.'"class="text-danger">Disabled</span>');
$module_checked = '';
}
}
echo('</td><td>');
echo('
</td>
<td>
');
echo('<form id="toggle_poller" name="toggle_poller" method="post" action="">
<input type=hidden name="toggle_poller" value="'.$module.'">
<input type="submit" name="Submit" value="Toggle" />
</label>
</form>');
echo('
<input type="checkbox" name="poller-module" data-poller_module="'.$module.'" data-device_id="'.$device['device_id'].'" '.$module_checked.'>
');
echo('</td></tr>');
$i++;
echo('
</td>
</tr>
');
}
echo('</table>');
echo('</div>');
echo('<div style="margin: 0px 10px; width: 500px; float: right;">');
$i=0;
echo('<div style="padding:4px 0px 4px 8px;" class=graphhead>Discovery Modules</div>');
echo('<table width="100%" cellpadding=5>');
echo('<tr><th>Module</th><th>Global</th><th>Device</th></tr>');
?>
</table>
</div>
<div class="col-sm-6">
<table class="table table-striped">
<tr>
<th>Module</th>
<th>Global</th>
<th>Device</th>
<th></th>
</tr>
<?php
foreach ($config['discovery_modules'] as $module => $module_status)
{
if (!is_integer($i/2)) { $bg_colour = $list_colour_a; } else { $bg_colour = $list_colour_b; }
echo('<tr bgcolor="'.$bg_colour.'"><td><b>'.$module.'</b></td><td>');
echo(($module_status ? '<span class=green>enabled</span>' : '<span class=red>disabled</span>' ));
echo('
<tr>
<td>
<strong>'.$module.'</strong>
</td>
<td>
');
echo('</td><td>');
if($module_status == 1)
{
echo('<span class="text-success">Enabled</span>');
}
else
{
echo('<span class="text-danger">Disabled</span>');
}
echo('
</td>
<td>
');
if (isset($attribs['discover_'.$module]))
{
if ($attribs['discover_'.$module]) {echo("<span class=green>enabled</span>");} else { echo('<span class=red>disabled</span>'); }
} else {
echo(($module_status ? '<span class=green>enabled</span>' : '<span class=red>disabled</span>' ));
if($attribs['discover_'.$module])
{
echo('<span id="discovery-module-'.$module.'" class="text-success">Enabled</span>');
$module_checked = 'checked';
}
else
{
echo('<span id="discovery-module-'.$module.'" class="text-danger">Disabled</span>');
$module_checked = '';
}
}
else
{
if($module_status == 1)
{
echo('<span id="discovery-module-'.$module.'" class="text-success">Enabled</span>');
$module_checked = 'checked';
}
else
{
echo('<span id="discovery-module-'.$module.'" class="text-danger">Disabled</span>');
$module_checked = '';
}
}
echo('</td><td>');
echo('
</td>
<td>
');
echo('<form id="toggle_discovery" name="toggle_discovery" method="post" action="">
<input type=hidden name="toggle_discovery" value="'.$module.'">
<input type="submit" name="Submit" value="Toggle" />
</label>
</form>');
echo('
<input type="checkbox" name="discovery-module" data-discovery_module="'.$module.'" data-device_id="'.$device['device_id'].'" '.$module_checked.'>
');
echo('</td></tr>');
echo('
</td>
</tr>
');
$i++;
}
echo('</table>');
echo('</div>');
echo('
</table>
</div>
');
?>
<script>
$("[name='poller-module']").bootstrapSwitch('offColor','danger');
$('input[name="poller-module"]').on('switchChange.bootstrapSwitch', function(event, state) {
event.preventDefault();
var $this = $(this);
var poller_module = $(this).data("poller_module");
var device_id = $(this).data("device_id");
$.ajax({
type: 'POST',
url: '/ajax_form.php',
data: { type: "poller-module-update", poller_module: poller_module, device_id: device_id, state: state},
dataType: "html",
success: function(data){
//alert('good');
if(state)
{
$('#poller-module-'+poller_module).removeClass('text-danger');
$('#poller-module-'+poller_module).addClass('text-success');
$('#poller-module-'+poller_module).html('Enabled');
}
else
{
$('#poller-module-'+poller_module).removeClass('text-success');
$('#poller-module-'+poller_module).addClass('text-danger');
$('#poller-module-'+poller_module).html('Disabled');
}
},
error:function(){
//alert('bad');
}
});
});
$("[name='discovery-module']").bootstrapSwitch('offColor','danger');
$('input[name="discovery-module"]').on('switchChange.bootstrapSwitch', function(event, state) {
event.preventDefault();
var $this = $(this);
var discovery_module = $(this).data("discovery_module");
var device_id = $(this).data("device_id");
$.ajax({
type: 'POST',
url: '/ajax_form.php',
data: { type: "discovery-module-update", discovery_module: discovery_module, device_id: device_id, state: state},
dataType: "html",
success: function(data){
//alert('good');
if(state)
{
$('#discovery-module-'+discovery_module).removeClass('text-danger');
$('#discovery-module-'+discovery_module).addClass('text-success');
$('#discovery-module-'+discovery_module).html('Enabled');
}
else
{
$('#discovery-module-'+discovery_module).removeClass('text-success');
$('#discovery-module-'+discovery_module).addClass('text-danger');
$('#discovery-module-'+discovery_module).html('Disabled');
}
},
error:function(){
//alert('bad');
}
});
});
</script>