2018-12-17 08:48:03 -05:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace Icinga\Module\Businessprocess\Modification;
|
|
|
|
|
|
|
|
|
|
use Icinga\Module\Businessprocess\BpConfig;
|
|
|
|
|
|
|
|
|
|
class NodeApplyManualOrderAction extends NodeAction
|
|
|
|
|
{
|
|
|
|
|
public function appliesTo(BpConfig $config)
|
|
|
|
|
{
|
|
|
|
|
return $config->getMetadata()->get('ManualOrder') !== 'yes';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function applyTo(BpConfig $config)
|
|
|
|
|
{
|
|
|
|
|
$i = 0;
|
2019-01-14 09:02:24 -05:00
|
|
|
foreach ($config->getBpNodes() as $name => $node) {
|
2018-12-17 08:48:03 -05:00
|
|
|
if ($node->getDisplay() > 0) {
|
|
|
|
|
$node->setDisplay(++$i);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($node->hasChildren()) {
|
|
|
|
|
$node->setChildNames($node->getChildNames());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$config->getMetadata()->set('ManualOrder', 'yes');
|
|
|
|
|
}
|
|
|
|
|
}
|