/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { ///应用组用户只可查看所在组的应用 $svr_pool_con = ""; if (Yii::$app->user->getIdentity()->admin != 1) { $app_con = "svr_gid in (0"; $query = DcmdUserGroup::find()->andWhere(['uid' => Yii::$app->user->getId()])->asArray()->all(); if ($query) { foreach ($query as $item) { $app_con .= "," . $item['gid']; } } $app_con .= ")"; $query = DcmdApp::find()->where($app_con)->asArray()->all(); $svr_pool_con = "app_id in (0"; foreach ($query as $item) { $svr_pool_con .= "," . $item['app_id']; } $svr_pool_con .= ")"; } $query = DcmdServicePool::find()->where($svr_pool_con)->orderBy('svr_pool'); $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pagesize' => 20]]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(['svr_pool_id' => $this->svr_pool_id, 'svr_id' => $this->svr_id, 'app_id' => $this->app_id, 'utime' => $this->utime, 'ctime' => $this->ctime, 'opr_uid' => $this->opr_uid]); $query->andFilterWhere(['like', 'svr_pool', $this->svr_pool])->andFilterWhere(['like', 'repo', $this->repo])->andFilterWhere(['like', 'env_ver', $this->env_ver])->andFilterWhere(['like', 'comment', $this->comment]); return $dataProvider; }
/** * Lists all DcmdServicePoolNode models. * @return mixed */ public function actionIndex() { $params = array(); if (array_key_exists('DcmdServicePoolNodeSearch', Yii::$app->request->queryParams)) { $params['DcmdServicePoolNodeSearch'] = Yii::$app->request->queryParams['DcmdServicePoolNodeSearch']; if ($params['DcmdServicePoolNodeSearch']['app_id'] == "") { $params['DcmdServicePoolNodeSearch']['svr_id'] = ""; } if ($params['DcmdServicePoolNodeSearch']['svr_id'] == "") { $params['DcmdServicePoolNodeSearch']['svr_pool_id'] = ""; } } ///应用足用户只可查看所在组的应用 $app_con = ""; if (Yii::$app->user->getIdentity()->admin != 1) { $app_con = "svr_gid in (0"; $query = DcmdUserGroup::find()->andWhere(['uid' => Yii::$app->user->getId()])->asArray()->all(); if ($query) { foreach ($query as $item) { $app_con .= "," . $item['gid']; } } $app_con .= ")"; } $query = DcmdApp::find()->where($app_con)->orderBy('app_name')->asArray()->all(); $app = array(); foreach ($query as $item) { $app[$item['app_id']] = $item['app_alias']; } $svr = array(); if (array_key_exists('DcmdServicePoolNodeSearch', $params) && array_key_exists('app_id', $params['DcmdServicePoolNodeSearch'])) { $query = DcmdService::find()->andWhere(['app_id' => $params['DcmdServicePoolNodeSearch']['app_id']])->asArray()->all(); if ($query) { foreach ($query as $item) { $svr[$item['svr_id']] = $item['svr_name']; } } if (!array_key_exists($params['DcmdServicePoolNodeSearch']['svr_id'], $svr)) { $params['DcmdServicePoolNodeSearch']['svr_id'] = ""; } } $svr_pool = array(); if (array_key_exists('DcmdServicePoolNodeSearch', $params) && array_key_exists('svr_id', $params['DcmdServicePoolNodeSearch']) && array_key_exists($params['DcmdServicePoolNodeSearch']['svr_id'], $svr)) { $query = DcmdServicePool::find()->andWhere(['svr_id' => $params['DcmdServicePoolNodeSearch']['svr_id']])->asArray()->all(); if ($query) { foreach ($query as $item) { $svr_pool[$item['svr_pool_id']] = $item['svr_pool']; } } } if (array_key_exists('DcmdServicePoolNodeSearch', $params)) { if (!array_key_exists($params['DcmdServicePoolNodeSearch']['svr_pool_id'], $svr_pool)) { $params['DcmdServicePoolNodeSearch']['svr_pool_id'] = ""; } } $searchModel = new DcmdServicePoolNodeSearch(); $dataProvider = $searchModel->search($params); return $this->render('index', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider, 'app' => $app, 'svr' => $svr, 'svr_pool' => $svr_pool]); }
public function getSvrPoolId($svr_pool) { $query = DcmdServicePool::findOne(['svr_pool' => $svr_pool]); if ($query) { return $query['svr_pool_id']; } return ""; }
public function getServicePool($svr_pool_id) { $query = DcmdServicePool::findOne($svr_pool_id); if ($query) { return $query['svr_pool']; } return ""; }
/** * Updates an existing DcmdServicePoolAttr model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id * @return mixed */ public function actionUpdate($id, $svr_pool_id) { $svr_pool = DcmdServicePool::findOne($svr_pool_id); ///仅仅用户与该应用在同一个系统组才可以操作 $temp = DcmdApp::findOne($svr_pool->app_id); $query = DcmdUserGroup::findOne(['uid' => Yii::$app->user->getId(), 'gid' => $temp['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-attr')); } if ($id == 0) { ///需要新建 $attr_id = Yii::$app->request->queryParams['attr_id']; $def_attr = DcmdServicePoolAttrDef::findOne($attr_id); $query = DcmdServicePoolAttr::findOne(['svr_pool_id' => $svr_pool_id, 'attr_name' => $def_attr->attr_name]); if (count($query) > 0) { $id = $query['id']; } else { $model = new DcmdServicePoolAttr(); $model->app_id = $svr_pool->app_id; $model->svr_id = $svr_pool->svr_id; $model->svr_pool_id = $svr_pool_id; $model->attr_name = $def_attr->attr_name; $model->attr_value = $def_attr->def_value; $model->comment = $def_attr->comment; $model->utime = date('Y-m-d H:i:s'); $model->ctime = $model->utime; $model->opr_uid = Yii::$app->user->getId(); $model->save(); $id = $model->id; } } $model = $this->findModel($id); if ($model->load(Yii::$app->request->post()) && $model->save()) { Yii::$app->getSession()->setFlash('success', '修改成功!'); return $this->redirect(['/dcmd-service-pool/view', 'id' => $model->svr_pool_id, 'show_div' => 'dcmd-service-pool-attr']); } else { return $this->render('update', ['model' => $model]); } }
public function actionGetServicePool($svr_id) { #return '<tr data-key="15"><td><input type="checkbox" name="selection[]" checked value="15"></td><td>ducter_agent_qcloud1111</td><td>r1.1</td></tr>'; $query = DcmdServicePool::find()->andWhere(['svr_id' => $svr_id])->all(); $content = ""; foreach ($query as $item) { $content .= '<tr><td><input type="checkbox" name="selection[]" checked value="' . $item->svr_pool_id . '"></td><td>' . $item->svr_pool . "</td><td>" . $item->env_ver . '</td></tr>'; } return $content; }
public function actionGetAppSvr($id) { $arr = array(); ///获取应用命令 $dcmd_app = $this->findModel($id); $arr['name'] = $dcmd_app->app_name; $arr['children'] = array(); ///获取应用 $query = DcmdService::find()->andWhere(['app_id' => $id])->asArray()->all(); foreach ($query as $item) { $svr = array(); $svr['name'] = $item['svr_name']; $svr['children'] = array(); ///获取应用池子 $pool = DcmdServicePool::find()->andWhere(['svr_id' => $item['svr_id']])->asArray()->all(); foreach ($pool as $p) { $svrp = array(); $svrp['name'] = $p['svr_pool']; $svrp['children'] = array(); ///获取节点 $node = DcmdServicePoolNode::find()->andWhere(['svr_pool_id' => $p['svr_pool_id']])->asArray()->all(); foreach ($node as $n) { array_push($svrp['children'], array('name' => $n['ip'])); } array_push($svr['children'], $svrp); } array_push($arr['children'], $svr); } return json_encode($arr); }
/** * Finds the DcmdServicePool model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return DcmdServicePool the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = DcmdServicePool::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
public function actionDeleteAll() { if (!array_key_exists('selection', Yii::$app->request->post())) { Yii::$app->getSession()->setFlash('error', '未选择服务!'); return $this->redirect(['index']); } $select = Yii::$app->request->post()['selection']; $suc_msg = ""; $err_msg = ""; foreach ($select as $k => $id) { $model = $this->findModel($id); ///仅仅用户与该应用在同一个系统组才可以操作 $temp = DcmdApp::findOne($model['app_id']); $query = DcmdUserGroup::findOne(['uid' => Yii::$app->user->getId(), 'gid' => $temp['sa_gid']]); if ($query == NULL) { $err_msg .= $model->svr_name . ":没有权限删除<br>"; continue; } $node = DcmdServicePool::find()->where(['svr_id' => $id])->one(); if ($node) { $err_msg .= $model->svr_name . ':服务池子不为空,不可删除<br>'; continue; } else { $this->oprlog(3, "delete svrvice:" . $model->svr_name); $this->deleteDiagram($id); $model->delete(); $suc_msg .= $model->svr_name . ':删除成功<br>'; } } if ($suc_msg != "") { Yii::$app->getSession()->setFlash('success', $suc_msg); } if ($err_msg != "") { Yii::$app->getSession()->setFlash('error', $err_msg); } return $this->redirect(['index']); }
/** * Creates a new DcmdTaskTemplateServicePool model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate($task_tmpt_id) { if (Yii::$app->user->getIdentity()->admin != 1) { Yii::$app->getSession()->setFlash('success', NULL); Yii::$app->getSession()->setFlash('error', "对不起,你没有权限!"); return $this->redirect(array('dcmd-task-template/view', 'id' => $task_tmpt_id)); } if (Yii::$app->request->post()) { $tm = date('Y-m-d H:i:s'); if (array_key_exists("selection", Yii::$app->request->post())) { foreach (Yii::$app->request->post()['selection'] as $k => $v) { $dcmd_task_template_service_pool = new DcmdTaskTemplateServicePool(); $dcmd_task_template_service_pool->task_tmpt_id = $task_tmpt_id; $dcmd_task_template_service_pool->utime = $tm; $dcmd_task_template_service_pool->ctime = $tm; $dcmd_task_template_service_pool->opr_uid = Yii::$app->user->getId(); $dcmd_task_template_service_pool->svr_pool_id = $v; $dcmd_task_template_service_pool->save(); } Yii::$app->getSession()->setFlash('success', "添加服务池子成功!"); } else { Yii::$app->getSession()->setFlash('success', "没有选择服务池!"); } return $this->redirect(['dcmd-task-template/view', 'id' => $task_tmpt_id]); } $model = new DcmdTaskTemplateServicePool(); $query = DcmdTaskTemplate::findOne($task_tmpt_id); $svr_id = 0; if ($query) { $svr_id = $query['svr_id']; } ///获取未添加的服务池子列表 $query = DcmdTaskTemplateServicePool::find()->andWhere(['task_tmpt_id' => $task_tmpt_id])->asArray()->all(); $exist_svr_pool = "svr_pool_id not in ( 0"; if ($query) { foreach ($query as $item) { $exist_svr_pool .= "," . $item['svr_pool_id']; } } $exist_svr_pool .= ") and svr_id=" . $svr_id; $query = DcmdServicePool::find()->where($exist_svr_pool); $dataProvider = new ActiveDataProvider(['query' => $query]); $searchModel = new DcmdServicePoolSearch(); ///获取任务模板名称 $task_tmpt_name = ""; $query = DcmdTaskTemplate::findOne($task_tmpt_id); if ($query) { $task_tmpt_name = $query['task_tmpt_name']; } $model->task_tmpt_id = $task_tmpt_id; return $this->render('create', ['model' => $model, 'task_tmpt_id' => $task_tmpt_id, 'task_tmpt_name' => $task_tmpt_name, 'searchModel' => $searchModel, 'dataProvider' => $dataProvider]); }