mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Rewritten device groups (including static) (#10295)
* Device Groups rewrite Updated web ui Static or dynamic groups allowed Alert rule query builder Translation support Permissions support * cleanup, make relationship save, and validate it * builder WIP * rules builder and rules saving/loading * Parse query builder to Laravel Fluent query * Upgrade existing groups when editing. Properly update only dynamic groups when polling. * remove unused old code Update API and other places to use Eloquent * debug output in poller restored * Fix up some things creating static improved validation fix js error on creation Fix static groups in polling * hide pattern for static group * Implement authorization Use in the menu too * update schema * fix rollback * Don't abort on invalid queries * fixes to query builder * add test data, looks like macros aren't handled (omitted them because groups don't use them generally) * Add macro support for QueryBuilderFluentParser * add test for macro that accepts value * More space in forms Retain rules when converted to static no duplicate names allowed * Better error feedback Update related devices on save * Add button icon * format * update docs * fix tests
This commit is contained in:
@@ -86,3 +86,23 @@ if (!function_exists('set_debug')) {
|
||||
return $debug;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('array_pairs')) {
|
||||
/**
|
||||
* Get all consecutive pairs of values in an array.
|
||||
* [1,2,3,4] -> [[1,2],[2,3],[3,4]]
|
||||
*
|
||||
* @param array $array
|
||||
* @return array
|
||||
*/
|
||||
function array_pairs($array)
|
||||
{
|
||||
$pairs = [];
|
||||
|
||||
for ($i = 1; $i < count($array); $i++) {
|
||||
$pairs[] = [$array[$i - 1], $array[$i]];
|
||||
}
|
||||
|
||||
return $pairs;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user