create.html.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. <?php
  2. /**
  3. * The create view file of feedback 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 Yuting Wang <wangyuting@easycorp.ltd>
  7. * @package feedback
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. jsVar('productID', $productID);
  12. if(!isInModal()) dropmenu(set::text($productID == 'all' ? $lang->product->allProduct : ''), set::tab('product'));
  13. formPanel
  14. (
  15. setID('feedbackCreateForm'),
  16. set::title($lang->feedback->create),
  17. on::change('[name=product]', 'changeProduct'),
  18. !empty($feedback) ? set::data($feedback) : null,
  19. formRow
  20. (
  21. formGroup
  22. (
  23. set::width('1/2'),
  24. set::label($lang->feedback->product),
  25. set::required(true),
  26. picker
  27. (
  28. set::name('product'),
  29. set::items($products),
  30. set::value((!empty($productID) && $productID !== 'all') ? $productID : '')
  31. )
  32. )
  33. ),
  34. formRow
  35. (
  36. setID('moduleBox'),
  37. formGroup
  38. (
  39. set::width('1/2'),
  40. set::label($lang->feedback->module),
  41. modulePicker
  42. (
  43. set::name('module'),
  44. set::items($modules),
  45. set::value(isset($feedback) ? $feedback->module : $moduleID),
  46. set::required(true),
  47. common::hasPriv('tree', 'browse') && ($app->user->admin || strpos(",{$app->user->view->products},", "{$productID}"))? set::manageLink(createLink('tree', 'browse', "rootID=$productID&viewType=feedback")) : null
  48. )
  49. )
  50. ),
  51. formRow
  52. (
  53. formGroup
  54. (
  55. set::width('1/2'),
  56. set::name('type'),
  57. set::label($lang->feedback->type),
  58. set::items($lang->feedback->typeList),
  59. set::value(isset($feedback) ? $feedback->type : '')
  60. )
  61. ),
  62. formRow
  63. (
  64. formGroup
  65. (
  66. set::label($lang->feedback->title),
  67. set::required(true),
  68. inputGroup
  69. (
  70. input(set::name('title'), set::value(isset($feedback) ? $feedback->title : '')),
  71. checkbox
  72. (
  73. set::name('public'),
  74. set::text($lang->feedback->public),
  75. set::value(1),
  76. set::rootClass('btn'),
  77. set::checked(isset($feedback) ? $feedback->public : 1)
  78. ),
  79. $lang->feedback->pri,
  80. pripicker(set::width('120px'), set::name('pri'), set::items($lang->feedback->priList), set::value(isset($feedback) ? $feedback->pri : 3))
  81. )
  82. )
  83. ),
  84. formRow
  85. (
  86. formGroup
  87. (
  88. set::label($lang->feedback->desc),
  89. editor(set::name('desc'), set::value(isset($feedback) ? $feedback->desc : ''), set::templateType('feedback'))
  90. )
  91. ),
  92. formRow
  93. (
  94. formGroup
  95. (
  96. set::width('1/2'),
  97. set::name('feedbackBy'),
  98. set::label($lang->feedback->feedbackBy),
  99. set::value(isset($feedback) ? $feedback->feedbackBy : '')
  100. )
  101. ),
  102. formRow
  103. (
  104. formGroup
  105. (
  106. set::width('1/2'),
  107. set::name('source'),
  108. set::label($lang->feedback->source),
  109. set::value(isset($feedback) ? $feedback->source : '')
  110. )
  111. ),
  112. formRow
  113. (
  114. formGroup
  115. (
  116. set::width('1/2'),
  117. set::name('notifyEmail'),
  118. set::label($lang->feedback->notifyEmail),
  119. set::value(isset($feedback) ? $feedback->notifyEmail : '')
  120. )
  121. ),
  122. formGroup
  123. (
  124. set::width('1/2'),
  125. set::label($lang->feedback->mailto),
  126. mailto
  127. (
  128. set::name('mailto'),
  129. set::items($users),
  130. set::value(isset($feedback) ? $feedback->mailto : ''),
  131. set::multiple(true)
  132. )
  133. ),
  134. formGroup
  135. (
  136. set::width('1/2'),
  137. set::name('keywords'),
  138. set::label($lang->feedback->keywords),
  139. set::value(isset($feedback) ? $feedback->keywords : '')
  140. ),
  141. formRow
  142. (
  143. formGroup
  144. (
  145. set::label($lang->feedback->files),
  146. fileSelector(set::defaultFiles(!empty($feedback->files) ? array_values($feedback->files) : array())),
  147. input(setClass('hidden'), set::name('fileList'), set::value(!empty($feedback->files) ? $feedback->files : array()))
  148. )
  149. ),
  150. formRow
  151. (
  152. formGroup
  153. (
  154. set::width('1/2'),
  155. set::label($lang->feedback->notify),
  156. inputGroup
  157. (
  158. setClass('h-8 items-center'),
  159. checkbox
  160. (
  161. set::name('notify'),
  162. set::text($lang->feedback->mailNotify),
  163. set::value(1),
  164. set::checked(isset($feedback) ? $feedback->notify : 1)
  165. )
  166. )
  167. )
  168. )
  169. );
  170. render();