create.html.php 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. <?php
  2. /**
  3. * The create view file of testtask 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 Tingting Dai <daitingting@easycorp.ltd>
  7. * @package testtask
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. jsVar('projectID', $projectID);
  12. jsVar('multiple', isset($moMultipleExecutionID) ? false : true);
  13. $isEn = $app->getClientLang() == 'en';
  14. $buildExecutionID = $executionID ? $executionID : (isset($noMultipleExecutionID) ? $noMultipleExecutionID : 0);
  15. $hideExecution = false;
  16. if(isset($noMultipleExecutionID)) $hideExecution = true;
  17. if($app->tab == 'execution' && $executionID) $hideExecution = true;
  18. formPanel
  19. (
  20. set::title($lang->testtask->create),
  21. $isEn ? set::labelWidth('8rem') : null,
  22. on::change('[name=product]', isset($executionID) ? 'loadProductRelated' : 'loadTestReports(this.value)'),
  23. on::change('[name=execution]', 'loadExecutionRelated'),
  24. formGroup
  25. (
  26. set::width('1/2'),
  27. set::label($lang->testtask->product),
  28. set::className(!isset($executionID) || !empty($product->shadow) ? 'hidden' : ''),
  29. set::name('product'),
  30. set::value($productID),
  31. set::control('picker'),
  32. set::items($products)
  33. ),
  34. $hideExecution ? formHidden('execution', isset($noMultipleExecutionID) ? $noMultipleExecutionID : $executionID) : formGroup
  35. (
  36. set::width('1/2'),
  37. set::label($lang->testtask->execution),
  38. set::name('execution'),
  39. set::value($executionID),
  40. set::control('picker'),
  41. set::items($executions)
  42. ),
  43. formGroup
  44. (
  45. set::width('1/2'),
  46. set::label($lang->testtask->build),
  47. set::required(true),
  48. inputGroup
  49. (
  50. set::seg(true),
  51. picker
  52. (
  53. setID('build'),
  54. on::change('setExecutionByBuild'),
  55. set::name('build'),
  56. set::items($builds),
  57. set::value($build)
  58. ),
  59. hasPriv('build', 'create') ? span
  60. (
  61. set::className('input-group-addon', !empty($buildExecutionID) && empty($builds) ? '' : 'hidden'),
  62. a
  63. (
  64. setID('buildCreateLink'),
  65. set('href', createLink('build', 'create', "executionID=$buildExecutionID&productID={$productID}&projectID={$projectID}")),
  66. set('data-toggle', 'modal'),
  67. $lang->build->create
  68. )
  69. ) : null,
  70. hasPriv('build', 'create') ? span
  71. (
  72. set::className('input-group-addon', !empty($buildExecutionID) && empty($builds) ? '' : 'hidden'),
  73. a
  74. (
  75. set('href', 'javascript:void(0)'),
  76. set('class', 'refresh'),
  77. on::click("loadExecutionBuilds($buildExecutionID)"),
  78. $lang->refresh
  79. )
  80. ) : null
  81. )
  82. ),
  83. formGroup
  84. (
  85. setID('typeBox'),
  86. set::width('1/2'),
  87. set::label($lang->testtask->type),
  88. picker
  89. (
  90. set::multiple(true),
  91. set::name('type[]'),
  92. set::items($lang->testtask->typeList)
  93. )
  94. ),
  95. formGroup
  96. (
  97. set::width('1/2'),
  98. set::label($lang->testtask->owner),
  99. set::name('owner'),
  100. set::control('picker'),
  101. set::items($users)
  102. ),
  103. formgroup
  104. (
  105. set::width('1/2'),
  106. set::label($lang->testtask->members),
  107. picker
  108. (
  109. setid('members'),
  110. set::name('members[]'),
  111. set::items($users),
  112. set::multiple(true)
  113. )
  114. ),
  115. formGroup
  116. (
  117. set::width('1/2'),
  118. set::label($lang->testtask->begin),
  119. set::required(true),
  120. inputGroup
  121. (
  122. datePicker
  123. (
  124. set::id('beginDate'),
  125. set::name('begin'),
  126. set::required(true),
  127. on::change('suitEndDate')
  128. ),
  129. $lang->testtask->end,
  130. datePicker
  131. (
  132. set::id('endDate'),
  133. set::name('end'),
  134. set::required(true)
  135. )
  136. )
  137. ),
  138. formGroup
  139. (
  140. set::width('1/2'),
  141. set::label($lang->testtask->status),
  142. set::name('status'),
  143. set::required(true),
  144. set::control('picker'),
  145. set::items($lang->testtask->statusList)
  146. ),
  147. formGroup
  148. (
  149. set::width('1/2'),
  150. set::label($lang->testtask->testreport),
  151. set::name('testreport'),
  152. set::control('picker'),
  153. set::items($testreports)
  154. ),
  155. formRow
  156. (
  157. formGroup
  158. (
  159. set::label($lang->testtask->name),
  160. set::required(true),
  161. input
  162. (
  163. set::name('name'),
  164. set::required(true)
  165. )
  166. ),
  167. formGroup
  168. (
  169. set::label($lang->testtask->pri),
  170. set::labelWidth('60px'),
  171. set::width('40'),
  172. priPicker
  173. (
  174. set::name('pri'),
  175. set::items($lang->testtask->priList),
  176. set::value(3)
  177. )
  178. )
  179. ),
  180. formGroup
  181. (
  182. set::label($lang->testtask->desc),
  183. set::control(array('control' => 'editor', 'templateType' => 'testtask')),
  184. set::name('desc'),
  185. set::rows(10)
  186. ),
  187. formGroup
  188. (
  189. set::label($lang->testtask->files),
  190. fileSelector()
  191. ),
  192. formGroup
  193. (
  194. set::label($lang->testtask->mailto),
  195. mailto(set::items($users))
  196. ),
  197. $app->tab == 'project' ? formHidden('project', $projectID) : null
  198. );
  199. render();