From c99bc8209eb299dda334c8dde87288be976ca0c9 Mon Sep 17 00:00:00 2001 From: wangyidong Date: Fri, 21 Feb 2020 10:06:30 +0800 Subject: [PATCH] * code for task #6889. --- module/ci/control.php | 15 ++-- module/ci/css/index.css | 0 module/ci/view/index.html.php | 12 ---- module/integration/control.php | 5 +- module/integration/css/create.css | 2 + module/integration/css/edit.css | 2 + module/integration/js/create.js | 23 +----- module/integration/js/edit.js | 27 ++----- module/integration/lang/en.php | 36 +++------- module/integration/lang/zh-cn.php | 35 +++------- module/integration/model.php | 85 ++++++++-------------- module/integration/view/create.html.php | 14 +--- module/integration/view/edit.html.php | 15 +--- module/jenkins/config.php | 4 +- module/jenkins/control.php | 30 +++----- module/jenkins/js/browse.js | 4 -- module/jenkins/js/create.js | 3 - module/jenkins/js/edit.js | 3 - module/jenkins/model.php | 6 +- module/jenkins/view/browse.html.php | 71 +++++++++---------- module/jenkins/view/create.html.php | 87 +++++++++++------------ module/jenkins/view/edit.html.php | 93 ++++++++++++------------- 22 files changed, 206 insertions(+), 366 deletions(-) delete mode 100644 module/ci/css/index.css delete mode 100644 module/ci/view/index.html.php delete mode 100644 module/jenkins/js/browse.js delete mode 100644 module/jenkins/js/create.js delete mode 100644 module/jenkins/js/edit.js diff --git a/module/ci/control.php b/module/ci/control.php index 372ed52b0e..7fddd9f1ad 100644 --- a/module/ci/control.php +++ b/module/ci/control.php @@ -23,16 +23,21 @@ class ci extends control } /** - * CI index page. - * + * Build today job. + * * @access public * @return void */ - public function index() + public function buildTodayJob() { - $this->view->position[] = $this->lang->ci->common; + $scheduleJobs = $this->loadModel('integration')->getListByTriggerType('schedule'); - $this->display(); + $week = date('w'); + foreach($scheduleJobs as $job) + { + if(strpos($job->scheduleDay, $week) !== false) $this->integration->exec($job->id); + } + die('success'); } /** diff --git a/module/ci/css/index.css b/module/ci/css/index.css deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/module/ci/view/index.html.php b/module/ci/view/index.html.php deleted file mode 100644 index c322ddf1f2..0000000000 --- a/module/ci/view/index.html.php +++ /dev/null @@ -1,12 +0,0 @@ - - - -
-
-
- - diff --git a/module/integration/control.php b/module/integration/control.php index efc38e4692..621a479cc1 100644 --- a/module/integration/control.php +++ b/module/integration/control.php @@ -138,10 +138,7 @@ class integration extends control */ public function delete($id, $confirm = 'no') { - if($confirm != 'yes') - { - die(js::confirm($this->lang->integration->confirmDelete, inlink('delete', "jobID=$id&confirm=yes"))); - } + if($confirm != 'yes') die(js::confirm($this->lang->integration->confirmDelete, inlink('delete', "jobID=$id&confirm=yes"))); $this->integration->delete(TABLE_INTEGRATION, $id); diff --git a/module/integration/css/create.css b/module/integration/css/create.css index 3f41118252..f286553966 100644 --- a/module/integration/css/create.css +++ b/module/integration/css/create.css @@ -1,2 +1,4 @@ .row.text-with-input .col{line-height: 32px;} .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;} diff --git a/module/integration/css/edit.css b/module/integration/css/edit.css index 88df220e48..5f526c2e30 100644 --- a/module/integration/css/edit.css +++ b/module/integration/css/edit.css @@ -1,2 +1,4 @@ .row.text-with-input .col {line-height: 32px;} .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;} diff --git a/module/integration/js/create.js b/module/integration/js/create.js index 81467fb498..1a838f449b 100644 --- a/module/integration/js/create.js +++ b/module/integration/js/create.js @@ -68,24 +68,19 @@ $('#triggerType').change(function() { $('.tag-fields').removeClass('hidden'); $('.comment-fields').addClass('hidden'); - - scheduleTypeChanged(); + $('.custom-fields').addClass('hidden'); } else if(type == 'commit') { $('.tag-fields').addClass('hidden'); $('.comment-fields').removeClass('hidden'); $('.custom-fields').addClass('hidden'); - - scheduleTypeChanged(); } else if(type == 'schedule') { $('.tag-fields').addClass('hidden'); $('.comment-fields').addClass('hidden'); - - var val = $("input[name='scheduleType']:checked").val(); - scheduleTypeChanged(val ? val : 'custom'); + $('.custom-fields').removeClass('hidden'); } }); @@ -94,17 +89,3 @@ $(function() $('#repo').change(); $('#triggerType').change(); }); - -function scheduleTypeChanged(type) -{ - if(type == 'custom') - { - $('.schedule-fields').removeClass('hidden'); - $('.custom-fields').removeClass('hidden'); - } - else - { - $('.schedule-fields').addClass('hidden'); - $('.custom-fields').addClass('hidden'); - } -} diff --git a/module/integration/js/edit.js b/module/integration/js/edit.js index 4508e54151..b06afec3dd 100644 --- a/module/integration/js/edit.js +++ b/module/integration/js/edit.js @@ -70,24 +70,19 @@ $('#triggerType').change(function() { $('.tag-fields').removeClass('hidden'); $('.comment-fields').addClass('hidden'); - - scheduleTypeChanged(); + $('.custom-fields').addClass('hidden'); } else if(type == 'commit') { $('.tag-fields').addClass('hidden'); $('.comment-fields').removeClass('hidden'); $('.custom-fields').addClass('hidden'); - - scheduleTypeChanged(); } else if(type == 'schedule') { $('.tag-fields').addClass('hidden'); $('.comment-fields').addClass('hidden'); - - var val = $("input[name='scheduleType']:checked").val(); - scheduleTypeChanged(val? val: 'custom'); + $('.custom-fields').removeClass('hidden'); } }); @@ -101,27 +96,13 @@ function execJob(id) { $.ajax( { - type:"POST", + type: "POST", url: createLink('integration', 'exec', 'id=' + id), data: {}, datatype: "json", - success:function(data) + success: function(data) { $('.exe-job-button').tooltip('show', sendExec); } }); } - -function scheduleTypeChanged(type) -{ - if(type == 'custom') - { - $('.schedule-fields').removeClass('hidden'); - $('.custom-fields').removeClass('hidden'); - } - else - { - $('.schedule-fields').addClass('hidden'); - $('.custom-fields').addClass('hidden'); - } -} diff --git a/module/integration/lang/en.php b/module/integration/lang/en.php index 86b407f8e4..d3706339cd 100644 --- a/module/integration/lang/en.php +++ b/module/integration/lang/en.php @@ -6,33 +6,22 @@ $lang->integration->execNow = 'Execute now'; $lang->integration->delete = 'Delete Integration'; $lang->integration->confirmDelete = 'Do you want to delete this Build?'; -$lang->integration->id = 'ID'; -$lang->integration->name = 'Name'; -$lang->integration->repo = 'Repo'; -$lang->integration->svnFolder = 'SVN Tag Watch Path'; -$lang->integration->jenkins = 'Jenkins Server'; -$lang->integration->buildType = 'Build Type'; -$lang->integration->jenkinsJob = 'Jenkins Task'; -$lang->integration->triggerType = 'Trigger'; -$lang->integration->scheduleType = 'Schedule'; -$lang->integration->cronExpression = 'Cron Expression'; -$lang->integration->custom = 'Custom'; - -$lang->integration->at = 'executed on'; -$lang->integration->time = 'Time'; -$lang->integration->exec = 'Execute'; -$lang->integration->scheduleInterval = 'Every'; -$lang->integration->day = 'days'; -$lang->integration->lastExec = 'Last Executed'; -$lang->integration->scheduleTime = 'Time'; +$lang->integration->id = 'ID'; +$lang->integration->name = 'Name'; +$lang->integration->repo = 'Repo'; +$lang->integration->svnFolder = 'SVN Tag Watch Path'; +$lang->integration->jenkins = 'Jenkins Server'; +$lang->integration->buildType = 'Build Type'; +$lang->integration->jenkinsJob = 'Jenkins Task'; +$lang->integration->triggerType = 'Trigger'; +$lang->integration->scheduleDay = 'Custom Days'; +$lang->integration->lastExec = 'Last Executed'; $lang->integration->example = 'e.g.'; $lang->integration->tagEx = 'build_#15, to build Jenkins job that id is 15.'; $lang->integration->commitEx = 'start build #15, to build Jenkins job that id is 15.'; $lang->integration->cronSample = 'e.g. 0 0 2 * * 2-6/1 means 2:00 a.m. every weekday.'; - -$lang->integration->dayTypeList['workDay'] = 'Weekdays'; -$lang->integration->dayTypeList['everyDay'] = 'Every Day'; +$lang->integration->sendExec = 'Send execute request success.'; $lang->integration->buildTypeList['build'] = 'Only Build'; $lang->integration->buildTypeList['buildAndDeploy'] = 'Build And Deploy'; @@ -41,6 +30,3 @@ $lang->integration->buildTypeList['buildAndTest'] = 'Build And Test'; $lang->integration->triggerTypeList['tag'] = 'Tag'; $lang->integration->triggerTypeList['commit'] = 'Code Commit'; $lang->integration->triggerTypeList['schedule'] = 'Schedule'; - -$lang->integration->scheduleTypeList['cron'] = 'Crontab'; -$lang->integration->scheduleTypeList['custom'] = 'Custom'; diff --git a/module/integration/lang/zh-cn.php b/module/integration/lang/zh-cn.php index 8ad5e03d2e..8f986d1fbc 100644 --- a/module/integration/lang/zh-cn.php +++ b/module/integration/lang/zh-cn.php @@ -6,25 +6,16 @@ $lang->integration->execNow = '立即执行'; $lang->integration->delete = '删除构建任务'; $lang->integration->confirmDelete = '确认删除该构建任务吗?'; -$lang->integration->id = 'ID'; -$lang->integration->name = '名称'; -$lang->integration->repo = '代码库'; -$lang->integration->svnFolder = 'SVN Tag监控路径'; -$lang->integration->jenkins = 'Jenkins服务'; -$lang->integration->buildType = '构建类型'; -$lang->integration->jenkinsJob = 'Jenkins任务名'; -$lang->integration->triggerType = '触发方式'; -$lang->integration->scheduleType = '时间计划'; -$lang->integration->cronExpression = 'Cron表达式'; -$lang->integration->custom = '自定义'; - -$lang->integration->at = '在'; -$lang->integration->time = '时间'; -$lang->integration->exec = '执行'; -$lang->integration->scheduleInterval = '每隔'; -$lang->integration->day = '天'; -$lang->integration->lastExec = '最后执行'; -$lang->integration->scheduleTime = '时间'; +$lang->integration->id = 'ID'; +$lang->integration->name = '名称'; +$lang->integration->repo = '代码库'; +$lang->integration->svnFolder = 'SVN Tag监控路径'; +$lang->integration->jenkins = 'Jenkins服务'; +$lang->integration->buildType = '构建类型'; +$lang->integration->jenkinsJob = 'Jenkins任务名'; +$lang->integration->triggerType = '触发方式'; +$lang->integration->scheduleDay = '自定义天数'; +$lang->integration->lastExec = '最后执行'; $lang->integration->example = '举例'; $lang->integration->tagEx = 'build_#15,其中15为Jenkins任务编号'; @@ -32,9 +23,6 @@ $lang->integration->commitEx = 'start build #15,其中15为Jenkins任务编 $lang->integration->cronSample = '如 0 0 2 * * 2-6/1 表示每个工作日凌晨2点'; $lang->integration->sendExec = '发送执行请求成功!'; -$lang->integration->dayTypeList['workDay'] = '工作日'; -$lang->integration->dayTypeList['everyDay'] = '每天'; - $lang->integration->buildTypeList['build'] = '仅构建'; $lang->integration->buildTypeList['buildAndDeploy'] = '构建部署'; $lang->integration->buildTypeList['buildAndTest'] = '构建测试'; @@ -42,6 +30,3 @@ $lang->integration->buildTypeList['buildAndTest'] = '构建测试'; $lang->integration->triggerTypeList['tag'] = '打标签'; $lang->integration->triggerTypeList['commit'] = '代码提交注释'; $lang->integration->triggerTypeList['schedule'] = '定时计划'; - -$lang->integration->scheduleTypeList['cron'] = 'Crontab'; -$lang->integration->scheduleTypeList['custom'] = '自定义'; diff --git a/module/integration/model.php b/module/integration/model.php index 30a48f03bc..8fef1fcc6c 100644 --- a/module/integration/model.php +++ b/module/integration/model.php @@ -42,6 +42,21 @@ class integrationModel extends model ->fetchAll('id'); } + /** + * Get list by triggerType field + * + * @param string $triggerType + * @access public + * @return array + */ + public function getListByTriggerType($triggerType) + { + return $this->dao->select('*')->from(TABLE_INTEGRATION) + ->where('deleted')->eq('0') + ->andWhere('triggerType')->eq($triggerType) + ->fetchAll('id'); + } + /** * Create integration * @@ -55,40 +70,20 @@ class integrationModel extends model ->add('createdDate', helper::now()) ->remove('repoType') ->get(); + if($integration->triggerType == 'schedule') + { + if(!isset($integration->scheduleDay)) $integration->scheduleDay = array(); + $integration->scheduleDay = join(',', $integration->scheduleDay); + } $this->dao->insert(TABLE_INTEGRATION)->data($integration) ->batchCheck($this->config->integration->create->requiredFields, 'notempty') - ->batchCheckIF($integration->triggerType === 'schedule' && $integration->scheduleType == 'cron', "cronExpression", 'notempty') - ->batchCheckIF($integration->triggerType === 'schedule' && $integration->scheduleType == 'custom', "scheduleDay,scheduleTime,scheduleInterval", 'notempty') + ->batchCheckIF($integration->triggerType === 'schedule', "scheduleDay", 'notempty') ->batchCheckIF($this->post->repoType == 'Subversion', "svnFolder", 'notempty') ->autoCheck() ->exec(); - - $integrationId = $this->dao->lastInsertID(); - if($integration->triggerType =='schedule') - { - $arr = explode(":", $integration->scheduleTime); - $hour = $arr[0]; - $min = $arr[1]; - - if($integration->scheduleDay == 'everyDay') - { - $days = '1-7'; - } - elseif($integration->scheduleDay == 'workDay') - { - $days = '1-5'; - } - - $cron = (object)array('m' => $min, 'h' => $hour, 'dom' => '*', 'mon' => '*', - 'dow' => $days . '/' . $integration->scheduleInterval, 'command' => 'moduleName=ci&methodName=exeJob&parm=' . $integrationId, - 'remark' => ($this->lang->ci->extJob . $integrationId), 'type' => 'zentao', - 'buildin' => '-1', 'status' => 'normal', 'lastTime' => '0000-00-00 00:00:00'); - $this->dao->insert(TABLE_CRON)->data($cron)->exec(); - } - return true; } @@ -106,45 +101,21 @@ class integrationModel extends model ->add('editedDate', helper::now()) ->remove('repoType') ->get(); + if($integration->triggerType == 'schedule') + { + if(!isset($integration->scheduleDay)) $integration->scheduleDay = array(); + $integration->scheduleDay = join(',', $integration->scheduleDay); + } $this->dao->update(TABLE_INTEGRATION)->data($integration) ->batchCheck($this->config->integration->edit->requiredFields, 'notempty') - ->batchCheckIF($integration->triggerType === 'schedule' && $integration->scheduleType == 'cron', "cronExpression", 'notempty') - ->batchCheckIF($integration->triggerType === 'schedule' && $integration->scheduleType == 'custom', "scheduleDay,scheduleTime,scheduleInterval", 'notempty') + ->batchCheckIF($integration->triggerType === 'schedule', "scheduleDay", 'notempty') ->batchCheckIF($this->post->repoType == 'Subversion', "svnFolder", 'notempty') ->autoCheck() ->where('id')->eq($id) ->exec(); - - if ($integration->triggerType === 'schedule') - { - $command = 'moduleName=ci&methodName=exeJob&parm=' . $id; - - $arr = explode(":", $integration->scheduleTime); - $hour = $arr[0]; - $min = $arr[1]; - - if($integration->scheduleDay == 'everyDay') - { - $days = '1-7'; - } - elseif($integration->scheduleDay == 'workDay') - { - $days = '2-6'; - } - - $this->dao->update(TABLE_CRON) - ->set('m')->eq($min) - ->set('h')->eq($hour) - ->set('dom')->eq('*') - ->set('mon')->eq('*') - ->set('dow')->eq($days . '/' . $integration->scheduleInterval) - ->set('lastTime')->eq('0000-00-00 00:00:00') - ->where('command')->eq($command)->exec(); - } - return true; } @@ -163,7 +134,7 @@ class integrationModel extends model ->where('t1.id')->eq($integrationID) ->fetch(); - if (!$integration) return false; + if(!$integration) return false; $jenkinsServer = $integration->serviceUrl; $jenkinsUser = $integration->account; diff --git a/module/integration/view/create.html.php b/module/integration/view/create.html.php index d0b5179ae1..6d43782e01 100644 --- a/module/integration/view/create.html.php +++ b/module/integration/view/create.html.php @@ -54,18 +54,8 @@ integration->commitEx; ?> - integration->custom; ?> - -
-
integration->scheduleInterval;?>
-
-
integration->day;?>,
-
integration->at;?>
-
integration->dayTypeList, '',"class='form-control chosen'");?>
-
-
integration->exec;?>。
-
- + integration->scheduleDay; ?> + datepicker->dayNames, '', '', 'inline');?> diff --git a/module/integration/view/edit.html.php b/module/integration/view/edit.html.php index f2205570bc..9877f4ef4f 100644 --- a/module/integration/view/edit.html.php +++ b/module/integration/view/edit.html.php @@ -57,18 +57,8 @@ integration->commitEx; ?> - integration->custom; ?> - -
-
integration->scheduleInterval;?>
-
scheduleInterval, "class='form-control'");?>
-
integration->day; ?>,  
-
integration->at;?>
-
integration->dayTypeList, $job->scheduleDay,"class='form-control chosen'");?>
-
scheduleTime, "class='form-control form-time time-only' min='1'");?>
-
integration->exec; ?>.
-
- + integration->scheduleDay;?> + datepicker->dayNames, $job->scheduleDay, '', 'inline');?> @@ -76,7 +66,6 @@ repo, 'Git'));?> -   integration->execNow, "onclick=execJob($job->id) data-tip-class='tooltip-success'", "btn btn-info exe-job-button");?> diff --git a/module/jenkins/config.php b/module/jenkins/config.php index 8a0276c0f8..7d2408526a 100644 --- a/module/jenkins/config.php +++ b/module/jenkins/config.php @@ -1,5 +1,5 @@ jenkins->create = new stdclass(); +$config->jenkins->edit = new stdclass(); $config->jenkins->create->requiredFields = 'name,serviceUrl,credentials'; -$config->jenkins->edit = new stdclass(); -$config->jenkins->edit->requiredFields = 'name,serviceUrl,credentials'; +$config->jenkins->edit->requiredFields = 'name,serviceUrl,credentials'; diff --git a/module/jenkins/control.php b/module/jenkins/control.php index 3cfdb2b07c..110e14ec42 100644 --- a/module/jenkins/control.php +++ b/module/jenkins/control.php @@ -20,16 +20,7 @@ class jenkins extends control public function __construct($moduleName = '', $methodName = '') { parent::__construct($moduleName, $methodName); - - $repoID = $this->session->repoID; - foreach($this->lang->repo->menu as $key => $menu) - { - common::setMenuVars($this->lang->ci->menu, $key, $repoID); - } - - if(common::hasPriv('jenkins', 'create') and strpos(',browsejob,', $this->methodName) > -1) { - $this->lang->modulePageActions = html::a(helper::createLink('jenkins', 'create'), " " . $this->lang->jenkins->create, '', "class='btn btn-primary'"); - } + $this->loadModel('ci')->setMenu(); } /** @@ -44,17 +35,18 @@ class jenkins extends control */ public function browse($orderBy = 'id_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1) { + if(common::hasPriv('jenkins', 'create')) $this->lang->modulePageActions = html::a(helper::createLink('jenkins', 'create'), " " . $this->lang->jenkins->create, '', "class='btn btn-primary'"); + $this->app->loadClass('pager', $static = true); $pager = new pager($recTotal, $recPerPage, $pageID); - $this->view->jenkinsList = $this->jenkins->listAll($orderBy, $pager); - $this->view->title = $this->lang->jenkins->common . $this->lang->colon . $this->lang->jenkins->browse; $this->view->position[] = $this->lang->jenkins->common; $this->view->position[] = $this->lang->jenkins->browse; - $this->view->orderBy = $orderBy; - $this->view->pager = $pager; + $this->view->jenkinsList = $this->jenkins->getList($orderBy, $pager); + $this->view->orderBy = $orderBy; + $this->view->pager = $pager; $this->display(); } @@ -118,11 +110,11 @@ class jenkins extends control * @access public * @return void */ - public function delete($id) + public function delete($id, $confim = 'no') { - $this->jenkins->delete(TABLE_JENKINS, $id); - if(dao::isError()) $this->send(array('result' => 'fail', 'message' => dao::getError())); + if($confim != 'yes') die(js::confirm($this->lang->jenkins->confirmDelete, inlink('delete', "id=$id&confirm=yes"))); - $this->send(array('result' => 'success')); + $this->jenkins->delete(TABLE_JENKINS, $id); + die(js::reload('parent')); } -} \ No newline at end of file +} diff --git a/module/jenkins/js/browse.js b/module/jenkins/js/browse.js deleted file mode 100644 index 0a12f8df4f..0000000000 --- a/module/jenkins/js/browse.js +++ /dev/null @@ -1,4 +0,0 @@ -$(function() -{ - -}) \ No newline at end of file diff --git a/module/jenkins/js/create.js b/module/jenkins/js/create.js deleted file mode 100644 index ac8f2b5003..0000000000 --- a/module/jenkins/js/create.js +++ /dev/null @@ -1,3 +0,0 @@ -$(function() -{ -}); \ No newline at end of file diff --git a/module/jenkins/js/edit.js b/module/jenkins/js/edit.js deleted file mode 100644 index ac8f2b5003..0000000000 --- a/module/jenkins/js/edit.js +++ /dev/null @@ -1,3 +0,0 @@ -$(function() -{ -}); \ No newline at end of file diff --git a/module/jenkins/model.php b/module/jenkins/model.php index 319498148c..e410eae0dd 100644 --- a/module/jenkins/model.php +++ b/module/jenkins/model.php @@ -32,18 +32,16 @@ class jenkinsModel extends model * * @param string $orderBy * @param object $pager - * @param bool $decode * @access public * @return array */ - public function listAll($orderBy = 'id_desc', $pager = null, $decode = true) + public function getList($orderBy = 'id_desc', $pager = null) { - $jenkinsList = $this->dao->select('*')->from(TABLE_JENKINS) + return $this->dao->select('*')->from(TABLE_JENKINS) ->where('deleted')->eq('0') ->orderBy($orderBy) ->page($pager) ->fetchAll('id'); - return $jenkinsList; } /** diff --git a/module/jenkins/view/browse.html.php b/module/jenkins/view/browse.html.php index 1bbfd04490..5ec222dd2c 100644 --- a/module/jenkins/view/browse.html.php +++ b/module/jenkins/view/browse.html.php @@ -11,46 +11,37 @@ */ ?> -jenkins->confirmDelete); ?> -
-
-
- - - - recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}"; ?> - - - - - - - - $jenkins): ?> - - - - - - - - - -
jenkins->id); ?>jenkins->name); ?>jenkins->serviceUrl); ?>actions; ?>
name; ?>serviceUrl; ?> - createLink('jenkins', 'delete', "jenkinsID=$id&confirm=yes"); - echo html::a("javascript:ajaxDelete(\"$deleteURL\", \"jenkinsList\", confirmDelete)", '', '', "title='{$lang->jenkins->delete}' class='btn'"); - } - ?> -
- - - -
-
+
+ + + + recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}"; ?> + + + + + + + + $jenkins): ?> + + + + + + + + +
jenkins->id); ?>jenkins->name); ?>jenkins->serviceUrl); ?>actions; ?>
name; ?>serviceUrl; ?> + createLink('jenkins', 'delete', "jenkinsID=$id"), '', '', "title='{$lang->jenkins->delete}' class='btn'"); + ?> +
+ + + +
diff --git a/module/jenkins/view/create.html.php b/module/jenkins/view/create.html.php index 361ed68b3b..3ec9f2737e 100644 --- a/module/jenkins/view/create.html.php +++ b/module/jenkins/view/create.html.php @@ -11,53 +11,48 @@ */ ?> -
-
-
-
-

