* Finish task #48614.

This commit is contained in:
caoyanyi
2022-02-08 05:39:57 +00:00
parent 372ca9b390
commit cd560f74b3
4 changed files with 23 additions and 0 deletions
+4
View File
@@ -252,6 +252,10 @@ class gitlab extends control
if(!is_object($user)) return $this->send(array('result' => 'fail', 'message' => array('url' => array($this->lang->gitlab->hostError))));
if(!isset($user->is_admin) or !$user->is_admin) return $this->send(array('result' => 'fail', 'message' => array('token' => array($this->lang->gitlab->tokenError))));
/* Verify version compatibility. */
$result = $this->gitlab->getVersion($gitlabURL, $token);
if(empty($result) or !isset($result->version) or ((float)$result->version < (float)$this->gitlab->minCompatibleVersion)) return $this->send(array('result' => 'fail', 'message' => array('url' => array($this->lang->gitlab->notCompatible))));
}
/**
+1
View File
@@ -75,6 +75,7 @@ $lang->gitlab->emptyError = " cannot be empty";
$lang->gitlab->createSuccess = "Create success";
$lang->gitlab->mustBindUser = 'You have not registered the GitLab account, please contact the administrator to register.';
$lang->gitlab->noAccess = 'Permission denied';
$lang->gitlab->notCompatible = 'The current GitLab version is not compatible with ZenTao, please upgrade the GitLab version and try again';
$lang->gitlab->placeholder = new stdclass;
$lang->gitlab->placeholder->name = '';
+1
View File
@@ -75,6 +75,7 @@ $lang->gitlab->emptyError = "不能为空";
$lang->gitlab->createSuccess = "创建成功";
$lang->gitlab->mustBindUser = '您还未绑定GitLab用户,请联系管理员进行绑定';
$lang->gitlab->noAccess = '权限不足';
$lang->gitlab->notCompatible = '当前GitLab版本与禅道不兼容,请升级GitLab版本后重试';
$lang->gitlab->placeholder = new stdclass;
$lang->gitlab->placeholder->name = '';
+17
View File
@@ -20,6 +20,9 @@ class gitlabModel extends model
public $developerAccess = 30;
public $maintainerAccess = 40;
/* Minimum compatible version. */
public $minCompatibleVersion = '9.0';
/**
* Get a gitlab by id.
*
@@ -2809,4 +2812,18 @@ class gitlabModel extends model
return false;
}
/**
* Get gitlab version.
*
* @param string $host
* @param string $token
* @access public
* @return array
*/
public function getVersion($host, $token)
{
$host = rtrim($host, '/') . "/api/v4%s?private_token=$token";
return $this->apiGet($host, '/version');
}
}