/** * Remove a monitoring instance */ public function removeinstanceAction() { $instanceName = $this->params->getRequired('instance'); $instanceForm = new InstanceConfigForm(); $instanceForm->setIniConfig($this->Config('instances')); $form = new ConfirmRemovalForm(); $form->setRedirectUrl('monitoring/config'); $form->setTitle(sprintf($this->translate('Remove Monitoring Instance %s'), $instanceName)); $form->addDescription($this->translate('If you have still any environments or views referring to this instance, ' . 'you won\'t be able to send commands anymore after deletion.')); $form->setOnSuccess(function (ConfirmRemovalForm $form) use($instanceName, $instanceForm) { try { $instanceForm->delete($instanceName); } catch (Exception $e) { $form->error($e->getMessage()); return false; } if ($instanceForm->save()) { Notification::success(sprintf(t('Monitoring instance "%s" successfully removed'), $instanceName)); return true; } return false; }); $form->handleRequest(); $this->view->form = $form; $this->render('form'); }