mirror of
https://github.com/Icinga/icingaweb2-module-director.git
synced 2025-07-29 16:54:06 +02:00
Core: give empty list on 404, remove obsolete...
...view scripts
This commit is contained in:
parent
e27bb05fb1
commit
8216daa3af
@ -1,9 +0,0 @@
|
||||
<div class="controls">
|
||||
<?= $this->tabs ?>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<pre>
|
||||
<?= $this->escape($this->renderPlainObject($this->object)) ?>
|
||||
</pre>
|
||||
</div>
|
@ -1,31 +0,0 @@
|
||||
<div class="controls">
|
||||
<?= $this->tabs ?>
|
||||
<h1><?= $this->escape($this->title) ?></h1>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<?php if ($this->objects): ?>
|
||||
<p><?= sprintf($this->translate('%d objects found'), count($this->objects)) ?></p>
|
||||
<table class="common-table table-row-selectable" data-base-target="_next">
|
||||
<thead><tr><th><?= $this->translate('Object name') ?></th></tr></thead>
|
||||
<tbody>
|
||||
<?php foreach ($this->objects as $object): ?>
|
||||
<tr><td><?= $this->qlink(
|
||||
str_replace('!', ': ', $object),
|
||||
'director/inspect/object',
|
||||
array(
|
||||
'endpoint' => $this->endpoint,
|
||||
'type' => $this->type->name,
|
||||
'plural' => $this->type->plural_name,
|
||||
'name' => $object
|
||||
)
|
||||
) ?></td></tr>
|
||||
<?php endforeach ?>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php else: ?>
|
||||
<p><?= $this->translate('No object found') ?></p>
|
||||
<?php endif ?>
|
||||
<h2>Type attributes</h2>
|
||||
<pre><?= $this->renderPlainObject($this->type) ?></pre>
|
||||
</div>
|
@ -1,51 +0,0 @@
|
||||
<?php
|
||||
|
||||
function dumpTree($tree, $self, $showLinks = false, $level = 0)
|
||||
{
|
||||
$html = '';
|
||||
foreach ($tree as $name => $node) {
|
||||
$html .= '<li>';
|
||||
|
||||
if ($showLinks || $name === 'ConfigObject') {
|
||||
$link = $self->qlink(
|
||||
$name,
|
||||
'director/inspect/type',
|
||||
array('endpoint' => $self->endpoint, 'name' => $name),
|
||||
array('class' => $node->abstract ? 'abstract' : 'object')
|
||||
);
|
||||
} else {
|
||||
$link = sprintf(
|
||||
'<a class="%s" href="#">%s</a>',
|
||||
$node->abstract ? 'abstract' : 'object',
|
||||
$name
|
||||
);
|
||||
}
|
||||
if (property_exists($node, 'children')) {
|
||||
$html .= '<span class="handle"> </span>';
|
||||
$html .= $link;
|
||||
$html .= '<ul>' . dumpTree(
|
||||
$node->children,
|
||||
$self,
|
||||
$showLinks || $name === 'ConfigObject',
|
||||
$level + 1
|
||||
) . '</ul>';
|
||||
} else {
|
||||
$html .= $link;
|
||||
}
|
||||
$html .= '</li>';
|
||||
}
|
||||
|
||||
return $html;
|
||||
}
|
||||
|
||||
?>
|
||||
<div class="controls">
|
||||
<?= $this->tabs ?>
|
||||
<h1><?= $this->escape($this->title) ?></h1>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<ul class="tree" style="margin-left: 2em;" data-base-target="_next">
|
||||
<?= dumpTree($this->types, $this) ?>
|
||||
</ul>
|
||||
</div>
|
@ -4,6 +4,7 @@ namespace Icinga\Module\Director\Core;
|
||||
|
||||
use Exception;
|
||||
use Icinga\Exception\IcingaException;
|
||||
use Icinga\Exception\NotFoundError;
|
||||
use Icinga\Module\Director\Db;
|
||||
use Icinga\Module\Director\IcingaConfig\IcingaConfig;
|
||||
use Icinga\Module\Director\Objects\IcingaObject;
|
||||
@ -322,12 +323,16 @@ constants
|
||||
{
|
||||
// TODO: more abstraction needed
|
||||
// TODO: autofetch and cache pluraltypes
|
||||
try {
|
||||
$result = $this->client->get(
|
||||
'objects/' . $pluralType,
|
||||
array(
|
||||
'attrs' => array('__name')
|
||||
)
|
||||
)->getResult('name');
|
||||
} catch (NotFoundError $e) {
|
||||
$result = [];
|
||||
}
|
||||
|
||||
return array_keys($result);
|
||||
}
|
||||
|
@ -3,6 +3,7 @@
|
||||
namespace Icinga\Module\Director\Core;
|
||||
|
||||
use Icinga\Exception\IcingaException;
|
||||
use Icinga\Exception\NotFoundError;
|
||||
|
||||
class RestApiResponse
|
||||
{
|
||||
@ -89,7 +90,11 @@ class RestApiResponse
|
||||
}
|
||||
if (property_exists($result, 'error')) {
|
||||
if (property_exists($result, 'status')) {
|
||||
if ((int) $result->error === 404) {
|
||||
throw new NotFoundError($result->status);
|
||||
} else {
|
||||
throw new IcingaException('API request failed: ' . $result->status);
|
||||
}
|
||||
} else {
|
||||
throw new IcingaException('API request failed: ' . var_export($result, 1));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user