DataTypeDirectorObject: sort by display name

Plus some formatting.

fixes #840
This commit is contained in:
Thomas Gelf 2017-08-21 11:12:24 +02:00
parent d87a65a670
commit 5b6897cc9e

View File

@ -20,10 +20,10 @@ class DataTypeDirectorObject extends DataTypeHook
$display = $type === 'service_set' $display = $type === 'service_set'
? 'object_name' ? 'object_name'
: 'COALESCE(display_name, object_name)'; : 'COALESCE(display_name, object_name)';
$query = $db->select()->from($dummy->getTableName(), array( $query = $db->select()->from($dummy->getTableName(), [
'object_name' => 'object_name', 'object_name' => 'object_name',
'display_name' => $display 'display_name' => $display
)); ])->order($display);
if ($type === 'service_set') { if ($type === 'service_set') {
$query->where('host_id IS NULL'); $query->where('host_id IS NULL');
@ -39,11 +39,9 @@ class DataTypeDirectorObject extends DataTypeHook
$params['sorted'] = true; $params['sorted'] = true;
$params = ['multiOptions' => $enum]; $params = ['multiOptions' => $enum];
} else { } else {
$params = array( $params = ['multiOptions' => [
'multiOptions' => array( null => $form->translate('- please choose -'),
null => $form->translate('- please choose -'), ] + $enum];
) + $enum,
);
$type = 'select'; $type = 'select';
} }
@ -52,7 +50,7 @@ class DataTypeDirectorObject extends DataTypeHook
public static function addSettingsFormFields(QuickForm $form) public static function addSettingsFormFields(QuickForm $form)
{ {
$enum = array( $enum = [
'host' => $form->translate('Hosts'), 'host' => $form->translate('Hosts'),
'hostgroup' => $form->translate('Host groups'), 'hostgroup' => $form->translate('Host groups'),
'service' => $form->translate('Services'), 'service' => $form->translate('Services'),
@ -60,9 +58,9 @@ class DataTypeDirectorObject extends DataTypeHook
'service_set' => $form->translate('Service Set'), 'service_set' => $form->translate('Service Set'),
'user' => $form->translate('Users'), 'user' => $form->translate('Users'),
'usergroup' => $form->translate('User groups'), 'usergroup' => $form->translate('User groups'),
); ];
$form->addElement('select', 'icinga_object_type', array( $form->addElement('select', 'icinga_object_type', [
'label' => $form->translate('Object'), 'label' => $form->translate('Object'),
'description' => $form->translate( 'description' => $form->translate(
'Please choose a specific Icinga object type' 'Please choose a specific Icinga object type'
@ -70,16 +68,16 @@ class DataTypeDirectorObject extends DataTypeHook
'required' => true, 'required' => true,
'multiOptions' => $form->optionalEnum($enum), 'multiOptions' => $form->optionalEnum($enum),
'sorted' => true, 'sorted' => true,
)); ]);
$form->addElement('select', 'data_type', array( $form->addElement('select', 'data_type', [
'label' => $form->translate('Target data type'), 'label' => $form->translate('Target data type'),
'multiOptions' => $form->optionalEnum(array( 'multiOptions' => $form->optionalEnum([
'string' => $form->translate('String'), 'string' => $form->translate('String'),
'array' => $form->translate('Array'), 'array' => $form->translate('Array'),
)), ]),
'required' => true, 'required' => true,
)); ]);
return $form; return $form;
} }