storage = new LegacyStorage( Config::module('businessprocess')->getSection('global') ); } catch (\Exception $e) { // Ignore and don't display anything } $this->hasPreviews = true; } /** * Returns false if the MonitoredObject is not a service or the check_command is not icingacli-businessprocess * * @param MonitoredObject $object * @return bool */ public function has(MonitoredObject $object) { return $object instanceof Service && $object->check_command == 'icingacli-businessprocess'; } /** * Returns the rendered Tree-/TileRenderer HTML * * @param MonitoredObject $object * @return string * @throws \Icinga\Exception\ProgrammingError */ public function getPreviewHtml(MonitoredObject $object) { if (!$this->has($object) || !$this->storage) { return ''; } $bpName = $object->_service_icingacli_businessprocess_process; $bp = $this->storage->loadProcess($bpName); MonitoringState::apply($bp); if (filter_var($object->_service_icingacli_businessprocess_grapher_tree, FILTER_VALIDATE_BOOLEAN)) { $renderer = new TreeRenderer($bp); } else { $renderer = new TileRenderer($bp); } $renderer->setBaseUrl(Url::fromPath('businessprocess/process/show?config=' . $bpName . '&node=' . $bpName)); $html = '