diff --git a/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/ModelRelationField.php b/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/ModelRelationField.php
index 185270cdb..ae011a56a 100644
--- a/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/ModelRelationField.php
+++ b/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/ModelRelationField.php
@@ -95,13 +95,22 @@ class ModelRelationField extends BaseListField
}
$groupKey = isset($modelData['group']) ? $modelData['group'] : null;
- $displayKey = $modelData['display'];
+ $displayKeys = explode(',', $modelData['display']);
+ $displayFormat = !empty($modelData['display_format']) ? $modelData['display_format'] : "%s";
$groups = array();
$searchItems = $modelObj->getNodeByReference($modelData['items']);
if (!empty($searchItems)) {
foreach ($modelObj->getNodeByReference($modelData['items'])->iterateItems() as $node) {
- if (!isset($node->getAttributes()['uuid']) || $node->$displayKey == null) {
+ $descriptions = [];
+ foreach ($displayKeys as $displayKey) {
+ if ($node->$displayKey != null) {
+ $descriptions[] = (string)$node->$displayKey;
+ } else {
+ $descriptions[] = "";
+ }
+ }
+ if (!isset($node->getAttributes()['uuid'])) {
continue;
}
@@ -126,8 +135,9 @@ class ModelRelationField extends BaseListField
}
$uuid = $node->getAttributes()['uuid'];
- self::$internalCacheOptionList[$this->internalCacheKey][$uuid] =
- (string)$node->$displayKey;
+ self::$internalCacheOptionList[$this->internalCacheKey][$uuid] = vsprintf(
+ $displayFormat, $descriptions
+ );
}
}
unset($modelObj);
diff --git a/src/opnsense/mvc/app/models/OPNsense/Unbound/Unbound.xml b/src/opnsense/mvc/app/models/OPNsense/Unbound/Unbound.xml
index 26f9bd25f..2de8d2e86 100644
--- a/src/opnsense/mvc/app/models/OPNsense/Unbound/Unbound.xml
+++ b/src/opnsense/mvc/app/models/OPNsense/Unbound/Unbound.xml
@@ -184,7 +184,8 @@
OPNsense.Unbound.Unbound
hosts.host
- domain
+ hostname,domain
+ %s.%s
Y