예제 #1
0
 public function actionDeleteRule()
 {
     if (true) {
         if (isset($_POST['delete'])) {
             foreach ($_POST['delete'] as $id) {
                 $rule = DiscoveryRule::findOne($id);
                 if ($rule->delete()) {
                     Yii::$app->getSession()->addFlash('success', Yii::t('topology', 'Rule {name} deleted', ['name' => $rule->name]));
                 } else {
                     Yii::$app->getSession()->setFlash('error', Yii::t('topology', 'Error deleting rule {name}', ['name' => $rule->name]));
                 }
             }
         }
     } else {
         Yii::$app->getSession()->addFlash('warning', Yii::t('topology', 'You are not allowed to delete rules'));
     }
     return $this->redirect('index');
 }
예제 #2
0
 public function execute($ruleId)
 {
     $rule = DiscoveryRule::findOne($ruleId);
     $ds = new DiscoveryService();
     $ds->execute($this, $rule);
 }
예제 #3
0
 static function loadFromDB($id)
 {
     $rule = parent::findOne($id);
     if (!isset($rule)) {
         return null;
     }
     $task = ScheduledTask::findOne(['obj_data' => $id, 'obj_class' => 'meican\\topology\\models\\DiscoveryTask']);
     if ($task) {
         $rule->freq = $task->freq;
         $rule->freq_enabled = true;
     }
     if ($rule->subscription_id) {
         $rule->subscribe_enabled = true;
     }
     return $rule;
 }