mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Add device group filter to widgets (#9692)
This commit is contained in:
@@ -33,6 +33,9 @@ use Illuminate\View\View;
|
||||
class ComponentStatusController extends WidgetController
|
||||
{
|
||||
protected $title = 'Component Status';
|
||||
protected $defaults = [
|
||||
'device_group' => null,
|
||||
];
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
@@ -40,6 +43,7 @@ class ComponentStatusController extends WidgetController
|
||||
*/
|
||||
public function getView(Request $request)
|
||||
{
|
||||
$data = $this->getSettings();
|
||||
$status = [
|
||||
[
|
||||
'color' => 'text-success',
|
||||
@@ -59,6 +63,9 @@ class ComponentStatusController extends WidgetController
|
||||
->select('status', DB::raw("count('status') as total"))
|
||||
->groupBy('status')
|
||||
->where('disabled', "!=", 0)
|
||||
->when($data['device_group'], function ($query) use ($data) {
|
||||
$query->inDeviceGroup($data['device_group']);
|
||||
})
|
||||
->get()->pluck('total', 'status')->toArray();
|
||||
|
||||
foreach ($status as $key => $value) {
|
||||
@@ -67,4 +74,9 @@ class ComponentStatusController extends WidgetController
|
||||
|
||||
return view('widgets.component-status', compact('status'));
|
||||
}
|
||||
|
||||
public function getSettingsView(Request $request)
|
||||
{
|
||||
return view('widgets.settings.component-status', $this->getSettings(true));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user