From 77eddecece1149e537c6bcf5fac5fbc0bbe8da28 Mon Sep 17 00:00:00 2001 From: aaronchen2k <462826@qq.com> Date: Mon, 10 Feb 2020 15:06:52 +0800 Subject: [PATCH] update --- module/ci/control.php | 12 ++-- module/ci/js/createJob.js | 21 +++--- module/ci/js/editJob.js | 21 +++--- module/ci/lang/en.php | 1 + module/ci/lang/zh-cn.php | 7 +- module/ci/model.php | 105 +++++++++++++--------------- module/ci/view/browsebuild.html.php | 10 +++ module/ci/view/browsejob.html.php | 3 - module/ci/view/createjob.html.php | 25 +++---- module/ci/view/editjob.html.php | 25 +++---- module/repo/control.php | 5 +- module/repo/js/create.js | 6 ++ module/repo/js/edit.js | 6 ++ module/repo/lang/en.php | 15 ++-- module/repo/lang/zh-cn.php | 18 ++--- module/repo/model.php | 19 ++++- module/repo/view/create.html.php | 20 +++--- module/repo/view/edit.html.php | 22 +++--- 18 files changed, 182 insertions(+), 159 deletions(-) diff --git a/module/ci/control.php b/module/ci/control.php index f10bdd27cd..5ded5b0295 100644 --- a/module/ci/control.php +++ b/module/ci/control.php @@ -93,7 +93,7 @@ class ci extends control $this->view->position[] = html::a(inlink('browseJob'), $this->lang->ci->job); $this->view->position[] = $this->lang->ci->create; - $this->view->repoList = $this->loadModel('repo')->listForSelection("true"); + $this->view->repoList = $this->loadModel('repo')->listForSelectionWithType("true"); $this->view->jenkinsList = $this->loadModel('jenkins')->listForSelection("true"); $this->display(); @@ -118,14 +118,16 @@ class ci extends control $this->app->loadLang('action'); + $repo = $this->loadModel('repo')->getRepoByID($job->repo); + $job->repoType = $repo->id . '-' . $repo->SCM; $this->view->job = $job; - $this->view->repoList = $this->loadModel('repo')->listForSelection("true"); + $this->view->repoList = $this->loadModel('repo')->listForSelectionWithType("true"); $this->view->jenkinsList = $this->loadModel('jenkins')->listForSelection("true"); - $this->view->title = $this->lang->ci->job . $this->lang->colon . $this->lang->ci->edit; - $this->view->position[] = html::a(inlink('browseJob'), $this->lang->ci->job); - $this->view->position[] = $this->lang->ci->edit; + $this->view->title = $this->lang->ci->job . $this->lang->colon . $this->lang->ci->edit; + $this->view->position[] = html::a(inlink('browseJob'), $this->lang->ci->job); + $this->view->position[] = $this->lang->ci->edit; $this->display(); } diff --git a/module/ci/js/createJob.js b/module/ci/js/createJob.js index d65ea1c6d5..25646dfd37 100644 --- a/module/ci/js/createJob.js +++ b/module/ci/js/createJob.js @@ -1,8 +1,17 @@ $(function() { + repoTypeChanged('Git'); triggerTypeChanged(triggerType); }); +function repoTypeChanged(type) { + if(type.indexOf('Subversion') > -1) { + $('.svn-fields').removeClass('hidden'); + } else { + $('.svn-fields').addClass('hidden'); + } +} + function triggerTypeChanged(type) { if(type == 'tag') { $('.tag-fields').removeClass('hidden'); @@ -13,7 +22,6 @@ function triggerTypeChanged(type) { $('.tag-fields').addClass('hidden'); $('.comment-fields').removeClass('hidden'); - $('.cron-fields').addClass('hidden'); $('.custom-fields').addClass('hidden'); scheduleTypeChanged(); @@ -22,25 +30,18 @@ function triggerTypeChanged(type) { $('.comment-fields').addClass('hidden'); var val = $("input[name='scheduleType']:checked").val(); - scheduleTypeChanged(val? val: 'cron'); + scheduleTypeChanged(val? val: 'custom'); } } function scheduleTypeChanged(type) { - if(type == 'cron') { + if(type == 'custom') { $('.schedule-fields').removeClass('hidden'); - $('.cron-fields').removeClass('hidden'); - $('.custom-fields').addClass('hidden'); - } else if(type == 'custom') { - $('.schedule-fields').removeClass('hidden'); - - $('.cron-fields').addClass('hidden'); $('.custom-fields').removeClass('hidden'); } else { $('.schedule-fields').addClass('hidden'); - $('.cron-fields').addClass('hidden'); $('.custom-fields').addClass('hidden'); } } \ No newline at end of file diff --git a/module/ci/js/editJob.js b/module/ci/js/editJob.js index 1e4aa8233b..caff8594e1 100644 --- a/module/ci/js/editJob.js +++ b/module/ci/js/editJob.js @@ -1,5 +1,6 @@ $(function() { + repoTypeChanged(repoType); triggerTypeChanged(triggerType); }); @@ -17,6 +18,14 @@ function exeJob(id) { }); } +function repoTypeChanged(type) { + if(type.indexOf('Subversion') > -1) { + $('.svn-fields').removeClass('hidden'); + } else { + $('.svn-fields').addClass('hidden'); + } +} + function triggerTypeChanged(type) { if(type == 'tag') { $('.tag-fields').removeClass('hidden'); @@ -27,7 +36,6 @@ function triggerTypeChanged(type) { $('.tag-fields').addClass('hidden'); $('.comment-fields').removeClass('hidden'); - $('.cron-fields').addClass('hidden'); $('.custom-fields').addClass('hidden'); scheduleTypeChanged(); @@ -36,25 +44,18 @@ function triggerTypeChanged(type) { $('.comment-fields').addClass('hidden'); var val = $("input[name='scheduleType']:checked").val(); - scheduleTypeChanged(val? val: 'cron'); + scheduleTypeChanged(val? val: 'custom'); } } function scheduleTypeChanged(type) { - if(type == 'cron') { + if(type == 'custom') { $('.schedule-fields').removeClass('hidden'); - $('.cron-fields').removeClass('hidden'); - $('.custom-fields').addClass('hidden'); - } else if(type == 'custom') { - $('.schedule-fields').removeClass('hidden'); - - $('.cron-fields').addClass('hidden'); $('.custom-fields').removeClass('hidden'); } else { $('.schedule-fields').addClass('hidden'); - $('.cron-fields').addClass('hidden'); $('.custom-fields').addClass('hidden'); } } \ No newline at end of file diff --git a/module/ci/lang/en.php b/module/ci/lang/en.php index 3f9d67997c..2dcd56cb58 100644 --- a/module/ci/lang/en.php +++ b/module/ci/lang/en.php @@ -22,6 +22,7 @@ $lang->job->buildTime = 'Build Time'; $lang->job->id = 'ID'; $lang->job->name = 'Name'; $lang->job->repo = 'Repo'; +$lang->job->svnFolder = 'SVN tag parent URL'; $lang->job->jenkins = 'Jenkins Server'; $lang->job->jenkinsJob = 'Jenkins Task'; $lang->job->triggerType = 'Trigger'; diff --git a/module/ci/lang/zh-cn.php b/module/ci/lang/zh-cn.php index b1f2a24972..d5935bbd4e 100644 --- a/module/ci/lang/zh-cn.php +++ b/module/ci/lang/zh-cn.php @@ -3,7 +3,7 @@ $lang->ci->common = '持续集成'; $lang->ci->at = '于'; $lang->ci->jenkins = 'Jenkins'; -$lang->ci->repo = '代码库'; +$lang->ci->repo = '版本库'; $lang->ci->job = '构建'; $lang->ci->browse = '浏览'; $lang->ci->create = '新建'; @@ -13,17 +13,22 @@ $lang->job = new stdclass(); $lang->job->browseBuild = '构建历史'; $lang->job->viewLogs = '构建日志'; +$lang->job->create = '新建构建任务'; $lang->job->edit = '编辑构建任务'; $lang->job->exeNow = '立即执行'; $lang->job->delete = '删除构建任务'; $lang->job->confirmDelete = '确认删除该构建任务吗?'; +$lang->job->repo = '构建状态'; +$lang->job->buildStatus = '构建状态'; +$lang->job->buildStatus = '构建状态'; $lang->job->buildStatus = '构建状态'; $lang->job->buildTime = '构建时间'; $lang->job->id = 'ID'; $lang->job->name = '名称'; $lang->job->repo = '代码库'; +$lang->job->svnFolder = 'SVN Tag 父URL'; $lang->job->jenkins = 'Jenkins服务'; $lang->job->buildType = '构建类型'; $lang->job->jenkinsJob = 'Jenkins任务名'; diff --git a/module/ci/model.php b/module/ci/model.php index 69a9c70b7d..c667c7c7df 100644 --- a/module/ci/model.php +++ b/module/ci/model.php @@ -60,12 +60,16 @@ class ciModel extends model ->add('createdBy', $this->app->user->account) ->add('createdDate', helper::now()) ->get(); + $arr = explode("-", $job->repo); + $job->repo = $arr[0]; + $repoType = $arr[1]; $this->dao->insert(TABLE_CI_JOB)->data($job) ->batchCheck($this->config->job->create->requiredFields, 'notempty') ->batchCheckIF($job->triggerType === 'schedule' && $job->scheduleType == 'cron', "cronExpression", 'notempty') ->batchCheckIF($job->triggerType === 'schedule' && $job->scheduleType == 'custom', "scheduleDay,scheduleTime,scheduleInterval", 'notempty') + ->batchCheckIF($repoType == 'Subversion', "svnFolder", 'notempty') ->autoCheck() ->exec(); @@ -73,32 +77,21 @@ class ciModel extends model if ($job->triggerType === 'schedule') { $jobId = $this->dao->lastInsertID(); - if ($job->scheduleType == 'custom') { - $arr = explode(":", $job->scheduleTime); - $hour = $arr[0]; - $min = $arr[1]; + $arr = explode(":", $job->scheduleTime); + $hour = $arr[0]; + $min = $arr[1]; - if ($job->scheduleDay == 'everyDay') { - $days = '1-7'; - } else if ($job->scheduleDay == 'workDay') { - $days = '1-5'; - } - - $cron = (object)array('m' => $min, 'h' => $hour, 'dom' => '*', 'mon' => '*', - 'dow' => $days . '/' . $job->scheduleInterval, 'command' => 'moduleName=ci&methodName=exeJob&parm=' . $jobId, - 'remark' => ($this->lang->ci->extJob . $jobId), 'type' => 'zentao', - 'buildin' => '-1', 'status' => 'normal', 'lastTime' => '0000-00-00 00:00:00'); - $this->dao->insert(TABLE_CRON)->data($cron)->exec(); - } else if ($job->scheduleType == 'cron') { - $arr = explode(' ', $job->cronExpression); - if (count($arr) >= 6) { - $cron = (object)array('m' => $arr[1], 'h' => $arr[2], 'dom' => $arr[3], 'mon' => $arr[4], - 'dow' => $arr[5], 'command' => 'moduleName=ci&methodName=exeJob&parm=' . $jobId, - 'remark' => ($this->lang->ci->extJob . $jobId), 'type' => 'zentao', - 'buildin' => '-1', 'status' => 'normal', 'lastTime' => '0000-00-00 00:00:00'); - $this->dao->insert(TABLE_CRON)->data($cron)->exec(); - } + if ($job->scheduleDay == 'everyDay') { + $days = '1-7'; + } else if ($job->scheduleDay == 'workDay') { + $days = '1-5'; } + + $cron = (object)array('m' => $min, 'h' => $hour, 'dom' => '*', 'mon' => '*', + 'dow' => $days . '/' . $job->scheduleInterval, 'command' => 'moduleName=ci&methodName=exeJob&parm=' . $jobId, + 'remark' => ($this->lang->ci->extJob . $jobId), 'type' => 'zentao', + 'buildin' => '-1', 'status' => 'normal', 'lastTime' => '0000-00-00 00:00:00'); + $this->dao->insert(TABLE_CRON)->data($cron)->exec(); } return true; @@ -117,12 +110,16 @@ class ciModel extends model ->add('editedBy', $this->app->user->account) ->add('editedDate', helper::now()) ->get(); + $arr = explode("-", $job->repo); + $job->repo = $arr[0]; + $repoType = $arr[1]; $this->dao->update(TABLE_CI_JOB)->data($job) ->batchCheck($this->config->job->edit->requiredFields, 'notempty') ->batchCheckIF($job->triggerType === 'schedule' && $job->scheduleType == 'cron', "cronExpression", 'notempty') ->batchCheckIF($job->triggerType === 'schedule' && $job->scheduleType == 'custom', "scheduleDay,scheduleTime,scheduleInterval", 'notempty') + ->batchCheckIF($repoType == 'Subversion', "svnFolder", 'notempty') ->autoCheck() ->where('id')->eq($id) @@ -131,39 +128,25 @@ class ciModel extends model if ($job->triggerType === 'schedule') { $command = 'moduleName=ci&methodName=exeJob&parm=' . $id; - if ($job->scheduleType == 'custom') { - $arr = explode(":", $job->scheduleTime); - $hour = $arr[0]; - $min = $arr[1]; + $arr = explode(":", $job->scheduleTime); + $hour = $arr[0]; + $min = $arr[1]; - $jobId = $this->dao->lastInsertID(); - if ($job->scheduleDay == 'everyDay') { - $days = '1-7'; - } else if ($job->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 . '/' . $job->scheduleInterval) - ->set('lastTime')->eq('0000-00-00 00:00:00') - ->where('command')->eq($command)->exec(); - } else if ($job->scheduleType == 'cron') { - $arr = explode(' ', $job->cronExpression); - if (count($arr) >= 6) { - $this->dao->update(TABLE_CRON) - ->set('m')->eq($arr[1]) - ->set('h')->eq($arr[2]) - ->set('dom')->eq($arr[3]) - ->set('mon')->eq($arr[4]) - ->set('dow')->eq($arr[5]) - ->set('lastTime')->eq('0000-00-00 00:00:00') - ->where('command')->eq($command)->exec(); - } + $jobId = $this->dao->lastInsertID(); + if ($job->scheduleDay == 'everyDay') { + $days = '1-7'; + } else if ($job->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 . '/' . $job->scheduleInterval) + ->set('lastTime')->eq('0000-00-00 00:00:00') + ->where('command')->eq($command)->exec(); } return true; @@ -215,12 +198,18 @@ class ciModel extends model public function listBuild($jobID, $orderBy = 'id_desc', $pager = null, $decode = true) { $list = $this->dao-> - select('id, name, status, createdDate')->from(TABLE_CI_BUILD) - ->where('deleted')->eq('0') - ->andWhere('cijob')->eq($jobID) + select('build.id, build.name, build.status, build.createdDate, job.triggerType, repo.name repoName, jenkins.name as jenkinsName') + ->from(TABLE_CI_BUILD)->alias('build') + ->leftJoin(TABLE_CI_JOB)->alias('job')->on('build.cijob=job.id') + ->leftJoin(TABLE_REPO)->alias('repo')->on('job.repo=repo.id') + ->leftJoin(TABLE_JENKINS)->alias('jenkins')->on('job.jenkins=jenkins.id') + + ->where('build.deleted')->eq('0') + ->andWhere('build.cijob')->eq($jobID) ->orderBy($orderBy) ->page($pager) ->fetchAll('id'); + return $list; } diff --git a/module/ci/view/browsebuild.html.php b/module/ci/view/browsebuild.html.php index cfeebdca12..e75411ec1e 100644 --- a/module/ci/view/browsebuild.html.php +++ b/module/ci/view/browsebuild.html.php @@ -35,6 +35,10 @@ job->id); ?> job->name); ?> + ci->repo; ?> + ci->jenkins; ?> + job->triggerType; ?> + job->buildStatus); ?> job->buildTime); ?> @@ -46,6 +50,12 @@ name; ?> + repoName; ?> + jenkinsName; ?> + + job->triggerTypeList[$build->triggerType]; ?> + + job->buildStatusList[$build->status]; ?> diff --git a/module/ci/view/browsejob.html.php b/module/ci/view/browsejob.html.php index 759a80689d..80f9b673c6 100644 --- a/module/ci/view/browsejob.html.php +++ b/module/ci/view/browsejob.html.php @@ -29,7 +29,6 @@ job->jenkins); ?> job->jenkinsJob; ?> - job->buildType; ?> job->triggerType; ?> job->lastExe; ?> @@ -44,8 +43,6 @@ repoName; ?> jenkinsName; ?> jenkinsJob; ?> - - job->buildTypeList[$job->buildType]; ?> job->triggerTypeList[$job->triggerType]; ?> diff --git a/module/ci/view/createjob.html.php b/module/ci/view/createjob.html.php index 6c126aad2e..68b307b67c 100644 --- a/module/ci/view/createjob.html.php +++ b/module/ci/view/createjob.html.php @@ -12,6 +12,7 @@ ?> +
@@ -24,11 +25,16 @@ - + + - + + + + @@ -41,10 +47,7 @@ - - - + @@ -54,12 +57,6 @@ - - - - - - - - - -
job->name; ?>
job->repo; ?>job->svnFolder; ?>svnFolder, "class='form-control'"); ?>
job->jenkins; ?>job->triggerType; ?> job->triggerTypeList, '', "onchange='triggerTypeChanged(this.value)' class='form-control chosen'"); ?>job->scheduleType; ?>job->scheduleTypeList, 'cron', - "onclick='scheduleTypeChanged(this.value)'");?>
job->example; ?>job->example; ?> job->commitEx; ?>
job->cronExpression; ?>job->cronSample; ?>
job->custom; ?> @@ -91,10 +88,6 @@
job->desc; ?>
diff --git a/module/ci/view/editjob.html.php b/module/ci/view/editjob.html.php index ffcf84ecde..1d81a3835b 100644 --- a/module/ci/view/editjob.html.php +++ b/module/ci/view/editjob.html.php @@ -12,6 +12,7 @@ ?> +repoType)?> triggerType)?>
@@ -24,11 +25,16 @@ - + + - + + + + @@ -41,10 +47,7 @@ - - - + @@ -55,11 +58,6 @@ - - - - - - - - - -
job->name; ?>name, "class='form-control'"); ?>name, "class='form-control'"); ?>
job->repo; ?>repo, "class='form-control chosen'"); ?>repoType, + "onchange='repoTypeChanged(this.value)' class='form-control chosen'"); ?>job->svnFolder; ?>svnFolder, "class='form-control'"); ?>
job->jenkins; ?>job->triggerType; ?> job->triggerTypeList, $job->triggerType, "onchange='triggerTypeChanged(this.value)' class='form-control chosen'"); ?>job->scheduleType; ?>job->scheduleTypeList, $job->scheduleType, - "onclick='scheduleTypeChanged(this.value)'");?>
job->example; ?>job->commitEx; ?>
job->cronExpression; ?>cronExpression, "class='form-control'"); ?>job->cronSample; ?>
job->custom; ?> @@ -90,11 +88,6 @@
job->desc; ?>
diff --git a/module/repo/control.php b/module/repo/control.php index e7b7352568..59c7f7049b 100644 --- a/module/repo/control.php +++ b/module/repo/control.php @@ -122,8 +122,9 @@ class repo extends control $this->app->loadLang('action'); - $this->view->repo = $repo; - $this->view->repoID = $repoID; + $repo->repoType = $repo->id . '-' . $repo->SCM; + $this->view->repo = $repo; + $this->view->repoID = $repoID; $this->view->groups = $this->loadModel('group')->getPairs(); $this->view->users = $this->loadModel('user')->getPairs('noletter|noempty|nodeleted'); diff --git a/module/repo/js/create.js b/module/repo/js/create.js index 2e37eed12e..9538c69367 100644 --- a/module/repo/js/create.js +++ b/module/repo/js/create.js @@ -6,7 +6,13 @@ $(function() function scmChanged(scm) { if(scm == 'Git') { $('.account-fields').addClass('hidden'); + + $('.tips-git').removeClass('hidden'); + $('.tips-svn').addClass('hidden'); } else { $('.account-fields').removeClass('hidden'); + + $('.tips-git').addClass('hidden'); + $('.tips-svn').removeClass('hidden'); } } \ No newline at end of file diff --git a/module/repo/js/edit.js b/module/repo/js/edit.js index 2e37eed12e..9538c69367 100644 --- a/module/repo/js/edit.js +++ b/module/repo/js/edit.js @@ -6,7 +6,13 @@ $(function() function scmChanged(scm) { if(scm == 'Git') { $('.account-fields').addClass('hidden'); + + $('.tips-git').removeClass('hidden'); + $('.tips-svn').addClass('hidden'); } else { $('.account-fields').removeClass('hidden'); + + $('.tips-git').addClass('hidden'); + $('.tips-svn').removeClass('hidden'); } } \ No newline at end of file diff --git a/module/repo/lang/en.php b/module/repo/lang/en.php index bff2fce85c..5df7232cca 100644 --- a/module/repo/lang/en.php +++ b/module/repo/lang/en.php @@ -106,8 +106,8 @@ $lang->repo->logStyles['D'] = 'Delete'; $lang->repo->encodingList['utf_8'] = 'UTF-8'; $lang->repo->encodingList['gbk'] = 'GBK'; -$lang->repo->scmList['Subversion'] = 'Subversion'; $lang->repo->scmList['Git'] = 'Git'; +$lang->repo->scmList['Subversion'] = 'Subversion'; $lang->repo->notice = new stdclass(); $lang->repo->notice->syncing = 'Synchronizing. Please wait ...'; @@ -139,11 +139,14 @@ $lang->repo->error->output = "The command is: %s\nThe error is(%s): %s\n" $lang->repo->error->clientVersion = "Client version is too low, please upgrade or change SVN client"; $lang->repo->error->encoding = "The encoding maybe wrong. Please change the encoding and try again."; -$lang->repo->tips = 'You may find the reference about how to set Git sync from here.'; -$lang->repo->encodingsTips = "The encodings of commit comments, can be comma separated values,e.g. utf-8"; -$lang->repo->example = new stdclass(); -$lang->repo->example->client = "For example, /usr/bin/svn, C:\subversion\svn.exe, /usr/bin/git"; -$lang->repo->example->path = "For example, SVN: http://example.googlecode.com/svn/, GIT: /home/test"; +$lang->repo->synTips = 'You may find the reference about how to set Git sync from here.'; +$lang->repo->encodingsTips = "The encodings of commit comments, can be comma separated values,e.g. utf-8"; +$lang->repo->example = new stdclass(); +$lang->repo->example->client->git = "e.g. /usr/bin/git"; +$lang->repo->example->client->svn = "e.g. /usr/bin/svn"; +$lang->repo->example->path->git = "e.g. /homt/user/myproject"; +$lang->repo->example->path->svn = "e.g. http://example.googlecode.com/svn/trunk/myproject"; + $lang->repo->example->config = "Config directory is required in https. Use '--config-dir' to generate config dir."; $lang->repo->example->encoding = "input encoding of files"; diff --git a/module/repo/lang/zh-cn.php b/module/repo/lang/zh-cn.php index c2f87d1964..70dab00882 100644 --- a/module/repo/lang/zh-cn.php +++ b/module/repo/lang/zh-cn.php @@ -107,8 +107,8 @@ $lang->repo->logStyles['D'] = '删除'; $lang->repo->encodingList['utf_8'] = 'UTF-8'; $lang->repo->encodingList['gbk'] = 'GBK'; -$lang->repo->scmList['Subversion'] = 'Subversion'; $lang->repo->scmList['Git'] = 'Git'; +$lang->repo->scmList['Subversion'] = 'Subversion'; $lang->repo->notice = new stdclass(); $lang->repo->notice->syncing = '正在同步中, 请稍等...'; @@ -140,13 +140,15 @@ $lang->repo->error->output = "执行命令:%s\n错误结果(%s): %s\n $lang->repo->error->clientVersion = "客户端版本过低,请升级或更换SVN客户端"; $lang->repo->error->encoding = "编码可能错误,请更换编码重试。"; -$lang->repo->tips = '请参照这里,设置版本库定时同步。'; -$lang->repo->encodingsTips = "提交日志的编码,可以用逗号连接起来的多个,比如utf-8。"; -$lang->repo->example = new stdclass(); -$lang->repo->example->client = "例如:/usr/bin/svn, C:\subversion\svn.exe, /usr/bin/git"; -$lang->repo->example->path = "例如:SVN: http://example.googlecode.com/svn/, GIT: /homt/test"; -$lang->repo->example->config = "https需要填写配置目录的位置,通过config-dir选项生成配置目录"; -$lang->repo->example->encoding = "填写版本库中文件的编码"; +$lang->repo->synTips = '请参照这里,设置版本库定时同步。'; +$lang->repo->encodingsTips = "提交日志的编码,可以用逗号连接起来的多个,比如utf-8。"; +$lang->repo->example = new stdclass(); +$lang->repo->example->client->git = "例如:/usr/bin/git"; +$lang->repo->example->client->svn = "例如:/usr/bin/svn"; +$lang->repo->example->path->git = "例如:/homt/user/myproject"; +$lang->repo->example->path->svn = "例如:http://example.googlecode.com/svn/trunk/myproject"; +$lang->repo->example->config = "https需要填写配置目录的位置,通过config-dir选项生成配置目录"; +$lang->repo->example->encoding = "填写版本库中文件的编码"; $lang->repo->typeList['standard'] = '规范'; $lang->repo->typeList['performance'] = '性能'; diff --git a/module/repo/model.php b/module/repo/model.php index c591ef40b1..b7bd215b0e 100644 --- a/module/repo/model.php +++ b/module/repo/model.php @@ -178,7 +178,7 @@ class repoModel extends model if($data->prefix) $data->prefix = '/' . $data->prefix; } - if($data->encrypt == 'base64') $data->password = base64_encode($data->password); + $data->password = base64_encode($data->password); $this->dao->insert(TABLE_REPO)->data($data) ->batchCheck($this->config->repo->create->requiredFields, 'notempty') ->checkIF($data->SCM == 'Subversion', $this->config->repo->svn->requiredFields, 'notempty') @@ -284,7 +284,7 @@ class repoModel extends model $repo = $this->dao->select('*')->from(TABLE_REPO)->where('id')->eq($repoID)->fetch(); if(!$repo) return false; - if($repo->encrypt == 'base64') $repo->password = base64_decode($repo->password); + $repo->password = base64_decode($repo->password); $repo->acl = json_decode($repo->acl); return $repo; } @@ -929,6 +929,21 @@ class repoModel extends model $repos[''] = ''; return $repos; } + /** + * list repos for jenkins job edit, key will be 12-git + * + * @return mixed + */ + public function listForSelectionWithType($whr) + { + $repos = $this->dao->select("concat(id, '-', SCM), name")->from(TABLE_REPO) + ->where('deleted')->eq('0') + ->beginIF(!empty(whr))->andWhere('(' . $whr . ')')->fi() + ->orderBy(id) + ->fetchPairs(); + $repos[''] = ''; + return $repos; + } /** * list repos for sync diff --git a/module/repo/view/create.html.php b/module/repo/view/create.html.php index d689fab81a..0684c5bbfa 100644 --- a/module/repo/view/create.html.php +++ b/module/repo/view/create.html.php @@ -24,14 +24,10 @@
- - - - - + @@ -41,7 +37,10 @@ - + @@ -51,7 +50,10 @@ - + @@ -60,11 +62,7 @@ diff --git a/module/repo/view/edit.html.php b/module/repo/view/edit.html.php index f7d6b7031b..59912dbb03 100644 --- a/module/repo/view/edit.html.php +++ b/module/repo/view/edit.html.php @@ -26,14 +26,12 @@
repo->tips; ?>
repo->type; ?> repo->scmList, 'Git', "onchange='scmChanged(this.value)' class='form-control'"); ?>repo->synTips; ?>
repo->name; ?>
repo->path; ?> repo->example->path;?> + repo->example->path->git;?> + repo->example->path->svn;?> +
repo->encoding; ?>
repo->client;?> repo->example->client;?> + repo->example->client->git;?> + repo->example->client->svn;?> +
- - - - - + @@ -43,7 +41,10 @@ - + @@ -53,7 +54,10 @@ - + @@ -62,11 +66,7 @@
repo->tips; ?>
repo->type; ?> repo->scmList, $repo->SCM, "onchange='scmChanged(this.value)' class='form-control'"); ?> + repo->synTips; ?> +
repo->name; ?>
repo->path; ?> path, "class='form-control'"); ?>repo->example->path;?> + repo->example->path->git;?> + repo->example->path->svn;?> +
repo->encoding; ?>
repo->client;?> client, "class='form-control'")?>repo->example->client;?> + repo->example->client->git;?> + repo->example->client->svn;?> +