diff --git a/application/datatable.class.inc.php b/application/datatable.class.inc.php
index 9de50ee04b..e426b96946 100644
--- a/application/datatable.class.inc.php
+++ b/application/datatable.class.inc.php
@@ -566,7 +566,7 @@ EOF;
{
if (is_object($aObjects[$sAlias]))
{
- $sHilightClass = $aObjects[$sAlias]->GetHilightClass();
+ $sHilightClass = MetaModel::GetHilightClass($sClassName, $aObjects[$sAlias]);
if ($sHilightClass != '')
{
$aRow['@class'] = $sHilightClass;
diff --git a/core/action.class.inc.php b/core/action.class.inc.php
index f8e9e3674c..0547b19ae8 100644
--- a/core/action.class.inc.php
+++ b/core/action.class.inc.php
@@ -52,9 +52,9 @@ abstract class Action extends cmdbAbstractObject
"category" => "grant_by_profile,core/cmdb",
"key_type" => "autoincrement",
"name_attcode" => "name",
- "complementary_name_attcode" => array('finalclass', 'description'),
+ "complementary_name_attcode" => ['finalclass', 'description'],
"state_attcode" => "status",
- "reconc_keys" => array('name'),
+ "reconc_keys" => ['name'],
"db_table" => "priv_action",
"db_key_field" => "id",
"db_finalclass_field" => "realclass",
@@ -287,8 +287,9 @@ abstract class ActionNotification extends Action
"category" => "grant_by_profile,core/cmdb",
"key_type" => "autoincrement",
"name_attcode" => "name",
+ "complementary_name_attcode" => ['finalclass', 'description'],
"state_attcode" => "",
- "reconc_keys" => array('name'),
+ "reconc_keys" => ['name'],
"db_table" => "priv_action_notification",
"db_key_field" => "id",
"db_finalclass_field" => "",
diff --git a/core/config.class.inc.php b/core/config.class.inc.php
index 1491c6ab1c..87fe5e0a66 100644
--- a/core/config.class.inc.php
+++ b/core/config.class.inc.php
@@ -560,6 +560,14 @@ class Config
'source_of_value' => '',
'show_in_conf_sample' => true,
],
+ 'list.highlight_abstract_class' => [
+ 'type' => 'bool',
+ 'description' => 'Compute highlight row colors for lists of abstract objects. Mind that setting this to true has a negative impact on performances.',
+ 'default' => false,
+ 'value' => false,
+ 'source_of_value' => '',
+ 'show_in_conf_sample' => false,
+ ],
'tag_set_item_separator' => [
'type' => 'string',
'description' => 'Tag set from string: tag label separator',
diff --git a/core/datamodel.core.xml b/core/datamodel.core.xml
index b10ab91985..7b953e1e5b 100644
--- a/core/datamodel.core.xml
+++ b/core/datamodel.core.xml
@@ -108,6 +108,10 @@
+
+
+
+