edit.html.php 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. <?php
  2. /**
  3. * The edit view file of build 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 Shujie Tian<tianshujie@easycorp.ltd>
  7. * @package build
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. jsVar('projectID', $build->project);
  12. jsVar('executionID', $build->execution);
  13. jsVar('build', $build);
  14. jsVar('builds', $build->builds);
  15. jsVar('buildID', $build->id);
  16. jsVar('multipleSelect', $lang->build->placeholder->multipleSelect);
  17. $productRow = '';
  18. $testtaskID = $testtask ? $testtask->id : 0;
  19. if(!$hidden)
  20. {
  21. $productRow = formRow(
  22. formGroup
  23. (
  24. set::width('1/2'),
  25. set::name('product'),
  26. set::label($lang->build->product),
  27. set::value($build->product),
  28. set::items($products),
  29. set::required(true),
  30. set::disabled($build->stories || $build->bugs || $testtaskID),
  31. on::change('changeProduct')
  32. ),
  33. $build->stories || $build->bugs || $testtaskID ? formGroup
  34. (
  35. set::width('1/2'),
  36. setClass('items-center pl-4'),
  37. $lang->build->notice->changeProduct
  38. ) : ''
  39. );
  40. }
  41. else
  42. {
  43. $productRow = formHidden('product', $build->product);
  44. }
  45. $executionRow = '';
  46. $buildRow = '';
  47. if(!$build->execution)
  48. {
  49. $buildRow = formRow
  50. (
  51. formGroup
  52. (
  53. set::width('1/2'),
  54. set::label($lang->build->builds),
  55. picker
  56. (
  57. set::name('builds[]'),
  58. set::items($builds),
  59. set::value($build->builds),
  60. set::readonly(!empty($testtaskID)),
  61. set::placeholder($lang->build->placeholder->multipleSelect),
  62. set::multiple(true)
  63. )
  64. ),
  65. formGroup
  66. (
  67. set::width('1/2'),
  68. setClass('items-center pl-4'),
  69. $testtaskID ? $lang->build->notice->changeBuilds : $lang->build->notice->autoRelation
  70. )
  71. );
  72. }
  73. else
  74. {
  75. if(!empty($multipleProject))
  76. {
  77. $executionRow = formRow
  78. (
  79. formGroup
  80. (
  81. set::width('1/2'),
  82. set::name('execution'),
  83. set::label($executionType ? $lang->build->executionAB : $lang->build->execution),
  84. set::value($build->execution),
  85. set::items($executions),
  86. set::disabled(!empty($testtaskID)),
  87. set::required(true)
  88. ),
  89. $testtaskID ? formGroup(
  90. set::width('1/2'),
  91. setClass('items-center pl-4'),
  92. $lang->build->notice->changeExecution
  93. ) : ''
  94. );
  95. }
  96. else
  97. {
  98. $executionRow = formHidden('execution', $build->execution);
  99. }
  100. }
  101. if(empty($product)) $product = new stdclass();
  102. $productType = zget($product, 'type', 'normal');
  103. $productBranches = zget($product, 'branches', array());
  104. formPanel
  105. (
  106. set::title($lang->build->edit),
  107. setClass('form-build'),
  108. on::change('[name=system]', 'loadBuilds'),
  109. $productRow,
  110. formRow
  111. (
  112. setClass(isset($product->type) && $product->type != 'normal' && !empty($build->execution) ? '' : 'hidden'),
  113. formGroup
  114. (
  115. set::width('1/2'),
  116. set::label($lang->product->branchName[$productType]),
  117. picker
  118. (
  119. set::emptyValue(''),
  120. set::name('branch[]'),
  121. set::value($build->branch),
  122. set::items($branchTagOption),
  123. set::multiple(true),
  124. on::change('changeBranches')
  125. )
  126. )
  127. ),
  128. formRow
  129. (
  130. formGroup
  131. (
  132. set::width('1/2'),
  133. set::label($lang->build->system),
  134. set::required(true),
  135. inputGroup
  136. (
  137. div
  138. (
  139. setClass('w-full'),
  140. setId('systemBox'),
  141. picker
  142. (
  143. set::name('system'),
  144. set::required(empty($build->isChild)),
  145. set::disabled(!empty($build->isChild)),
  146. set::items($systemList),
  147. set::value($build->system)
  148. )
  149. )
  150. )
  151. )
  152. ),
  153. !$build->execution ? $buildRow : $executionRow,
  154. formRow
  155. (
  156. formGroup(set::width('1/2'), set::name('name'), set::label($lang->build->nameAB), set::value($build->name))
  157. ),
  158. formRow
  159. (
  160. formGroup
  161. (
  162. set::width('1/2'),
  163. set::name('builder'),
  164. set::label($lang->build->builder),
  165. set::value($build->builder),
  166. set::items($users)
  167. )
  168. ),
  169. formRow
  170. (
  171. set::id('buildDateRow'),
  172. formGroup
  173. (
  174. set::width('1/2'),
  175. set::name('date'),
  176. set::id('buildDate'),
  177. set::label($lang->build->date),
  178. set::control('date'),
  179. set::value($build->date)
  180. )
  181. ),
  182. formRow
  183. (
  184. formGroup
  185. (
  186. set::name('scmPath'),
  187. set::label($lang->build->scmPath),
  188. set::placeholder($lang->build->placeholder->scmPath),
  189. set::value($build->scmPath)
  190. )
  191. ),
  192. formRow
  193. (
  194. formGroup
  195. (
  196. set::name('filePath'),
  197. set::label($lang->build->filePath),
  198. set::placeholder($lang->build->placeholder->filePath),
  199. set::value($build->filePath)
  200. )
  201. ),
  202. formRow
  203. (
  204. set::id('buildFiles'),
  205. formGroup
  206. (
  207. set::required(strpos($config->build->edit->requiredFields, 'files') !== false),
  208. set::label($lang->build->files),
  209. fileSelector($build->files ? set::defaultFiles(array_values($build->files)) : null)
  210. )
  211. ),
  212. formRow
  213. (
  214. formGroup
  215. (
  216. set::label($lang->build->desc),
  217. editor
  218. (
  219. set::name('desc'),
  220. html($build->desc)
  221. )
  222. )
  223. )
  224. );
  225. /* ====== Render page ====== */
  226. render();