mirror of
https://github.com/Icinga/icingaweb2-module-director.git
synced 2025-07-31 01:34:12 +02:00
parent
66b30140ea
commit
620f1dc8e4
@ -17,7 +17,7 @@ class DataTypeDirectorObject extends DataTypeHook
|
|||||||
$type = $this->getSetting('icinga_object_type');
|
$type = $this->getSetting('icinga_object_type');
|
||||||
$dummy = IcingaObject::createByType($type);
|
$dummy = IcingaObject::createByType($type);
|
||||||
|
|
||||||
$display = $type === 'service_set'
|
$display = in_array($type, ['service_set', 'notification'])
|
||||||
? 'object_name'
|
? 'object_name'
|
||||||
: 'COALESCE(display_name, object_name)';
|
: 'COALESCE(display_name, object_name)';
|
||||||
$query = $db->select()->from($dummy->getTableName(), [
|
$query = $db->select()->from($dummy->getTableName(), [
|
||||||
@ -27,6 +27,8 @@ class DataTypeDirectorObject extends DataTypeHook
|
|||||||
|
|
||||||
if ($type === 'service_set') {
|
if ($type === 'service_set') {
|
||||||
$query->where('host_id IS NULL');
|
$query->where('host_id IS NULL');
|
||||||
|
} elseif ($type === 'notification') {
|
||||||
|
$query->where('object_type = ?', 'apply');
|
||||||
} else {
|
} else {
|
||||||
$query->where('object_type = ?', 'object');
|
$query->where('object_type = ?', 'object');
|
||||||
}
|
}
|
||||||
@ -35,17 +37,17 @@ class DataTypeDirectorObject extends DataTypeHook
|
|||||||
|
|
||||||
$params = [];
|
$params = [];
|
||||||
if ($this->getSetting('data_type') === 'array') {
|
if ($this->getSetting('data_type') === 'array') {
|
||||||
$type = 'extensibleSet';
|
$elementType = $type === 'notification' ? 'select' : 'extensibleSet';
|
||||||
$params['sorted'] = true;
|
$params['sorted'] = true;
|
||||||
$params = ['multiOptions' => $enum];
|
$params = ['multiOptions' => $enum];
|
||||||
} else {
|
} else {
|
||||||
$params = ['multiOptions' => [
|
$params = ['multiOptions' => [
|
||||||
null => $form->translate('- please choose -'),
|
null => $form->translate('- please choose -'),
|
||||||
] + $enum];
|
] + $enum];
|
||||||
$type = 'select';
|
$elementType = 'select';
|
||||||
}
|
}
|
||||||
|
|
||||||
return $form->createElement($type, $name, $params);
|
return $form->createElement($elementType, $name, $params);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function addSettingsFormFields(QuickForm $form)
|
public static function addSettingsFormFields(QuickForm $form)
|
||||||
@ -53,6 +55,7 @@ class DataTypeDirectorObject extends DataTypeHook
|
|||||||
$enum = [
|
$enum = [
|
||||||
'host' => $form->translate('Hosts'),
|
'host' => $form->translate('Hosts'),
|
||||||
'hostgroup' => $form->translate('Host groups'),
|
'hostgroup' => $form->translate('Host groups'),
|
||||||
|
'notification' => $form->translate('Notification Apply Rules'),
|
||||||
'service' => $form->translate('Services'),
|
'service' => $form->translate('Services'),
|
||||||
'servicegroup' => $form->translate('Service groups'),
|
'servicegroup' => $form->translate('Service groups'),
|
||||||
'service_set' => $form->translate('Service Set'),
|
'service_set' => $form->translate('Service Set'),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user