* Fix bug#37283
This commit is contained in:
@@ -223,6 +223,18 @@ class job extends control
|
||||
$this->view->repo = $this->loadModel('repo')->getByID($job->repo);
|
||||
|
||||
if($repo->SCM == 'Gitlab') $this->view->refList = $this->loadModel('gitlab')->getReferenceOptions($repo->gitService, $repo->project);
|
||||
if($repo->SCM == 'Subversion')
|
||||
{
|
||||
$dirs = array();
|
||||
$tags = $this->loadModel('svn')->getRepoTags($repo, $path);
|
||||
if($tags)
|
||||
{
|
||||
$path = empty($repo->prefix) ? '/' : $this->repo->decodePath('');
|
||||
$dirs['/'] = $this->loadrepo->encodePath($path);
|
||||
foreach($tags as $dirPath => $dirName) $dirs[$dirPath] = $this->repo->encodePath($dirPath);
|
||||
}
|
||||
$this->view->dirs = $dirs;
|
||||
}
|
||||
|
||||
$repoList = $this->repo->getList($this->projectID);
|
||||
$repoPairs = array(0 => '', $repo->id => $repo->name);
|
||||
|
||||
@@ -99,7 +99,7 @@ function changeRepo(event)
|
||||
else
|
||||
{
|
||||
$('.reference').removeClass('gitRepo');
|
||||
if($('#triggerType').val() == 'tag') $('.svn-fields').removeClass('hidden');
|
||||
if($('[name=triggerType]').val() == 'tag') $('.svn-fields').removeClass('hidden');
|
||||
|
||||
$('#svnDir').remove();
|
||||
$('#svnDirBox').append("<div class='load-indicator loading'></div>");
|
||||
|
||||
@@ -91,7 +91,7 @@ function changeRepo(event)
|
||||
else
|
||||
{
|
||||
$('.reference').removeClass('gitRepo');
|
||||
if($('#triggerType').val() == 'tag') $('.svn-fields').removeClass('hidden');
|
||||
if($('[name=triggerType]').val() == 'tag') $('.svn-fields').removeClass('hidden');
|
||||
|
||||
$('#svnDir').remove();
|
||||
$('#svnDirBox').append("<div class='load-indicator loading'></div>");
|
||||
@@ -108,13 +108,6 @@ function changeRepo(event)
|
||||
$('#svnDirBox').append(html);
|
||||
})
|
||||
}
|
||||
|
||||
var triggerOptions = $('#triggerType').zui('picker').options.items;
|
||||
for(i in triggerOptions)
|
||||
{
|
||||
if(triggerOptions[i].value == 'tag') triggerOptions[i].text = data.type == 'gitlab' ? buildTag : dirChange;
|
||||
}
|
||||
$('#triggerType').zui('picker').render({items: triggerOptions});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -179,6 +179,7 @@ class jobModel extends model
|
||||
->remove('repoType,reference')
|
||||
->cleanInt('product')
|
||||
->get();
|
||||
$repo = $this->loadModel('repo')->getByID($job->repo);
|
||||
|
||||
if($job->engine == 'jenkins')
|
||||
{
|
||||
@@ -188,7 +189,6 @@ class jobModel extends model
|
||||
|
||||
if(strtolower($job->engine) == 'gitlab')
|
||||
{
|
||||
$repo = $this->loadModel('repo')->getByID($job->repo);
|
||||
$project = zget($repo, 'project');
|
||||
if($job->repo && !empty($repo))
|
||||
{
|
||||
@@ -240,7 +240,7 @@ class jobModel extends model
|
||||
if($job->triggerType == 'schedule') $job->atDay = empty($_POST['atDay']) ? '' : implode(',', $this->post->atDay);
|
||||
|
||||
$job->svnDir = '';
|
||||
if($job->triggerType == 'tag' and $this->post->repoType == 'Subversion')
|
||||
if($job->triggerType == 'tag' and $repo->SCM == 'Subversion')
|
||||
{
|
||||
$job->svnDir = array_pop($_POST['svnDir']);
|
||||
if($job->svnDir == '/' and $_POST['svnDir']) $job->svnDir = array_pop($_POST['svnDir']);
|
||||
@@ -275,14 +275,14 @@ class jobModel extends model
|
||||
->batchCheckIF($job->triggerType === 'schedule' and $job->atDay !== '0', "atDay", 'notempty')
|
||||
->batchCheckIF($job->triggerType === 'schedule', "atTime", 'notempty')
|
||||
->batchCheckIF($job->triggerType === 'commit', "comment", 'notempty')
|
||||
->batchCheckIF(($this->post->repoType == 'Subversion' and $job->triggerType == 'tag'), "svnDir", 'notempty')
|
||||
->batchCheckIF(($repo->SCM == 'Subversion' and $job->triggerType == 'tag'), "svnDir", 'notempty')
|
||||
->batchCheckIF($job->frame === 'sonarqube', "sonarqubeServer,projectKey", 'notempty')
|
||||
->autoCheck()
|
||||
->exec();
|
||||
if(dao::isError()) return false;
|
||||
|
||||
$id = $this->dao->lastInsertId();
|
||||
if(strtolower($job->engine) == 'jenkins') $this->initJob($id, $job, $this->post->repoType);
|
||||
if(strtolower($job->engine) == 'jenkins') $this->initJob($id, $job, $repo->SCM);
|
||||
return $id;
|
||||
}
|
||||
|
||||
@@ -305,6 +305,7 @@ class jobModel extends model
|
||||
->add('editedDate', helper::now())
|
||||
->remove('repoType,reference')
|
||||
->get();
|
||||
$repo = $this->loadModel('repo')->getByID($job->gitlabRepo);
|
||||
|
||||
if($job->engine == 'jenkins')
|
||||
{
|
||||
@@ -314,7 +315,6 @@ class jobModel extends model
|
||||
|
||||
if(strtolower($job->engine) == 'gitlab')
|
||||
{
|
||||
$repo = $this->loadModel('repo')->getByID($job->gitlabRepo);
|
||||
$project = zget($repo, 'project');
|
||||
if(!empty($repo))
|
||||
{
|
||||
@@ -367,7 +367,7 @@ class jobModel extends model
|
||||
if($job->triggerType == 'schedule') $job->atDay = empty($_POST['atDay']) ? '' : implode(',', $this->post->atDay);
|
||||
|
||||
$job->svnDir = '';
|
||||
if($job->triggerType == 'tag' and $this->post->repoType == 'Subversion')
|
||||
if($job->triggerType == 'tag' and $repo->SCM == 'Subversion')
|
||||
{
|
||||
$job->svnDir = array_pop($_POST['svnDir']);
|
||||
if($job->svnDir == '/' and $_POST['svnDir']) $job->svnDir = array_pop($_POST['svnDir']);
|
||||
@@ -403,14 +403,14 @@ class jobModel extends model
|
||||
->batchCheckIF($job->triggerType === 'schedule' and $job->atDay !== '0', "atDay", 'notempty')
|
||||
->batchCheckIF($job->triggerType === 'schedule', "atTime", 'notempty')
|
||||
->batchCheckIF($job->triggerType === 'commit', "comment", 'notempty')
|
||||
->batchCheckIF(($this->post->repoType == 'Subversion' and $job->triggerType == 'tag'), "svnDir", 'notempty')
|
||||
->batchCheckIF(($repo->SCM == 'Subversion' and $job->triggerType == 'tag'), "svnDir", 'notempty')
|
||||
->batchCheckIF($job->frame === 'sonarqube', "sonarqubeServer,projectKey", 'notempty')
|
||||
->autoCheck()
|
||||
->where('id')->eq($id)
|
||||
->exec();
|
||||
if(dao::isError()) return false;
|
||||
|
||||
$this->initJob($id, $job, $this->post->repoType);
|
||||
$this->initJob($id, $job, $repo->SCM);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -146,7 +146,7 @@ formPanel
|
||||
set::label($lang->job->branch),
|
||||
set::required(true),
|
||||
set::name('reference'),
|
||||
set::items($refList),
|
||||
set::items(!empty($refList) ? $refList : array()),
|
||||
set::value(isset($job->reference) ? $job->reference : ''),
|
||||
),
|
||||
),
|
||||
@@ -183,6 +183,8 @@ formPanel
|
||||
set::name('svnDir[]'),
|
||||
set::label($lang->job->svnDir),
|
||||
set::control('select'),
|
||||
set::items(!empty($dirs) ? $dirs : array()),
|
||||
set::value($job->svnDir),
|
||||
),
|
||||
),
|
||||
formRow
|
||||
|
||||
Reference in New Issue
Block a user