batchcreate.html.php 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. <?php
  2. /**
  3. * The batchCreate view file of testcase 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 Mengyi Liu <liumengyi@easycorp.ltd>
  7. * @package testcase
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. jsVar('productID', $productID);
  12. $visibleFields = array();
  13. $requiredFields = array();
  14. foreach(explode(',', $showFields) as $field)
  15. {
  16. if(!$needReview && $field == 'review') continue;
  17. if($field) $visibleFields[$field] = '';
  18. }
  19. foreach(explode(',', $config->testcase->create->requiredFields) as $field)
  20. {
  21. if($field)
  22. {
  23. $requiredFields[$field] = '';
  24. if(strpos(",{$config->testcase->list->customBatchCreateFields},", ",{$field},") !== false) $visibleFields[$field] = '';
  25. }
  26. }
  27. $hiddenStory = isAjaxRequest('modal') && $story;
  28. if(!$needReview) unset($customFields['review']);
  29. $items = array();
  30. /* Field of id. */
  31. $items[] = array
  32. (
  33. 'name' => 'id',
  34. 'label' => $lang->idAB,
  35. 'control' => 'index',
  36. 'width' => '32px'
  37. );
  38. /* Field of branch. */
  39. if($product->type != 'normal')
  40. {
  41. $items[] = array
  42. (
  43. 'name' => 'branch',
  44. 'label' => $lang->product->branchName[$product->type],
  45. 'hidden' => zget($visibleFields, $product->type, true, false),
  46. 'control' => 'picker',
  47. 'items' => $branches,
  48. 'value' => $branch,
  49. 'width' => '200px',
  50. 'ditto' => true
  51. );
  52. }
  53. /* Field of module. */
  54. $items[] = array
  55. (
  56. 'name' => 'module',
  57. 'label' => $lang->testcase->module,
  58. 'hidden' => zget($visibleFields, 'module', true, false),
  59. 'control' => array('control' => 'picker', 'required' => true),
  60. 'items' => $moduleOptionMenu,
  61. 'value' => $currentModuleID,
  62. 'width' => '200px',
  63. 'required' => isset($requiredFields['module']),
  64. 'ditto' => true
  65. );
  66. /* Field of scene. */
  67. $items[] = array
  68. (
  69. 'name' => 'scene',
  70. 'label' => $lang->testcase->scene,
  71. 'hidden' => zget($visibleFields, 'scene', true, false),
  72. 'control' => array('control' => 'picker', 'required' => true),
  73. 'items' => $sceneOptionMenu,
  74. 'value' => $currentSceneID,
  75. 'width' => '200px',
  76. 'required' => isset($requiredFields['scene']),
  77. 'ditto' => true
  78. );
  79. unset($lang->testcase->typeList['unit']);
  80. /* Field of type. */
  81. $items[] = array
  82. (
  83. 'name' => 'type',
  84. 'label' => $lang->testcase->type,
  85. 'control' => 'picker',
  86. 'items' => $lang->testcase->typeList,
  87. 'value' => 'feature',
  88. 'width' => '160px',
  89. 'required' => true,
  90. 'ditto' => true
  91. );
  92. /* Field of stage. */
  93. $items[] = array
  94. (
  95. 'name' => 'stage',
  96. 'label' => $lang->testcase->stage,
  97. 'hidden' => zget($visibleFields, 'stage', true, false),
  98. 'control' => 'picker',
  99. 'items' => $lang->testcase->stageList,
  100. 'value' => '',
  101. 'multiple' => true,
  102. 'width' => '160px',
  103. 'required' => isset($requiredFields['stage'])
  104. );
  105. /* Field of story. */
  106. $items[] = array
  107. (
  108. 'name' => 'story',
  109. 'label' => $lang->testcase->story,
  110. 'hidden' => zget($visibleFields, 'story', true, false) || $hiddenStory,
  111. 'control' => 'picker',
  112. 'ditto' => true,
  113. 'items' => $storyPairs,
  114. 'value' => $story ? $story->id : '',
  115. 'width' => '200px',
  116. 'required' => isset($requiredFields['story'])
  117. );
  118. /* Field of title. */
  119. $items[] = array
  120. (
  121. 'name' => 'title',
  122. 'control' => 'colorInput',
  123. 'label' => $lang->testcase->title,
  124. 'width' => '240px',
  125. 'required' => true
  126. );
  127. /* Field of pri. */
  128. $items[] = array
  129. (
  130. 'name' => 'pri',
  131. 'label' => $lang->testcase->pri,
  132. 'hidden' => zget($visibleFields, 'pri', true, false),
  133. 'control' => 'priPicker',
  134. 'items' => $lang->testcase->priList,
  135. 'value' => 3,
  136. 'width' => '100px',
  137. 'required' => isset($requiredFields['pri']),
  138. 'ditto' => true
  139. );
  140. /* Field of review. */
  141. $items[] = array
  142. (
  143. 'name' => 'review',
  144. 'label' => $lang->testcase->review,
  145. 'hidden' => zget($visibleFields, 'review', true, false),
  146. 'control' => 'picker',
  147. 'items' => $lang->testcase->reviewList,
  148. 'value' => $needReview,
  149. 'width' => '160px',
  150. 'required' => true,
  151. 'ditto' => true
  152. );
  153. /* Field of precondition. */
  154. $items[] = array
  155. (
  156. 'name' => 'precondition',
  157. 'control' => 'textarea',
  158. 'label' => $lang->testcase->precondition,
  159. 'hidden' => zget($visibleFields, 'precondition', true, false),
  160. 'width' => '200px',
  161. 'required' => isset($requiredFields['precondition'])
  162. );
  163. /* Field of steps. */
  164. $items[] = array
  165. (
  166. 'name' => 'steps',
  167. 'control' => array('control' => 'textarea', 'class' => 'form-control form-batch-input text-3-row', 'placeholder' => $lang->testcase->stepsPlaceholder),
  168. 'label' => $lang->testcase->steps,
  169. 'width' => '256px',
  170. 'required' => isset($requiredFields['steps'])
  171. );
  172. /* Field of expects. */
  173. $items[] = array
  174. (
  175. 'name' => 'expects',
  176. 'control' => array('control' => 'textarea', 'class' => 'form-control form-batch-input text-3-row'),
  177. 'label' => $lang->testcase->expect,
  178. 'width' => '256px',
  179. 'required' => isset($requiredFields['expects'])
  180. );
  181. /* Field of keywords. */
  182. $items[] = array
  183. (
  184. 'name' => 'keywords',
  185. 'label' => $lang->testcase->keywords,
  186. 'hidden' => zget($visibleFields, 'keywords', true, false),
  187. 'width' => '200px',
  188. 'required' => isset($requiredFields['keywords'])
  189. );
  190. formBatchPanel
  191. (
  192. set::title($lang->testcase->batchCreate),
  193. set::customFields(array('list' => $customFields, 'show' => explode(',', $showFields), 'key' => 'batchCreateFields')),
  194. set::pasteField('title'),
  195. set::items($items),
  196. on::change('[data-name="branch"]', 'onBranchChangedForBatch'),
  197. on::change('[data-name="module"]', 'onModuleChangedForBatch')
  198. );
  199. render();