/** * 提交任务 * * @param $projectId 没有projectId则显示列表 * @return string */ public function actionSubmit($projectId = null) { // 为了方便用户更改表名,避免表名直接定死 $projectTable = Project::tableName(); $groupTable = Group::tableName(); if (!$projectId) { // 显示所有项目列表 $projects = Project::find()->leftJoin(Group::tableName(), "`{$groupTable}`.`project_id` = `{$projectTable}`.`id`")->where(["`{$projectTable}`.status" => Project::STATUS_VALID, "`{$groupTable}`.`user_id`" => $this->uid])->asArray()->all(); return $this->render('select-project', ['projects' => $projects]); } $task = new Task(); $conf = Project::getConf($projectId); if (!$conf) { throw new \Exception(yii::t('task', 'unknown project')); } if (\Yii::$app->request->getIsPost()) { $group = Group::find()->where(['user_id' => $this->uid, 'project_id' => $projectId])->count(); if (!$group) { throw new \Exception(yii::t('task', 'you are not the member of project')); } if ($task->load(\Yii::$app->request->post())) { // 是否需要审核 $status = $conf->audit == Project::AUDIT_YES ? Task::STATUS_SUBMIT : Task::STATUS_PASS; $task->user_id = $this->uid; $task->project_id = $projectId; $task->status = $status; if ($task->save()) { return $this->redirect('@web/task/'); } } } $tpl = $conf->repo_type == Project::REPO_GIT ? 'submit-git' : 'submit-svn'; return $this->render($tpl, ['task' => $task, 'conf' => $conf]); }
/** * 提交任务 * * @param $projectId * @return string */ public function actionSubmit($projectId = null) { $task = new Task(); if ($projectId) { $conf = Project::find()->where(['id' => $projectId, 'status' => Project::STATUS_VALID])->one(); } if (\Yii::$app->request->getIsPost()) { if (!$conf) { throw new \Exception(yii::t('task', 'unknown project')); } $group = Group::find()->where(['user_id' => $this->uid, 'project_id' => $projectId])->count(); if (!$group) { throw new \Exception(yii::t('task', 'you are not the member of project')); } if ($task->load(\Yii::$app->request->post())) { // 是否需要审核 $status = $conf->audit == Project::AUDIT_YES ? Task::STATUS_SUBMIT : Task::STATUS_PASS; $task->user_id = $this->uid; $task->project_id = $projectId; $task->status = $status; if ($task->save()) { return $this->redirect('/task/'); } } } if ($projectId) { $tpl = $conf->repo_type == Project::REPO_GIT ? 'submit-git' : 'submit-svn'; return $this->render($tpl, ['task' => $task, 'conf' => $conf]); } // 成员所属项目 $projects = Project::find()->leftJoin(Group::tableName(), '`group`.project_id=project.id')->where(['project.status' => Project::STATUS_VALID, '`group`.user_id' => $this->uid])->asArray()->all(); return $this->render('select-project', ['projects' => $projects]); }
/** * 配置项目列表 * */ public function actionIndex() { // 显示该用户为管理员的所有项目 $project = Project::find()->leftJoin(Group::tableName(), '`group`.`project_id`=`project`.`id`')->where(['`group`.`user_id`' => $this->uid, '`group`.`type`' => Group::TYPE_ADMIN]); $kw = \Yii::$app->request->post('kw'); if ($kw) { $project->andWhere(['like', "name", $kw]); } $project = $project->asArray()->all(); return $this->render('index', ['list' => $project]); }
/** * 配置项目列表 * */ public function actionIndex() { // 为了方便用户更改表名,避免表名直接定死 $groupTable = Group::tableName(); $projectTable = Project::tableName(); // 显示该用户为管理员的所有项目 $project = Project::find()->leftJoin(Group::tableName(), "`{$groupTable}`.`project_id`=`{$projectTable}`.`id`")->where(["`{$groupTable}`.`user_id`" => $this->uid, "`{$groupTable}`.`type`" => Group::TYPE_ADMIN]); $kw = \Yii::$app->request->post('kw'); if ($kw) { $project->andWhere(['like', "name", $kw]); } $project = $project->asArray()->all(); return $this->render('index', ['list' => $project]); }
/** * 提交任务 * * @param $projectId * @return string */ public function actionSubmit($projectId = null) { $task = new Task(); if ($projectId) { // svn下无trunk $nonTrunk = false; $conf = Project::find()->where(['id' => $projectId, 'status' => Project::STATUS_VALID])->one(); $conf = Project::getConf($projectId); // 第一次可能会因为更新而耗时,但一般不会,第一次初始化会是在检测里 if ($conf->repo_type == Project::REPO_SVN && !file_exists(Project::getDeployFromDir())) { $version = Repo::getRevision($conf); $version->updateRepo(); } // 为了简化svn无trunk, branches时,不需要做查看分支,直接就是主干 $svnTrunk = sprintf('%s/trunk', Project::getDeployFromDir()); // svn下无trunk目录 if (!file_exists($svnTrunk)) { $nonTrunk = true; } } if (\Yii::$app->request->getIsPost()) { if (!$conf) { throw new \Exception(yii::t('task', 'unknown project')); } $group = Group::find()->where(['user_id' => $this->uid, 'project_id' => $projectId])->count(); if (!$group) { throw new \Exception(yii::t('task', 'you are not the member of project')); } if ($task->load(\Yii::$app->request->post())) { // 是否需要审核 $status = $conf->audit == Project::AUDIT_YES ? Task::STATUS_SUBMIT : Task::STATUS_PASS; $task->user_id = $this->uid; $task->project_id = $projectId; $task->status = $status; if ($task->save()) { return $this->redirect('/task/'); } } } if ($projectId) { $tpl = $conf->repo_type == Project::REPO_GIT ? 'submit-git' : 'submit-svn'; return $this->render($tpl, ['task' => $task, 'conf' => $conf, 'nonTrunk' => $nonTrunk]); } // 成员所属项目 $projects = Project::find()->leftJoin(Group::tableName(), '`group`.project_id=project.id')->where(['project.status' => Project::STATUS_VALID, '`group`.user_id' => $this->uid])->asArray()->all(); return $this->render('select-project', ['projects' => $projects]); }
public function search() { $count = Yii::$app->db->createCommand("SELECT\n\t\t\t\tCOUNT(DISTINCT (z_p_id))\n\t\t\t\tfrom " . Code::tableName() . "\n\t\t\t\twhere LOWER(z_b_id) = :bank\n\t\t\t\t", [':bank' => strtolower($this->z_b_id)])->queryScalar(); $dataProvider = new SqlDataProvider(['sql' => "select\n\t\t\t\tbezeichnung,\n\t\t\t\tcount(z_b_id) as tic_count,\n\t\t\t\tSUM(if(used = 1, 1, 0)) AS bused,\n\t\t\t\tSUM(if(status > 49 and used=0, 1, 0)) AS bused50,\n\t\t\t\tSUM(if(status > 49, 1, 0)) AS busedtot\n\t\t\t\tfrom " . Code::tableName() . ", " . Group::tableName() . "\n\t\t\t\twhere LOWER(z_b_id) = :bank and z_p_id = p_id\n\t\t\t\tgroup by z_p_id", "params" => [':bank' => strtolower($this->z_b_id)], 'totalCount' => $count]); return $dataProvider; }
public function down() { $this->dropColumn(Group::tableName(), 'type'); echo "m151010_050344_group_user_admin be reverted.\n"; return true; }