diff --git a/module/instance/model.php b/module/instance/model.php index c345d0647e..68741b2754 100644 --- a/module/instance/model.php +++ b/module/instance/model.php @@ -49,6 +49,20 @@ class InstanceModel extends model return $instance; } + /** + * 根据应用url获取应用信息。 + * Get a application by url. + * + * @param string $url + * @access public + * @return object + */ + public function getByUrl(string $url) + { + $url = str_replace(array('https://', 'http://'), '', trim($url)); + return $this->dao->select('id')->from(TABLE_INSTANCE)->where('domain')->eq($url)->fetch(); + } + /** * Get by id list. * diff --git a/module/sonarqube/control.php b/module/sonarqube/control.php index 876e035853..574e8184cb 100644 --- a/module/sonarqube/control.php +++ b/module/sonarqube/control.php @@ -288,8 +288,18 @@ class sonarqube extends control /* Get success jobs of sonarqube.*/ $projectJobPairs = $this->loadModel('job')->getJobBySonarqubeProject($sonarqubeID, $projectKeyList); $successJobs = $this->loadModel('compile')->getSuccessJobs($projectJobPairs); + $sonarqube = $this->loadModel('pipeline')->getByID($sonarqubeID); + $instance = $this->loadModel('instance')->getByUrl($sonarqube->url); - $this->view->sonarqube = $this->loadModel('pipeline')->getByID($sonarqubeID); + $sonarqube->instanceID = $sonarqube->id; + $sonarqube->type = 'external'; + if(!empty($instance->id)) + { + $sonarqube->instanceID = $instance->id; + $sonarqube->type = 'store'; + } + + $this->view->sonarqube = $sonarqube; $this->view->keyword = urldecode(urldecode($keyword)); $this->view->pager = $pager; $this->view->title = $this->lang->sonarqube->common . $this->lang->colon . $this->lang->sonarqube->browseProject; diff --git a/module/sonarqube/view/browseproject.html.php b/module/sonarqube/view/browseproject.html.php index 4e9173d461..7ce2cae30e 100644 --- a/module/sonarqube/view/browseproject.html.php +++ b/module/sonarqube/view/browseproject.html.php @@ -13,7 +13,7 @@