edit.html.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. <?php
  2. /**
  3. * The edit view file of job module of ZenTaoPMS.
  4. * @copyright Copyright 2009-2023 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
  5. * @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
  6. * @author Zeng Gang<zenggang@easycorp.ltd>
  7. * @package job
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. jsVar('engine', $job->engine);
  12. jsVar('job', $job);
  13. jsVar('repoList', $repoList);
  14. jsVar('triggerList', $lang->job->triggerTypeList);
  15. jsVar('dirs', !empty($dirs) ? $dirs : '');
  16. if($job->engine != 'jenkins') unset($lang->job->frameList['sonarqube']);
  17. if($this->session->repoID)
  18. {
  19. $repoName = $this->dao->select('name')->from(TABLE_REPO)->where('id')->eq($this->session->repoID)->fetch('name');
  20. dropmenu(set::objectID($this->session->repoID), set::text($repoName), set::tab('repo'));
  21. }
  22. $repoPairs = array();
  23. foreach($repoList as $repoID => $codeRepo)
  24. {
  25. if($job->engine == 'jenkins')
  26. {
  27. $repoPairs[$repoID] = "[{$codeRepo->SCM}] {$codeRepo->name}";
  28. continue;
  29. }
  30. if(strtolower($codeRepo->SCM) == $job->engine) $repoPairs[$repoID] = "[{$codeRepo->SCM}] {$codeRepo->name}";
  31. }
  32. formPanel
  33. (
  34. set::title($lang->job->edit),
  35. setClass('job-form'),
  36. set::labelWidth('10em'),
  37. on::click('.dropmenu-list li.tree-item', 'setJenkinsJob'),
  38. set::actionsClass('w-2/3'),
  39. formGroup
  40. (
  41. set::name('name'),
  42. set::label($lang->job->name),
  43. set::value($job->name),
  44. set::required(true),
  45. set::width('1/2')
  46. ),
  47. formRow
  48. (
  49. formGroup
  50. (
  51. set::label($lang->job->engine),
  52. set::name('engine'),
  53. set::control('static'),
  54. set::value(zget($lang->job->engineList, $job->engine, ''))
  55. ),
  56. formGroup
  57. (
  58. setClass('hidden'),
  59. set::name('engine'),
  60. set::value($job->engine)
  61. )
  62. ),
  63. formRow
  64. (
  65. formGroup
  66. (
  67. set::label($lang->job->repo),
  68. set::required(true),
  69. set::width('1/2'),
  70. set::name('repo'),
  71. set::items($repoPairs),
  72. set::value($job->repo),
  73. on::change('changeRepo')
  74. ),
  75. formGroup
  76. (
  77. setClass('reference hidden'),
  78. set::labelWidth('5em'),
  79. set::label($lang->job->branch),
  80. set::required(true),
  81. set::name('reference'),
  82. set::items(!empty($refList) ? $refList : array()),
  83. set::value(isset($job->reference) ? $job->reference : '')
  84. )
  85. ),
  86. formGroup
  87. (
  88. set::id('productBox'),
  89. set::name('product'),
  90. set::width('1/2'),
  91. set::label($lang->job->product),
  92. set::items($products),
  93. set::value($job->product)
  94. ),
  95. formGroup
  96. (
  97. set::name('frame'),
  98. set::label($lang->job->frame),
  99. set::items($lang->job->frameList),
  100. set::value($job->frame),
  101. set::width('1/2'),
  102. on::change('changeFrame')
  103. ),
  104. $job->engine == 'jenkins' ? formRow
  105. (
  106. setClass('hidden'),
  107. set::id('jenkinsServerTR'),
  108. formGroup
  109. (
  110. set::label($lang->job->jkHost),
  111. set::required(true),
  112. set::width('1/2'),
  113. inputGroup
  114. (
  115. picker
  116. (
  117. set::required(true),
  118. set::name('jkServer'),
  119. set::items($jenkinsServerList),
  120. set::value($job->server),
  121. on::change('changeJenkinsServer')
  122. ),
  123. $lang->job->pipeline,
  124. input
  125. (
  126. set::name('jkTask'),
  127. set::type('hidden'),
  128. set::value(zget($job, 'rawPipeline', $job->pipeline))
  129. ),
  130. dropmenu
  131. (
  132. setStyle('width', '150px'),
  133. set::id('pipelineDropmenu'),
  134. set::text(urldecode($job->pipeline ? $job->pipeline : $lang->job->selectPipeline)),
  135. $job->pipeline ? set::url($this->createLink('jenkins', 'ajaxGetJenkinsTasks', "jenkinsID={$job->server}")) : set::data(array('' => ''))
  136. )
  137. )
  138. )
  139. ) : null,
  140. formRow
  141. (
  142. setClass('sonarqube', $job->frame == 'sonarqube' ? '' : 'hidden'),
  143. formGroup
  144. (
  145. set::name('sonarqubeServer'),
  146. set::label($lang->job->sonarqubeServer),
  147. set::width('1/2'),
  148. set::items($sonarqubeServerList),
  149. set::value($job->sonarqubeServer),
  150. set::required(true),
  151. on::change('changeSonarqubeServer')
  152. )
  153. ),
  154. formRow
  155. (
  156. set::id('sonarProject'),
  157. setClass('sonarqube', $job->frame == 'sonarqube' && $job->projectKey ? '' : 'hidden'),
  158. formGroup
  159. (
  160. set::name('projectKey'),
  161. set::width('1/2'),
  162. set::label($lang->job->projectKey),
  163. set::items(!empty($sonarqubeProjectPairs) ? $sonarqubeProjectPairs : array()),
  164. set::value($job->projectKey),
  165. set::required(true)
  166. )
  167. )
  168. );