gitlab->importIssue;?>

+ +
+ goback, $this->createLink('repo', 'maintain'), 'self', '', 'btn btn-primary');?> +
+
diff --git a/module/job/control.php b/module/job/control.php index b0d91b34af..17d166f5d6 100644 --- a/module/job/control.php +++ b/module/job/control.php @@ -64,7 +64,30 @@ class job extends control if($_POST) { $jobID = $this->job->create(); - if(dao::isError()) return $this->send(array('result' => 'fail', 'message' => dao::getError())); + if(dao::isError()) + { + $errors = dao::getError(); + if($this->post->engine == 'gitlab' and isset($errors['server'])) + { + $errors['gitlabRepo'][] = sprintf($this->lang->error->notempty, $this->lang->job->repo); + unset($errors['server']); + unset($errors['pipeline']); + } + elseif($this->post->engine == 'jenkins') + { + if(isset($errors['server'])) + { + $errors['jkServer'] = $errors['server']; + unset($errors['server']); + } + if(isset($errors['pipeline'])) + { + $errors['jkTask'] = $errors['pipeline']; + unset($errors['pipeline']); + } + } + return $this->send(array('result' => 'fail', 'message' => $errors)); + } if($this->viewType == 'json') return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'id' => $jobID)); return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => inlink('browse'))); } @@ -108,7 +131,30 @@ class job extends control if($_POST) { $this->job->update($id); - if(dao::isError()) return $this->send(array('result' => 'fail', 'message' => dao::getError())); + if(dao::isError()) + { + $errors = dao::getError(); + if($this->post->engine == 'gitlab' and isset($errors['server'])) + { + $errors['gitlabRepo'][] = sprintf($this->lang->error->notempty, $this->lang->job->repo); + unset($errors['server']); + unset($errors['pipeline']); + } + elseif($this->post->engine == 'jenkins') + { + if(isset($errors['server'])) + { + $errors['jkServer'] = $errors['server']; + unset($errors['server']); + } + if(isset($errors['pipeline'])) + { + $errors['jkTask'] = $errors['pipeline']; + unset($errors['pipeline']); + } + } + return $this->send(array('result' => 'fail', 'message' => $errors)); + } return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => inlink('browse'))); } diff --git a/module/job/model.php b/module/job/model.php index 4d1d3ef067..463f69b07c 100644 --- a/module/job/model.php +++ b/module/job/model.php @@ -130,8 +130,8 @@ class jobModel extends model { $job->repo = $job->gitlabRepo; $repo = $this->loadModel('repo')->getRepoByID($job->repo); - $job->server = $repo->gitlab; - $job->pipeline = $repo->project; + $job->server = zget($repo, 'gitlab', ''); + $job->pipeline = zget($repo, 'project', ''); unset($job->gitlabRepo); } @@ -216,9 +216,10 @@ class jobModel extends model { $job->repo = $job->gitlabRepo; $repo = $this->loadModel('repo')->getRepoByID($job->repo); - $job->server = $repo->gitlab; - $job->pipeline = $repo->project; + $job->server = zget($repo, 'gitlab', ''); + $job->pipeline = zget($repo, 'project', ''); unset($job->gitlabRepo); + } } unset($job->jkServer); diff --git a/module/job/view/browse.html.php b/module/job/view/browse.html.php index 2d99b02251..9171422730 100644 --- a/module/job/view/browse.html.php +++ b/module/job/view/browse.html.php @@ -60,7 +60,7 @@ pipeline) . '@' . $job->jenkinsName;?> job->getTriggerConfig($job);?> - + lastStatus) echo zget($lang->compile->statusList, $job->lastStatus);?> lastStatus) echo $job->lastExec;?> diff --git a/module/repo/model.php b/module/repo/model.php index f693c6dec3..56eadabe71 100644 --- a/module/repo/model.php +++ b/module/repo/model.php @@ -606,6 +606,7 @@ class repoModel extends model public function getProductsByRepo($repoID) { $repo = $this->getRepoByID($repoID); + if(empty($repo)) return array(); return $this->dao->select('id,name')->from(TABLE_PRODUCT) ->where('id')->in($repo->product) ->andWhere('deleted')->eq(0) diff --git a/module/todo/view/edit.html.php b/module/todo/view/edit.html.php index 44f7d0dbdc..4d754ab2a7 100644 --- a/module/todo/view/edit.html.php +++ b/module/todo/view/edit.html.php @@ -181,7 +181,8 @@