Allow administrators to edit devices sysName (#8149)

* Allow administrators to edit devices sysName
Signed-off-by: Rémy Jacquin <remy@remyj.fr>

* Fix html/pages/device/edit/device.inc.php identation
Signed-off-by: Rémy Jacquin <remy@remyj.fr>

* Revert "Allow administrators to edit devices sysName"

This reverts commit 11b127b082.

* Moved sysName editing to snmp tab

Signed-off-by: Rémy Jacquin <remy@remyj.fr>
This commit is contained in:
Rémy Jacquin
2018-02-07 06:35:00 +01:00
committed by Tony Murray
parent e97c3bcb0c
commit 19a17ed348
4 changed files with 82 additions and 68 deletions

View File

@@ -49,6 +49,7 @@ if ($hostname !== false) {
'snmp_disable' => 1,
'os' => $_POST['os'] ? mres($_POST['os_id']) : "ping",
'hardware' => mres($_POST['hardware']),
'sysName' => mres($_POST['sysName'])
);
} elseif ($_POST['snmpver'] === 'v2c' || $_POST['snmpver'] === 'v1') {
if ($_POST['community']) {
@@ -124,6 +125,12 @@ $pagetitle[] = 'Add host';
</div>
</div>
<div id='snmp_override' style="display: none;">
<div class='form-group'>
<label for='sysName' class='col-sm-3 control-label'>sysName (optional)</label>
<div class='col-sm-9'>
<input id='sysName' class='form-control' name='sysName' placeholder="sysName (optional)"/>
</div>
</div>
<div class='form-group'>
<label for='hardware' class='col-sm-3 control-label'>Hardware (optional)</label>
<div class='col-sm-9'>

View File

@@ -152,82 +152,82 @@ if ($updated && $update_message) {
</select>
</div>
</div>
<div class="form-group">
<label for="sysLocation" class="col-sm-2 control-label">Override sysLocation:</label>
<div class="col-sm-6">
<input onclick="edit.sysLocation.disabled=!edit.override_sysLocation.checked" type="checkbox" name="override_sysLocation"
<?php
if ($override_sysLocation) {
echo(' checked="1"');
}
?> />
<div class="form-group">
<label for="sysLocation" class="col-sm-2 control-label">Override sysLocation:</label>
<div class="col-sm-6">
<input onclick="edit.sysLocation.disabled=!edit.override_sysLocation.checked" type="checkbox" name="override_sysLocation"
<?php
if ($override_sysLocation) {
echo(' checked="1"');
}
?> />
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-2"></div>
<div class="col-sm-6">
<input id="sysLocation" name="sysLocation" class="form-control"
<?php
if (!$override_sysLocation) {
echo(' disabled="1"');
}
?> value="<?php echo($override_sysLocation_string); ?>" />
<div class="form-group">
<div class="col-sm-2"></div>
<div class="col-sm-6">
<input id="sysLocation" name="sysLocation" class="form-control"
<?php
if (!$override_sysLocation) {
echo(' disabled="1"');
}
?> value="<?php echo($override_sysLocation_string); ?>" />
</div>
</div>
</div>
<div class="form-group">
<label for="parent_id" class="col-sm-2 control-label">This device depends on:</label>
<div class="col-sm-6">
<select multiple name="parent_id[]" id="parent_id" class="form-control">
<?php
$dev_parents = dbFetchColumn('SELECT device_id from devices WHERE device_id IN (SELECT dr.parent_device_id from devices as d, device_relationships as dr WHERE d.device_id = dr.child_device_id AND d.device_id = ?)', array($device['device_id']));
if (!$dev_parents) {
$selected = 'selected="selected"';
} else {
$selected = '';
}
?>
<option value="0" <?=$selected?>>None</option>
<?php
$available_devs = dbFetchRows('SELECT `device_id`,`hostname` FROM `devices` WHERE `device_id` <> ? ORDER BY `hostname` ASC', array($device['device_id']));
foreach ($available_devs as $dev) {
if (in_array($dev['device_id'], $dev_parents)) {
<div class="form-group">
<label for="parent_id" class="col-sm-2 control-label">This device depends on:</label>
<div class="col-sm-6">
<select multiple name="parent_id[]" id="parent_id" class="form-control">
<?php
$dev_parents = dbFetchColumn('SELECT device_id from devices WHERE device_id IN (SELECT dr.parent_device_id from devices as d, device_relationships as dr WHERE d.device_id = dr.child_device_id AND d.device_id = ?)', array($device['device_id']));
if (!$dev_parents) {
$selected = 'selected="selected"';
} else {
$selected = '';
}
echo "<option value=".$dev['device_id']." ".$selected.">".$dev['hostname']."</option>";
}
?>
</select>
?>
<option value="0" <?=$selected?>>None</option>
<?php
$available_devs = dbFetchRows('SELECT `device_id`,`hostname` FROM `devices` WHERE `device_id` <> ? ORDER BY `hostname` ASC', array($device['device_id']));
foreach ($available_devs as $dev) {
if (in_array($dev['device_id'], $dev_parents)) {
$selected = 'selected="selected"';
} else {
$selected = '';
}
echo "<option value=".$dev['device_id']." ".$selected.">".$dev['hostname']."</option>";
}
?>
</select>
</div>
</div>
</div>
<div class="form-group">
<label for="disabled" class="col-sm-2 control-label">Disable:</label>
<div class="col-sm-6">
<input name="disabled" type="checkbox" id="disabled" value="1"
<?php
if ($device["disabled"]) {
echo("checked=checked");
}
?> />
<div class="form-group">
<label for="disabled" class="col-sm-2 control-label">Disable:</label>
<div class="col-sm-6">
<input name="disabled" type="checkbox" id="disabled" value="1"
<?php
if ($device["disabled"]) {
echo("checked=checked");
}
?> />
</div>
</div>
</div>
<div class="form-group">
<label for="ignore" class="col-sm-2 control-label">Ignore</label>
<div class="col-sm-6">
<input name="ignore" type="checkbox" id="ignore" value="1"
<?php
if ($device['ignore']) {
echo("checked=checked");
}
?> />
<div class="form-group">
<label for="ignore" class="col-sm-2 control-label">Ignore</label>
<div class="col-sm-6">
<input name="ignore" type="checkbox" id="ignore" value="1"
<?php
if ($device['ignore']) {
echo("checked=checked");
}
?> />
</div>
</div>
</div>
<div class="row">
<div class="col-md-1 col-md-offset-2">
<button type="submit" name="Submit" class="btn btn-default"><i class="fa fa-check"></i> Save</button>
<div class="row">
<div class="col-md-1 col-md-offset-2">
<button type="submit" name="Submit" class="btn btn-default"><i class="fa fa-check"></i> Save</button>
</div>
</div>
</div>
</form>
<br />
<script>

View File

@@ -54,12 +54,13 @@ if ($_POST['editing']) {
$update['features'] = null;
$update['version'] = null;
$update['icon'] = null;
$update['sysName'] = $_POST['sysName'] ? clean($_POST['sysName']) : null;
}
$device_tmp = deviceArray($device['hostname'], $community, $snmpver, $port, $transport, $v3, $port_assoc_mode);
if ($no_checks === true || !$snmp_enabled || isSNMPable($device_tmp)) {
$rows_updated = dbUpdate($update, 'devices', '`device_id` = ?', array($device['device_id']));
$max_repeaters_set = 0;
$max_oid_set = 0;
@@ -120,6 +121,12 @@ echo "
</div>
<div id='snmp_override' style='display: ".($device['snmp_disable'] ? "block" : "none").";'>
<div class='form-group'>
<label for='sysName' class='col-sm-2 control-label'>sysName (optional)</label>
<div class='col-sm-4'>
<input id='sysName' class='form-control' name='sysName' value='".$device['sysName']."'/>
</div>
</div>
<div class='form-group'>
<label for='hardware' class='col-sm-2 control-label'>Hardware (optional)</label>
<div class='col-sm-4'>
<input id='hardware' class='form-control' name='hardware' value='".$device['hardware']."'/>