resolve.html.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. <?php
  2. /**
  3. * The resolve view file of bug 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 bug
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. jsVar('bugID', $bug->id);
  12. jsVar('productID', $bug->product);
  13. jsVar('page', 'resolve');
  14. jsVar('released', $lang->build->released);
  15. jsVar('requiredFields', $config->bug->resolve->requiredFields);
  16. $createBuild = '';
  17. if(common::hasPriv('build', 'create'))
  18. {
  19. $createBuild = formGroup
  20. (
  21. setID('createBuildBox'),
  22. set::width('1/3'),
  23. checkbox
  24. (
  25. setID('createBuild'),
  26. set::name('createBuild'),
  27. set::rootClass('ml-4 items-center'),
  28. set::text($lang->bug->createBuild)
  29. )
  30. );
  31. }
  32. modalHeader();
  33. /* zin: Define the form in main content. */
  34. formPanel
  35. (
  36. formGroup(set::width('1/3'), set::label($lang->bug->resolution), set::required(true), picker(set::name('resolution'), set::items($lang->bug->resolutionList), on::change()->toggleClass('#duplicateBugBox', 'hidden', 'target.value !== "duplicate"'))),
  37. formRow
  38. (
  39. setClass('hidden'),
  40. setID('duplicateBugBox'),
  41. formGroup
  42. (
  43. set::width('1/3'),
  44. set::label($lang->bug->duplicateBug),
  45. picker
  46. (
  47. set::name('duplicateBug'),
  48. set::items(createLink('bug', 'ajaxGetProductBugs', "projectID=&bugID=$bug->id&search={search}")),
  49. set::placeholder($lang->bug->placeholder->duplicate),
  50. set::value(''),
  51. set::popWidth('auto'),
  52. set::popMaxWidth(600),
  53. set::popMinWidth('100%')
  54. ),
  55. set::required(true)
  56. )
  57. ),
  58. formRow
  59. (
  60. formGroup
  61. (
  62. set::width('1/3'),
  63. setID('newBuildExecutionBox'),
  64. setClass('hidden'),
  65. set::label(!empty($execution) && $execution->type == 'kanban' ? $lang->bug->kanban : $lang->build->executionAB),
  66. set::required(true),
  67. picker
  68. (
  69. set::name('buildExecution'),
  70. set::items($executions),
  71. set::value($bug->execution)
  72. )
  73. ),
  74. formGroup
  75. (
  76. set::width('1/3'),
  77. setID('resolvedBuildBox'),
  78. set::label($lang->bug->resolvedBuild),
  79. set::required(strpos(",{$config->bug->resolve->requiredFields},", ',resolvedBuild,') !== false),
  80. picker
  81. (
  82. set::popWidth('auto'),
  83. set::popMaxWidth('300px'),
  84. set::popMinWidth('145px'),
  85. set::name('resolvedBuild'),
  86. set::value(''),
  87. set::items($builds)
  88. )
  89. ),
  90. formGroup
  91. (
  92. set::width('1/3'),
  93. setClass('hidden'),
  94. setID('newBuildBox'),
  95. set::required(true),
  96. inputGroup
  97. (
  98. formGroup
  99. (
  100. set::label($lang->bug->resolvedBuild),
  101. set::required(true),
  102. input
  103. (
  104. set::name('buildName'),
  105. set::value('')
  106. )
  107. )
  108. )
  109. ),
  110. $createBuild
  111. ),
  112. formGroup
  113. (
  114. set::width('1/3'),
  115. set::label($lang->bug->resolvedDate),
  116. set::control('datetimePicker'),
  117. set::name('resolvedDate'),
  118. set::value(helper::now())
  119. ),
  120. formGroup
  121. (
  122. set::width('1/3'),
  123. set::name('assignedTo'),
  124. set::label($lang->bug->assignedTo),
  125. set::value($assignedTo),
  126. set::items($users)
  127. ),
  128. formGroup
  129. (
  130. set::label($lang->bug->files),
  131. fileSelector()
  132. ),
  133. formGroup
  134. (
  135. set::label($lang->comment),
  136. set::name('comment'),
  137. set::control('editor'),
  138. set::rows(6)
  139. )
  140. );
  141. hr();
  142. history();
  143. render();