mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Add alert rule option to invert devices and groups "map to" list (#10954)
* Add alert rule option to invert map to * Add alert rule option to invert map to * Update 2019_12_17_151314_add_invert_map_to_alert_rules.php * fix invert map to does not work if several groups are set in map to * fix invert map to does not work if several groups are set in map to * fix invert map to does not work if several groups are set in map to * Clarify labels * Clarify labels * Clarify labels * Clarify labels * fix invert map to at rule creation * clarify invert label
This commit is contained in:
@@ -175,12 +175,16 @@ class AlertUtil
|
||||
public static function getRules($device_id)
|
||||
{
|
||||
$query = "SELECT DISTINCT a.* FROM alert_rules a
|
||||
LEFT JOIN alert_device_map d ON a.id=d.rule_id
|
||||
LEFT JOIN alert_group_map g ON a.id=g.rule_id
|
||||
LEFT JOIN device_group_device dg ON g.group_id=dg.device_group_id
|
||||
WHERE a.disabled = 0 AND ((d.device_id IS NULL AND g.group_id IS NULL) OR d.device_id=? OR dg.device_id=?)";
|
||||
LEFT JOIN alert_device_map d ON a.id=d.rule_id AND d.device_id = ?
|
||||
LEFT JOIN alert_group_map g ON a.id=g.rule_id AND (a.invert_map = 0 OR a.invert_map = 1 AND g.group_id IN (SELECT DISTINCT device_group_id FROM device_group_device WHERE device_id = ?))
|
||||
LEFT JOIN device_group_device dg ON g.group_id=dg.device_group_id AND dg.device_id = ?
|
||||
WHERE a.disabled = 0 AND (
|
||||
(d.device_id IS NULL AND g.group_id IS NULL)
|
||||
OR (a.invert_map = 0 AND (d.device_id=? OR dg.device_id=?))
|
||||
OR (a.invert_map = 1 AND (d.device_id != ? OR d.device_id IS NULL) AND (dg.device_id != ? OR dg.device_id IS NULL))
|
||||
)";
|
||||
|
||||
$params = [$device_id, $device_id];
|
||||
$params = [$device_id, $device_id, $device_id, $device_id, $device_id, $device_id, $device_id];
|
||||
return dbFetchRows($query, $params);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user