This commit is contained in:
zhujinyong
2021-07-21 13:59:40 +08:00
33 changed files with 110 additions and 84 deletions
+20 -19
View File
@@ -471,23 +471,6 @@ CREATE TABLE IF NOT EXISTS `zt_history` (
PRIMARY KEY (`id`),
KEY `action` (`action`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- DROP TABLE IF EXISTS `zt_pipeline`;
CREATE TABLE IF NOT EXISTS `zt_pipeline` (
`id` smallint(8) unsigned NOT NULL AUTO_INCREMENT,
`type` char(30) NOT NULL,
`name` varchar(50) NOT NULL,
`url` varchar(255) DEFAULT NULL,
`account` varchar(30) DEFAULT NULL,
`password` varchar(255) NOT NULL,
`token` varchar(255) DEFAULT NULL,
`private` char(32) DEFAULT NULL,
`createdBy` varchar(30) NOT NULL,
`createdDate` datetime NOT NULL,
`editedBy` varchar(30) NOT NULL,
`editedDate` datetime NOT NULL,
`deleted` enum('0','1') NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- DROP TABLE IF EXISTS `zt_job`;
CREATE TABLE IF NOT EXISTS `zt_job` (
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
@@ -495,8 +478,9 @@ CREATE TABLE IF NOT EXISTS `zt_job` (
`repo` mediumint(8) unsigned NOT NULL,
`product` mediumint(8) unsigned NOT NULL,
`frame` varchar(20) NOT NULL,
`jkHost` mediumint(8) unsigned NOT NULL,
`jkJob` varchar(500) NOT NULL,
`engine` varchar(20) NOT NULL,
`server` mediumint(8) unsigned NOT NULL,
`pipeline` varchar(500) NOT NULL,
`triggerType` varchar(255) NOT NULL,
`svnDir` varchar(255) NOT NULL,
`atDay` varchar(255) DEFAULT NULL,
@@ -588,6 +572,23 @@ CREATE TABLE IF NOT EXISTS `zt_oauth` (
KEY `providerType` (`providerType`),
KEY `providerID` (`providerID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- DROP TABLE IF EXISTS `zt_pipeline`;
CREATE TABLE IF NOT EXISTS `zt_pipeline` (
`id` smallint(8) unsigned NOT NULL AUTO_INCREMENT,
`type` char(30) NOT NULL,
`name` varchar(50) NOT NULL,
`url` varchar(255) DEFAULT NULL,
`account` varchar(30) DEFAULT NULL,
`password` varchar(255) NOT NULL,
`token` varchar(255) DEFAULT NULL,
`private` char(32) DEFAULT NULL,
`createdBy` varchar(30) NOT NULL,
`createdDate` datetime NOT NULL,
`editedBy` varchar(30) NOT NULL,
`editedDate` datetime NOT NULL,
`deleted` enum('0','1') NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- DROP TABLE IF EXISTS `zt_planstory`;
CREATE TABLE IF NOT EXISTS `zt_planstory` (
`plan` mediumint(8) unsigned NOT NULL,
+1
View File
@@ -1,4 +1,5 @@
2021-07-20 15.2
完成的需求
27297 调整产品下拉菜单信息展现方式
27298 调整执行下拉菜单信息展现方式
27300 调整测试中产品下拉菜单信息展现方式
+2 -2
View File
@@ -102,9 +102,9 @@ class ci extends control
$jobID = 0;
if($compileID)
{
$compile = $this->dao->select('t1.*, t2.jkJob,t2.product,t2.frame,t3.name as jenkinsName,t3.url,t3.account,t3.token,t3.password')->from(TABLE_COMPILE)->alias('t1')
$compile = $this->dao->select('t1.*, t2.pipeline,t2.product,t2.frame,t3.name as jenkinsName,t3.url,t3.account,t3.token,t3.password')->from(TABLE_COMPILE)->alias('t1')
->leftJoin(TABLE_JOB)->alias('t2')->on('t1.job=t2.id')
->leftJoin(TABLE_PIPELINE)->alias('t3')->on('t2.jkHost=t3.id')
->leftJoin(TABLE_PIPELINE)->alias('t3')->on('t2.server=t3.id')
->where('t1.id')->eq($compileID)
->fetch();
+2 -2
View File
@@ -28,10 +28,10 @@ class ciModel extends model
*/
public function checkCompileStatus()
{
$compiles = $this->dao->select('t1.*, t2.jkJob, t3.name as jenkinsName,t3.url,t3.account,t3.token,t3.password')
$compiles = $this->dao->select('t1.*, t2.pipeline, t3.name as jenkinsName,t3.url,t3.account,t3.token,t3.password')
->from(TABLE_COMPILE)->alias('t1')
->leftJoin(TABLE_JOB)->alias('t2')->on('t1.job=t2.id')
->leftJoin(TABLE_PIPELINE)->alias('t3')->on('t2.jkHost=t3.id')
->leftJoin(TABLE_PIPELINE)->alias('t3')->on('t2.server=t3.id')
->where('t1.status')->ne('success')
->andWhere('t1.status')->ne('failure')
->andWhere('t1.status')->ne('create_fail')
+5 -5
View File
@@ -34,10 +34,10 @@ class compileModel extends model
*/
public function getList($jobID, $orderBy = 'id_desc', $pager = null)
{
return $this->dao->select('t1.id, t1.name, t1.job, t1.status, t1.createdDate,t1.testtask, t2.jkJob,t2.triggerType,t2.comment,t2.atDay,t2.atTime, t3.name as repoName, t4.name as jenkinsName')->from(TABLE_COMPILE)->alias('t1')
return $this->dao->select('t1.id, t1.name, t1.job, t1.status, t1.createdDate,t1.testtask, t2.pipeline,t2.triggerType,t2.comment,t2.atDay,t2.atTime, t3.name as repoName, t4.name as jenkinsName')->from(TABLE_COMPILE)->alias('t1')
->leftJoin(TABLE_JOB)->alias('t2')->on('t1.job=t2.id')
->leftJoin(TABLE_REPO)->alias('t3')->on('t2.repo=t3.id')
->leftJoin(TABLE_PIPELINE)->alias('t4')->on('t2.jkHost=t4.id')
->leftJoin(TABLE_PIPELINE)->alias('t4')->on('t2.server=t4.id')
->where('t1.deleted')->eq('0')
->andWhere('t1.job')->ne('0')
->beginIF(!empty($jobID))->andWhere('t1.job')->eq($jobID)->fi()
@@ -84,7 +84,7 @@ class compileModel extends model
$url = new stdclass();
$url->userPWD = "$jenkinsUser:$jenkinsPassword";
$url->url = sprintf('%s/job/%s/buildWithParameters/api/json', $jenkinsServer, $jenkins->jkJob);
$url->url = sprintf('%s/job/%s/buildWithParameters/api/json', $jenkinsServer, $jenkins->pipeline);
return $url;
}
@@ -121,9 +121,9 @@ class compileModel extends model
*/
public function exec($compile)
{
$job = $this->dao->select('t1.id,t1.name,t1.repo,t1.jkJob,t2.name as jenkinsName,t2.url,t2.account,t2.token,t2.password')
$job = $this->dao->select('t1.id,t1.name,t1.repo,t1.pipeline,t2.name as jenkinsName,t2.url,t2.account,t2.token,t2.password')
->from(TABLE_JOB)->alias('t1')
->leftJoin(TABLE_PIPELINE)->alias('t2')->on('t1.jkHost=t2.id')
->leftJoin(TABLE_PIPELINE)->alias('t2')->on('t1.server=t2.id')
->where('t1.id')->eq($compile->job)
->fetch();
+1 -1
View File
@@ -42,7 +42,7 @@
<td class='text-center'><?php echo $id;?></td>
<td title='<?php echo $build->name;?>'><?php echo common::hasPriv('job', 'view') ? html::a($this->createLink('job', 'view', "jobID={$build->job}&compileID={$build->id}", 'html', true), $build->name, '', "class='iframe' data-width='90%'") : $build->name;?></td>
<td title='<?php echo $build->repoName;?>'><?php echo $build->repoName;?></td>
<?php $jenkins = urldecode($build->jkJob) . '@' . $build->jenkinsName;?>
<?php $jenkins = urldecode($build->pipeline) . '@' . $build->jenkinsName;?>
<td title='<?php echo $jenkins; ?>'><?php echo $jenkins; ?></td>
<?php $triggerConfig = $this->loadModel('job')->getTriggerConfig($build);?>
<td title='<?php echo $triggerConfig;?>'><?php echo $triggerConfig;?></td>
+1 -1
View File
@@ -2985,7 +2985,7 @@ class execution extends control
$this->loadModel('project');
$project = $this->project->getByID($this->session->project);
if($project->model == 'waterfall') $this->lang->executionCommon = $this->lang->project->stage;
if(!empty($project->model) and $project->model == 'waterfall') $this->lang->executionCommon = $this->lang->project->stage;
$this->view->fileName = (in_array($status, array('all', 'undone')) ? $this->lang->execution->$status : $this->lang->execution->statusList[$status]) . $this->lang->executionCommon;
+2 -2
View File
@@ -2,5 +2,5 @@
$config->job = new stdclass();
$config->job->create = new stdclass();
$config->job->edit = new stdclass();
$config->job->create->requiredFields = 'name,repo,jkHost,jkJob,triggerType';
$config->job->edit->requiredFields = 'name,repo,jkHost,jkJob,triggerType';
$config->job->create->requiredFields = 'name,repo,server,pipeline,triggerType';
$config->job->edit->requiredFields = 'name,repo,server,pipeline,triggerType';
+4 -4
View File
@@ -86,7 +86,7 @@ class job extends control
$this->view->repoPairs = $repoPairs;
$this->view->repoTypes = $repoTypes;
$this->view->products = array(0 => '') + $this->loadModel('product')->getProductPairsByProject($this->projectID);
$this->view->jkHostList = $this->loadModel('jenkins')->getPairs();
$this->view->serverList = $this->loadModel('jenkins')->getPairs();
$this->display();
}
@@ -129,8 +129,8 @@ class job extends control
$this->view->repoType = zget($repoTypes, $job->repo, 'Git');
$this->view->job = $job;
$this->view->products = array(0 => '') + $this->loadModel('product')->getProductPairsByProject($this->projectID);
$this->view->jkHostList = $this->loadModel('jenkins')->getPairs();
$this->view->jkJobs = $this->jenkins->getTasks($job->jkHost);
$this->view->serverList = $this->loadModel('jenkins')->getPairs();
$this->view->pipelines = $this->jenkins->getTasks($job->server);
$this->display();
}
@@ -226,7 +226,7 @@ class job extends control
$this->view->job = $job;
$this->view->compile = $compile;
$this->view->repo = $this->loadModel('repo')->getRepoByID($job->repo);
$this->view->jenkins = $this->loadModel('jenkins')->getById($job->jkHost);
$this->view->jenkins = $this->loadModel('jenkins')->getById($job->server);
$this->view->product = $this->loadModel('product')->getById($job->product);
$this->display();
}
+2 -2
View File
@@ -2,7 +2,7 @@
.only-pick-time thead th, .only-pick-time tfoot th {color: transparent !important;}
.checkbox-primary.checkbox-inline {display: inline-block !important;}
.checkbox-primary.checkbox-inline label {padding-left: 5px !important;}
#jkHost_chosen .chosen-single {border-right: 0px;}
#jkJobBox {width: 385px;}
#server_chosen .chosen-single {border-right: 0px;}
#pipelineBox {width: 385px;}
#svnDirBox .input-group {width: unset !important;}
#paramDiv .input-group {padding: 3px;}
+2 -2
View File
@@ -2,7 +2,7 @@
.only-pick-time thead th, .only-pick-time tfoot th {color: transparent !important;}
.checkbox-primary.checkbox-inline {display: inline-block !important;}
.checkbox-primary.checkbox-inline label {padding-left: 5px !important;}
#jkHost_chosen .chosen-single {border-right: 0px;}
#jkJobBox {width: 385px;}
#server_chosen .chosen-single {border-right: 0px;}
#pipelineBox {width: 385px;}
#svnDirBox .input-group {width: unset !important;}
#paramDiv .input-group {padding: 3px;}
+8 -8
View File
@@ -82,25 +82,25 @@ $('#triggerType').change(function()
}
});
$('#jkHost').change(function()
$('#server').change(function()
{
var jenkinsID = $(this).val();
$('#jkJobBox #jkJob').remove();
$('#jkJobBox #jkJob_chosen').remove();
$('#jkJobBox .input-group').append("<div class='load-indicator loading'></div>");
$('#pipelineBox #pipeline').remove();
$('#pipelineBox #pipeline_chosen').remove();
$('#pipelineBox .input-group').append("<div class='load-indicator loading'></div>");
$.getJSON(createLink('jenkins', 'ajaxGetTasks', 'jenkinsID=' + jenkinsID), function(tasks)
{
html = "<select id='jkJob' name='jkJob' class='form-control'>";
html = "<select id='pipeline' name='pipeline' class='form-control'>";
for(taskKey in tasks)
{
var task = tasks[taskKey];
html += "<option value='" + taskKey + "'>" + task + "</option>";
}
html += '</select>';
$('#jkJobBox .loading').remove();
$('#jkJobBox .input-group').append(html);
$('#pipelineBox .loading').remove();
$('#pipelineBox .input-group').append(html);
$('#jkJobBox #jkJob').chosen({drop_direction: 'auto'});
$('#pipelineBox #pipeline').chosen({drop_direction: 'auto'});
})
})
+9 -9
View File
@@ -86,30 +86,30 @@ $('#triggerType').change(function()
}
});
$('#jkHost').change(function()
$('#server').change(function()
{
var jenkinsID = $(this).val();
$('#jkJobBox #jkJob').remove();
$('#jkJobBox #jkJob_chosen').remove();
$('#jkJobBox .input-group').append("<div class='load-indicator loading'></div>");
$('#pipelineBox #pipeline').remove();
$('#pipelineBox #pipeline_chosen').remove();
$('#pipelineBox .input-group').append("<div class='load-indicator loading'></div>");
$.getJSON(createLink('jenkins', 'ajaxGetTasks', 'jenkinsID=' + jenkinsID), function(tasks)
{
html = "<select id='jkJob' name='jkJob' class='form-control'>";
html = "<select id='pipeline' name='pipeline' class='form-control'>";
for(taskKey in tasks)
{
var task = tasks[taskKey];
html += "<option value='" + taskKey + "'>" + task + "</option>";
}
html += '</select>';
$('#jkJobBox .loading').remove();
$('#jkJobBox .input-group').append(html);
$('#pipelineBox .loading').remove();
$('#pipelineBox .input-group').append(html);
$('#jkJobBox #jkJob').val(jkJob).chosen({drop_direction: 'auto'});
$('#pipelineBox #pipeline').val(pipeline).chosen({drop_direction: 'auto'});
})
})
$(function()
{
$('#jkHost').change();
$('#server').change();
$('#triggerType').change();
});
+3 -1
View File
@@ -17,8 +17,10 @@ $lang->job->product = $lang->productCommon;
$lang->job->svnDir = 'SVN Tag Watch Path';
$lang->job->jenkins = 'Jenkins';
$lang->job->jkHost = 'Jenkins Server';
$lang->job->buildType = 'Build Type';
$lang->job->jkJob = 'Jenkins Task';
$lang->job->server = 'Server';
$lang->job->pipeline = 'Pipeline';
$lang->job->buildType = 'Build Type';
$lang->job->frame = 'Frame';
$lang->job->triggerType = 'Trigger';
$lang->job->atDay = 'Custom Days';
+4 -1
View File
@@ -19,8 +19,11 @@ $lang->job->product = $lang->productCommon;
$lang->job->svnDir = 'SVN Tag Watch Path';
$lang->job->jenkins = 'Jenkins';
$lang->job->jkHost = 'Jenkins Server';
$lang->job->buildType = 'Build Type';
$lang->job->jkJob = 'Jenkins Task';
$lang->job->engine = 'Engine';
$lang->job->server = 'Server';
$lang->job->pipeline = 'Pipeline';
$lang->job->buildType = 'Build Type';
$lang->job->frame = 'Frame';
$lang->job->triggerType = 'Trigger';
$lang->job->atDay = 'Custom Days';
+3 -1
View File
@@ -17,8 +17,10 @@ $lang->job->product = $lang->productCommon;
$lang->job->svnDir = 'SVN Tag Watch Path';
$lang->job->jenkins = 'Jenkins';
$lang->job->jkHost = 'Serveur Jenkins';
$lang->job->buildType = 'Type Build';
$lang->job->jkJob = 'T鈉he Jenkins';
$lang->job->server = 'Serveur';
$lang->job->pipeline = 'Pipeline';
$lang->job->buildType = 'Type Build';
$lang->job->frame = 'Cadre';
$lang->job->triggerType = 'D閏lencheur';
$lang->job->atDay = 'Jours Person.';
+3 -1
View File
@@ -17,8 +17,10 @@ $lang->job->product = $lang->productCommon;
$lang->job->svnDir = 'SVN Tag Watch Path';
$lang->job->jenkins = 'Jenkins';
$lang->job->jkHost = 'Jenkins Server';
$lang->job->buildType = 'Loại bản dựng';
$lang->job->jkJob = 'Jenkins nhiệm vụ';
$lang->job->server = 'Server';
$lang->job->pipeline = 'Pipeline';
$lang->job->buildType = 'Loại bản dựng';
$lang->job->frame = 'Frame';
$lang->job->triggerType = 'Trigger';
$lang->job->atDay = 'Ngày tùy chọn';
+4 -1
View File
@@ -19,8 +19,11 @@ $lang->job->product = '关联' . $lang->productCommon;
$lang->job->svnDir = 'SVN监控路径';
$lang->job->jenkins = 'Jenkins';
$lang->job->jkHost = 'Jenkins服务器';
$lang->job->buildType = '构建类型';
$lang->job->jkJob = 'Jenkins任务';
$lang->job->engine = '构建引擎';
$lang->job->server = '服务器';
$lang->job->pipeline = '流水线';
$lang->job->buildType = '构建类型';
$lang->job->frame = '工具/框架';
$lang->job->triggerType = '触发方式';
$lang->job->atDay = '自定义日期';
+3 -1
View File
@@ -19,8 +19,10 @@ $lang->job->product = '關聯' . $lang->productCommon;
$lang->job->svnDir = 'SVN監控路徑';
$lang->job->jenkins = 'Jenkins';
$lang->job->jkHost = 'Jenkins伺服器';
$lang->job->buildType = '構建類型';
$lang->job->jkJob = 'Jenkins任務';
$lang->job->server = '伺服器';
$lang->job->pipeline = '流水線';
$lang->job->buildType = '構建類型';
$lang->job->frame = '工具/框架';
$lang->job->triggerType = '觸發方式';
$lang->job->atDay = '自定義日期';
+3 -3
View File
@@ -35,7 +35,7 @@ class jobModel extends model
{
return $this->dao->select('t1.*, t2.name as repoName, t3.name as jenkinsName')->from(TABLE_JOB)->alias('t1')
->leftJoin(TABLE_REPO)->alias('t2')->on('t1.repo=t2.id')
->leftJoin(TABLE_PIPELINE)->alias('t3')->on('t1.jkHost=t3.id')
->leftJoin(TABLE_PIPELINE)->alias('t3')->on('t1.server=t3.id')
->where('t1.deleted')->eq('0')
->orderBy($orderBy)
->page($pager)
@@ -288,9 +288,9 @@ class jobModel extends model
*/
public function exec($id)
{
$job = $this->dao->select('t1.id,t1.name,t1.product,t1.repo,t1.jkJob,t1.triggerType,t1.atTime,t1.customParam,t2.name as jenkinsName,t2.url,t2.account,t2.token,t2.password')
$job = $this->dao->select('t1.id,t1.name,t1.product,t1.repo,t1.pipeline,t1.triggerType,t1.atTime,t1.customParam,t2.name as jenkinsName,t2.url,t2.account,t2.token,t2.password')
->from(TABLE_JOB)->alias('t1')
->leftJoin(TABLE_PIPELINE)->alias('t2')->on('t1.jkHost=t2.id')
->leftJoin(TABLE_PIPELINE)->alias('t2')->on('t1.server=t2.id')
->where('t1.id')->eq($id)
->fetch();
if(!$job) return false;
+2 -2
View File
@@ -30,7 +30,7 @@
<th class='text-left'><?php common::printOrderLink('name', $orderBy, $vars, $lang->job->name);?></th>
<th class='w-150px text-left'><?php common::printOrderLink('repo', $orderBy, $vars, $lang->job->repo);?></th>
<th class='w-80px'><?php common::printOrderLink('frame', $orderBy, $vars, $lang->job->frame);?></th>
<th class='w-250px text-left'><?php common::printOrderLink('jkHost', $orderBy, $vars, $lang->job->jenkins);?></th>
<th class='w-250px text-left'><?php common::printOrderLink('server', $orderBy, $vars, $lang->job->jenkins);?></th>
<th class='text-left'><?php echo $lang->job->triggerType;?></th>
<th class='w-100px text-center'><?php common::printOrderLink('lastStatus', $orderBy, $vars, $lang->job->lastStatus);?></th>
<th class='w-130px text-left'><?php common::printOrderLink('lastExec', $orderBy, $vars, $lang->job->lastExec);?></th>
@@ -44,7 +44,7 @@
<td title='<?php echo $job->name; ?>'><?php echo common::hasPriv('job', 'view') ? html::a($this->createLink('job', 'view', "jobID={$job->id}", 'html', true), $job->name, '', "class='iframe' data-width='90%'") : $job->name;?></td>
<td title='<?php echo $job->repoName; ?>'><?php echo $job->repoName; ?></td>
<td><?php echo zget($lang->job->frameList, $job->frame);?></td>
<?php $jenkins = urldecode($job->jkJob) . '@' . $job->jenkinsName;?>
<?php $jenkins = urldecode($job->pipeline) . '@' . $job->jenkinsName;?>
<td title='<?php echo $jenkins; ?>'><?php echo $jenkins; ?></td>
<?php $triggerConfig = $this->job->getTriggerConfig($job);?>
<td title='<?php echo $triggerConfig;?>'><?php echo $triggerConfig;?></td>
+5 -5
View File
@@ -73,14 +73,14 @@
</td>
</tr>
<tr>
<th><?php echo $lang->job->jkHost; ?></th>
<th><?php echo $lang->job->server; ?></th>
<td colspan='2'>
<div class='table-row'>
<div class='table-col'><?php echo html::select('jkHost', $jkHostList, '', "class='form-control chosen'"); ?></div>
<div id='jkJobBox' class='table-col'>
<div class='table-col'><?php echo html::select('server', $serverList, '', "class='form-control chosen'"); ?></div>
<div id='pipelineBox' class='table-col'>
<div class='input-group'>
<span class='input-group-addon'><?php echo $lang->job->jkJob; ?></span>
<?php echo html::select('jkJob', array('' => ''), '', "class='form-control chosen'"); ?>
<span class='input-group-addon'><?php echo $lang->job->pipeline; ?></span>
<?php echo html::select('pipeline', array('' => ''), '', "class='form-control chosen'"); ?>
</div>
</div>
</div>
+8 -6
View File
@@ -14,7 +14,7 @@
<?php js::set('repoTypes', $repoTypes)?>
<?php js::set('triggerType', $job->triggerType);?>
<?php js::set('jkJob', $job->jkJob);?>
<?php js::set('pipeline', $job->pipeline);?>
<?php js::set('dirChange', $lang->job->dirChange);?>
<?php js::set('buildTag', $lang->job->buildTag);?>
@@ -96,14 +96,14 @@
</td>
</tr>
<tr>
<th><?php echo $lang->job->jkHost; ?></th>
<th><?php echo $lang->job->server; ?></th>
<td colspan='2'>
<div class='table-row'>
<div class='table-col'><?php echo html::select('jkHost', $jkHostList, $job->jkHost, "class='form-control chosen'");?></div>
<div id='jkJobBox' class='table-col'>
<div class='table-col'><?php echo html::select('server', $serverList, $job->server, "class='form-control chosen'");?></div>
<div id='pipelineBox' class='table-col'>
<div class='input-group'>
<span class='input-group-addon'><?php echo $lang->job->jkJob; ?></span>
<?php echo html::select('jkJob', array('' => ''), $job->jkJob, "class='form-control chosen'");?>
<span class='input-group-addon'><?php echo $lang->job->pipeline; ?></span>
<?php echo html::select('pipeline', array('' => ''), $job->pipeline, "class='form-control chosen'");?>
</div>
</div>
</div>
@@ -112,6 +112,7 @@
<tr>
<th><?php echo $lang->job->customParam;?></th>
<td colspan='2' id='paramDiv'>
<?php if($job->customParam):?>
<?php foreach(json_decode($job->customParam) as $paramName => $paramValue):?>
<div class='table-row input-group'>
<span class='input-group-addon w-50px'><?php echo $lang->job->paramName; ?></span>
@@ -135,6 +136,7 @@
<span class='input-group-addon w-40px'><a href='javascript:;' onclick='deleteItem(this)'><i class='icon icon-close'></i></a></span>
</div>
<?php endforeach;?>
<?php endif;?>
<div class='table-row input-group'>
<span class='input-group-addon w-50px'><?php echo $lang->job->paramName; ?></span>
<?php echo html::input('paramName[]', '', "class='form-control' id='paramName'"); ?>
+2 -2
View File
@@ -50,8 +50,8 @@
<td><?php echo zget($lang->job->frameList, $job->frame);?></td>
</tr>
<tr>
<th><?php echo $lang->job->jkHost;?></th>
<td><?php echo urldecode($job->jkJob) . '@' . $jenkins->name;?></td>
<th><?php echo $lang->job->server;?></th>
<td><?php echo urldecode($job->pipeline) . '@' . $jenkins->name;?></td>
</tr>
<tr>
<th><?php echo $lang->job->triggerType;?></th>
+2 -1
View File
@@ -104,7 +104,8 @@
</td>
<td><span class='label-pri <?php echo 'label-pri-' . $bug->pri?>' title='<?php echo zget($lang->bug->priList, $bug->pri);?>'><?php echo zget($lang->bug->priList, $bug->pri)?></span></td>
<td class='text-left nobr'><?php echo html::a($this->createLink('bug', 'view', "bugID=$bug->id"), $bug->title, null, "style='color: $bug->color' title={$bug->title}");?></td>
<td class='text-left nobr'><?php echo html::a($this->createLink('product', explode('-', $config->productLink)[1], "productID=$bug->product"), $bug->productName, null, "title={$bug->productName}");?></td>
<?php $param = $config->productLink == 'product-all' ? '' : "productID=$bug->product";?>
<td class='text-left nobr'><?php echo html::a($this->createLink('product', explode('-', $config->productLink)[1], $param), $bug->productName, null, "title={$bug->productName}");?></td>
<td title="<?php echo zget($lang->bug->typeList, $bug->type, '');?>"><?php echo zget($lang->bug->typeList, $bug->type, '');?></td>
<?php if($type != 'openedBy'): ?>
<td><?php echo zget($users, $bug->openedBy);?></td>
+1
View File
@@ -25,6 +25,7 @@ $lang->stakeholder->viewExpect = 'Expectation Info';
$lang->stakeholder->issue = 'Issue Management';
$lang->stakeholder->viewIssue = 'Active Issues';
$lang->stakeholder->userIssue = 'Stakeholder Issues';
$lang->stakeholder->deleted = 'Deleted';
/* Fields. */
$lang->stakeholder->id = 'ID';
+1
View File
@@ -25,6 +25,7 @@ $lang->stakeholder->viewExpect = 'Expectation Info';
$lang->stakeholder->issue = 'Issue Management';
$lang->stakeholder->viewIssue = 'Active Issues';
$lang->stakeholder->userIssue = 'Stakeholder Issues';
$lang->stakeholder->deleted = 'Deleted';
$lang->stakeholder->viewAction = 'View Stakeholder';
$lang->stakeholder->viewIssueAction = 'Issue List';
+1
View File
@@ -25,6 +25,7 @@ $lang->stakeholder->viewExpect = 'Expectation Info';
$lang->stakeholder->issue = 'Issue Management';
$lang->stakeholder->viewIssue = 'Active Issues';
$lang->stakeholder->userIssue = 'Stakeholder Issues';
$lang->stakeholder->deleted = 'Deleted';
/* Fields. */
$lang->stakeholder->id = 'ID';
+1
View File
@@ -25,6 +25,7 @@ $lang->stakeholder->viewExpect = 'Expectation Info';
$lang->stakeholder->issue = 'Issue Management';
$lang->stakeholder->viewIssue = 'Active Issues';
$lang->stakeholder->userIssue = 'Stakeholder Issues';
$lang->stakeholder->deleted = 'Deleted';
/* Fields. */
$lang->stakeholder->id = 'ID';
+1
View File
@@ -25,6 +25,7 @@ $lang->stakeholder->viewExpect = '期望信息';
$lang->stakeholder->issue = '问题管理';
$lang->stakeholder->viewIssue = '活动问题列表';
$lang->stakeholder->userIssue = '干系人问题列表';
$lang->stakeholder->deleted = '已删除';
$lang->stakeholder->viewAction = '干系人详情';
$lang->stakeholder->viewIssueAction = '问题列表';
-2
View File
@@ -382,8 +382,6 @@ class stakeholderModel extends model
->leftJoin(TABLE_USER)->alias('t2')->on('t1.user=t2.account')
->leftJoin(TABLE_COMPANY)->alias('t3')->on('t2.company=t3.id')
->where('t1.id')->eq($userID)
->andWhere('t1.deleted')->eq('0')
->andWhere('t1.objectID')->eq($this->session->project)
->fetch();
return $stakeholder;
+3
View File
@@ -25,6 +25,9 @@ $createLink = $this->createLink('stakeholder', 'create', "projectID=$user->objec
<div class="page-title">
<span class="label label-id"><?php echo $user->id?></span>
<span class="text" title="<?php echo $user->name?>"><?php echo $user->name?></span>
<?php if($user->deleted):?>
<span class='label label-danger'><?php echo $lang->stakeholder->deleted;?></span>
<?php endif; ?>
</div>
</div>
<div class="btn-toolbar pull-right">
+1
View File
@@ -1846,6 +1846,7 @@ class storyModel extends model
$story->assignedTo = $assignedTo;
$story->assignedDate = $now;
$this->dao->update(TABLE_STORY)->data($story)->autoCheck()->where('id')->eq((int)$storyID)->exec();
if(!dao::isError())
{
$this->loadModel('gitlab');