Example #1
0
 /**
  * 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');
 }