jenkins->create; ?>

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
jenkins->name; ?>
jenkins->serviceUrl; ?>
jenkins->account;?>
jenkins->token;?>jenkins->tokenFirst;?>
jenkins->password;?> - - jenkins->tips;?>
- - -
-
-
+
+
+
+

jenkins->create; ?>

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
jenkins->name; ?>
jenkins->serviceUrl; ?>
jenkins->account;?>
jenkins->token;?>jenkins->tokenFirst;?>
jenkins->password;?>jenkins->tips;?>
+ + +
+
+
- diff --git a/module/jenkins/view/edit.html.php b/module/jenkins/view/edit.html.php index fe013296d3..7b9a71c5f8 100644 --- a/module/jenkins/view/edit.html.php +++ b/module/jenkins/view/edit.html.php @@ -11,55 +11,52 @@ */ ?> -
-
-
-
-

jenkins->edit; ?>

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
jenkins->tips; ?>
jenkins->name; ?>name, "class='form-control'"); ?>
jenkins->serviceUrl; ?>serviceUrl, "class='form-control'"); ?>
jenkins->account;?>account, "class='form-control'");?>
jenkins->token;?>token, "class='form-control'");?>jenkins->tokenFirst;?>
jenkins->password;?>password, "class='form-control'");?>jenkins->tips;?>
- - -
-
-
+
+
+
+

jenkins->edit; ?>

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
jenkins->tips; ?>
jenkins->name; ?>name, "class='form-control'"); ?>
jenkins->serviceUrl; ?>serviceUrl, "class='form-control'"); ?>
jenkins->account;?>account, "class='form-control'");?>
jenkins->token;?>token, "class='form-control'");?>jenkins->tokenFirst;?>
jenkins->password;?>password, "class='form-control'");?>jenkins->tips;?>
+ + +
+
+