mirror of
				https://github.com/librenms/librenms.git
				synced 2024-10-07 16:52:45 +00:00 
			
		
		
		
	Merge pull request #3589 from murrant/device-groups-pivot
Store device group relationships in a pivot table.
This commit is contained in:
		@@ -1271,7 +1271,7 @@ function get_devices_by_group() {
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
        $group_id = dbFetchCell("SELECT `id` FROM `device_groups` WHERE `name`=?",array($name));
 | 
			
		||||
        $devices = GetDevicesFromGroup($group_id);
 | 
			
		||||
        $devices = GetDevicesFromGroup($group_id, true);
 | 
			
		||||
        $count = count($devices);
 | 
			
		||||
        if (empty($devices)) {
 | 
			
		||||
            $message = 'No devices found in group ' . $name;
 | 
			
		||||
 
 | 
			
		||||
@@ -16,6 +16,8 @@ if (is_admin() === false) {
 | 
			
		||||
    die('ERROR: You need to be admin');
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
require_once '../includes/device-groups.inc.php';
 | 
			
		||||
 | 
			
		||||
$pattern  = $_POST['patterns'];
 | 
			
		||||
$group_id = $_POST['group_id'];
 | 
			
		||||
$name     = mres($_POST['name']);
 | 
			
		||||
@@ -38,7 +40,7 @@ if (empty($pattern)) {
 | 
			
		||||
    $update_message = 'ERROR: No group was generated';
 | 
			
		||||
}
 | 
			
		||||
else if (is_numeric($group_id) && $group_id > 0) {
 | 
			
		||||
    if (dbUpdate(array('pattern' => $pattern, 'name' => $name, 'desc' => $desc), 'device_groups', 'id=?', array($group_id)) >= 0) {
 | 
			
		||||
    if (EditDeviceGroup($group_id, $name, $desc, $pattern)) {
 | 
			
		||||
        $update_message = "Edited Group: <i>$name: $pattern</i>";
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
@@ -46,7 +48,7 @@ else if (is_numeric($group_id) && $group_id > 0) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
else {
 | 
			
		||||
    if (dbInsert(array('pattern' => $pattern, 'name' => $name, 'desc' => $desc), 'device_groups')) {
 | 
			
		||||
    if (AddDeviceGroup($name, $desc, $pattern)) {
 | 
			
		||||
        $update_message = "Added Group: <i>$name: $pattern</i>";
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
 
 | 
			
		||||
@@ -87,7 +87,7 @@ if (!empty($_POST['group'])) {
 | 
			
		||||
    $sql .= ' AND ( ';
 | 
			
		||||
    foreach (GetDevicesFromGroup($_POST['group']) as $dev) {
 | 
			
		||||
        $sql    .= '`devices`.`device_id` = ? OR ';
 | 
			
		||||
        $param[] = $dev['device_id'];
 | 
			
		||||
        $param[] = $dev;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    $sql  = substr($sql, 0, (strlen($sql) - 3));
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user