Add device group filter to widgets (#9692)

This commit is contained in:
Jellyfrog
2019-08-07 19:59:14 -05:00
committed by Tony Murray
parent b8c96abc35
commit fc281ccc4b
35 changed files with 262 additions and 64 deletions
@@ -45,7 +45,7 @@ class AvailabilityMapController extends WidgetController
'show_disabled_and_ignored' => 0,
'mode_select' => 0,
'order_by' => Config::get('webui.availability_map_sort_status') ? 'status' : 'hostname',
'device_group' => 0,
'device_group' => null,
];
}
@@ -80,10 +80,7 @@ class AvailabilityMapController extends WidgetController
public function getSettingsView(Request $request)
{
$settings = $this->getSettings();
$settings['device_group'] = DeviceGroup::find($settings['device_group']);
return view('widgets.settings.availability-map', $settings);
return view('widgets.settings.availability-map', $this->getSettings(true));
}
/**
@@ -95,8 +92,8 @@ class AvailabilityMapController extends WidgetController
$settings = $this->getSettings();
// filter for by device group or show all
if ($group_id = $settings['device_group']) {
$device_query = DeviceGroup::find($group_id)->devices()->hasAccess($request->user());
if ($settings['device_group']) {
$device_query = DeviceGroup::find($settings['device_group'])->devices()->hasAccess($request->user());
} else {
$device_query = Device::hasAccess($request->user());
}
@@ -143,8 +140,8 @@ class AvailabilityMapController extends WidgetController
$settings = $this->getSettings();
// filter for by device group or show all
if ($group_id = $settings['device_group']) {
$services_query = DeviceGroup::find($group_id)->services()->hasAccess($request->user());
if ($settings['device_group']) {
$services_query = DeviceGroup::find($settings['device_group'])->services()->hasAccess($request->user());
} else {
$services_query = Service::hasAccess($request->user());
}