/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params, $unuse = false) { $con_str = ""; if ($unuse) { $q = DcmdServicePoolNode::find()->asArray()->all(); $con_str = " ip not in(0"; foreach ($q as $item) { $con_str .= ",'" . $item['ip'] . "'"; } $con_str .= ")"; } $query = DcmdNode::find()->where($con_str)->orderBy('ip'); $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pagesize' => '20']]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(['nid' => $this->nid, 'ngroup_id' => $this->ngroup_id, 'online_time' => $this->online_time, 'purchase_time' => $this->purchase_time, 'maintain_time' => $this->maintain_time, 'utime' => $this->utime, 'ctime' => $this->ctime, 'opr_uid' => $this->opr_uid]); $query->andFilterWhere(['like', 'ip', $this->ip])->andFilterWhere(['like', 'host', $this->host])->andFilterWhere(['like', 'sid', $this->sid])->andFilterWhere(['like', 'did', $this->did])->andFilterWhere(['like', 'os_type', $this->os_type])->andFilterWhere(['like', 'os_ver', $this->os_ver])->andFilterWhere(['like', 'bend_ip', $this->bend_ip])->andFilterWhere(['like', 'public_ip', $this->public_ip])->andFilterWhere(['like', 'mach_room', $this->mach_room])->andFilterWhere(['like', 'rack', $this->rack])->andFilterWhere(['like', 'seat', $this->seat])->andFilterWhere(['like', 'server_brand', $this->server_brand])->andFilterWhere(['like', 'server_model', $this->server_model])->andFilterWhere(['like', 'cpu', $this->cpu])->andFilterWhere(['like', 'memory', $this->memory])->andFilterWhere(['like', 'disk', $this->disk])->andFilterWhere(['like', 'maintain_fac', $this->maintain_fac])->andFilterWhere(['like', 'comment', $this->comment]); return $dataProvider; }
public function actionDeleteAll() { if (Yii::$app->user->getIdentity()->admin != 1) { Yii::$app->getSession()->setFlash('success', NULL); Yii::$app->getSession()->setFlash('error', "对不起, 你没有权限!"); return $this->redirect(array('index')); } if (!array_key_exists('selection', Yii::$app->request->post())) { Yii::$app->getSession()->setFlash('error', '未选择设备组!'); return $this->redirect(['index']); } $select = Yii::$app->request->post()['selection']; $success_msg = ""; $err_msg = ""; foreach ($select as $k => $v) { $model = $this->findModel($v); ///判断用户是否和该设备池子属于一个系统组 $query = DcmdUserGroup::findOne(['uid' => Yii::$app->user->getId(), 'gid' => $model['gid']]); if ($query == NULL) { $err_msg .= $model['ngroup_name'] . ":没有权限删除" . "<br>"; continue; } ///判断设备池是否为空 $node = DcmdNode::find()->where(['ngroup_id' => $v])->one(); if ($node) { $err_msg .= $model['ngroup_name'] . ':设备池子不为空,不可删除' . "<br>"; continue; } DcmdNodeGroupAttr::deleteAll(['ngroup_id' => $model->ngroup_id]); $model->delete(); $success_msg .= $model['ngroup_name'] . ":删除成功" . "<br>"; } if ($success_msg != "") { Yii::$app->getSession()->setFlash('success', $success_msg); } if ($err_msg != "") { Yii::$app->getSession()->setFlash('error', $err_msg); } return $this->redirect(['index']); }
public function actionAddNode() { $app_id = Yii::$app->request->post()["app_id"]; $svr_id = Yii::$app->request->post()["svr_id"]; $svr_pool_id = Yii::$app->request->post()["svr_pool_id"]; $model = DcmdApp::findOne($app_id); ///判断用户所属的系统组是否和该应用相同 $query = DcmdUserGroup::findOne(['uid' => Yii::$app->user->getId(), 'gid' => $model['sa_gid']]); if ($query == NULL) { Yii::$app->getSession()->setFlash('success', NULL); Yii::$app->getSession()->setFlash('error', "对不起, 你没有权限!"); return $this->redirect(array('dcmd-service-pool/view', 'id' => $svr_pool_id, 'show_div' => 'dcmd-service-pool-node')); } $service = DcmdService::findOne($svr_id); $success_msg = ""; $err_msg = ""; if (array_key_exists("selection", Yii::$app->request->post())) { $success_msg = "成功添加以下设备:"; $nid_str = "nid in (0"; foreach (Yii::$app->request->post()["selection"] as $k => $v) { $nid_str .= "," . $v; } $nid_str .= ")"; $query = DcmdNode::find()->where($nid_str)->asArray()->all(); $tm = date('Y-m-d H:i:s'); foreach ($query as $item) { if ($service->node_multi_pool == 0) { ///不可重复节点 $temp = DcmdServicePoolNode::findOne(['svr_id' => $svr_id, 'ip' => $item['ip']]); if ($temp) { $err_msg .= "已经有池子使用该节点:" . $item['ip'] . " "; continue; } } $server_pool_node = new DcmdServicePoolNode(); $server_pool_node->svr_pool_id = $svr_pool_id; $server_pool_node->svr_id = $svr_id; $server_pool_node->app_id = $app_id; $server_pool_node->nid = $item['nid']; $server_pool_node->ip = $item['ip']; $server_pool_node->utime = $tm; $server_pool_node->ctime = $tm; $server_pool_node->opr_uid = Yii::$app->user->getId(); $server_pool_node->save(); $this->oprlog(1, "add ip:" . $item['ip']); $success_msg .= $item['ip'] . " "; } } if ($success_msg != "") { Yii::$app->getSession()->setFlash('success', $success_msg); } if ($err_msg != "") { Yii::$app->getSession()->setFlash('error', $err_msg); } return $this->redirect(array('dcmd-service-pool/view', 'id' => $svr_pool_id, 'show_div' => 'dcmd-service-pool-node')); }