Exemplo n.º 1
0
 /**
  * 提交任务
  *
  * @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]);
 }
Exemplo n.º 2
0
 /**
  * 提交任务
  *
  * @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]);
 }
Exemplo n.º 3
0
 /**
  * 配置项目列表
  *
  */
 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]);
 }
Exemplo n.º 4
0
 /**
  * 配置项目列表
  *
  */
 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]);
 }
Exemplo n.º 5
0
 /**
  * 提交任务
  *
  * @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]);
 }
Exemplo n.º 6
0
 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;
 }