mirror of
https://github.com/pandorafms/pandorafms.git
synced 2025-07-30 09:15:15 +02:00
Merge branch 'ent-7757-12115-anadir-ruta-completa-en-nombre-de-servicio-en-consola-visual-dashboard' into 'develop'
Service tree view with local scope parents See merge request artica/pandorafms!4826
This commit is contained in:
commit
bf7941ddd2
@ -954,7 +954,7 @@ echo sprintf('<div id="header_table" class="header_table_%s">', $menuTypeClass);
|
|||||||
|
|
||||||
$("a.autorefresh").click (function () {
|
$("a.autorefresh").click (function () {
|
||||||
$("a.autorefresh_txt").toggle ();
|
$("a.autorefresh_txt").toggle ();
|
||||||
$("#combo_refr").toggle ();
|
$("#combo_refr").toggle();
|
||||||
$("select#ref").change (function () {
|
$("select#ref").change (function () {
|
||||||
href = $("a.autorefresh").attr ("href");
|
href = $("a.autorefresh").attr ("href");
|
||||||
|
|
||||||
|
@ -523,6 +523,14 @@ class TreeService extends Tree
|
|||||||
continue 2;
|
continue 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$title = get_parameter('title', '');
|
||||||
|
if (empty($title) === true) {
|
||||||
|
$tmp['title'] = '';
|
||||||
|
} else {
|
||||||
|
$tmp['title'] = $title.'/';
|
||||||
|
}
|
||||||
|
|
||||||
|
$tmp['title'] .= $service->name();
|
||||||
$tmp['id'] = (int) $item->service()->id();
|
$tmp['id'] = (int) $item->service()->id();
|
||||||
$tmp['name'] = $item->service()->name();
|
$tmp['name'] = $item->service()->name();
|
||||||
$tmp['alias'] = $item->service()->name();
|
$tmp['alias'] = $item->service()->name();
|
||||||
|
@ -5986,6 +5986,56 @@ function send_test_email(
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return array of ancestors of item, given array.
|
||||||
|
*
|
||||||
|
* @param integer $item From index.
|
||||||
|
* @param array $data Array data.
|
||||||
|
* @param string $key Pivot key (identifies the parent).
|
||||||
|
* @param string|null $extract Extract certain column or index.
|
||||||
|
* @param array $visited Cycle detection.
|
||||||
|
*
|
||||||
|
* @return array Array of ancestors.
|
||||||
|
*/
|
||||||
|
function get_ancestors(
|
||||||
|
int $item,
|
||||||
|
array $data,
|
||||||
|
string $key,
|
||||||
|
?string $extract=null,
|
||||||
|
array &$visited=[]
|
||||||
|
) :array {
|
||||||
|
if (isset($visited[$item]) === true) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
$visited[$item] = 1;
|
||||||
|
|
||||||
|
if (isset($data[$item]) === false) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($data[$item][$key]) === false) {
|
||||||
|
if ($extract !== null) {
|
||||||
|
return [$data[$item][$extract]];
|
||||||
|
}
|
||||||
|
|
||||||
|
return [$item];
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($extract !== null) {
|
||||||
|
return array_merge(
|
||||||
|
get_ancestors($data[$item][$key], $data, $key, $extract, $visited),
|
||||||
|
[$data[$item][$extract]]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return array_merge(
|
||||||
|
get_ancestors($data[$item][$key], $data, $key, $extract, $visited),
|
||||||
|
[$item]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (function_exists('str_contains') === false) {
|
if (function_exists('str_contains') === false) {
|
||||||
|
|
||||||
|
|
||||||
|
@ -861,7 +861,7 @@ var TreeController = {
|
|||||||
'<span><img class="invert_filter" src="' +
|
'<span><img class="invert_filter" src="' +
|
||||||
(controller.baseURL.length > 0 ? controller.baseURL : "") +
|
(controller.baseURL.length > 0 ? controller.baseURL : "") +
|
||||||
'images/help.png" class="img_help" title="' +
|
'images/help.png" class="img_help" title="' +
|
||||||
element.name +
|
(element.title ? element.title : element.name) +
|
||||||
'" alt="' +
|
'" alt="' +
|
||||||
element.name +
|
element.name +
|
||||||
'"/></span> ';
|
'"/></span> ';
|
||||||
@ -1314,6 +1314,7 @@ var TreeController = {
|
|||||||
serverID: element.serverID,
|
serverID: element.serverID,
|
||||||
rootType: element.rootType,
|
rootType: element.rootType,
|
||||||
metaID: element.metaID,
|
metaID: element.metaID,
|
||||||
|
title: element.title,
|
||||||
filter: controller.filter,
|
filter: controller.filter,
|
||||||
auth_class: controller.auth_class,
|
auth_class: controller.auth_class,
|
||||||
id_user: controller.id_user,
|
id_user: controller.id_user,
|
||||||
|
@ -272,7 +272,20 @@ class ServiceMapWidget extends Widget
|
|||||||
$fields = array_reduce(
|
$fields = array_reduce(
|
||||||
$services_res,
|
$services_res,
|
||||||
function ($carry, $item) {
|
function ($carry, $item) {
|
||||||
$carry[$item['id']] = $item['name'];
|
$parents = '';
|
||||||
|
if (class_exists('\PandoraFMS\Enterprise\Service') === true) {
|
||||||
|
try {
|
||||||
|
$service = new \PandoraFMS\Enterprise\Service($item['id']);
|
||||||
|
$ancestors = $service->getAncestors();
|
||||||
|
if (empty($ancestors) === false) {
|
||||||
|
$parents = '('.join('/', $ancestors).')';
|
||||||
|
}
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
$parents = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$carry[$item['id']] = $item['name'].' '.$parents;
|
||||||
return $carry;
|
return $carry;
|
||||||
},
|
},
|
||||||
[]
|
[]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user