edit.html.php 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. <?php
  2. /**
  3. * The edit view file of user 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 user
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. $contacts = array();
  12. if(!empty($config->user->contactField))
  13. {
  14. foreach(explode(',', $config->user->contactField) as $i => $field)
  15. {
  16. if($i % 2 == 0) $contactGroup = array();
  17. $contactGroup[] = formGroup
  18. (
  19. set::width('1/2'),
  20. set::label($lang->user->{$field}),
  21. set::name($field),
  22. set::value($user->{$field})
  23. );
  24. if($i % 2 == 1) $contacts[] = formRow($contactGroup);
  25. }
  26. if($i % 2 == 0) $contacts[] = formRow($contactGroup);
  27. }
  28. formPanel
  29. (
  30. to::heading
  31. (
  32. div
  33. (
  34. setClass('flex items-center gap-2'),
  35. $lang->user->edit,
  36. entityLabel
  37. (
  38. set::level(1),
  39. set::text($user->realname)
  40. )
  41. )
  42. ),
  43. set::formClass('border-0'),
  44. on::change('input[name=type]', 'changeType'),
  45. on::change('input[name^=visions]', 'changeVision'),
  46. on::change('#password1, #password2, #password, #verifyPassword', 'changePassword'),
  47. on::click('button[type="submit"]', 'encryptPassword'),
  48. formRow
  49. (
  50. formGroup
  51. (
  52. set::width('1/2'),
  53. set::label($lang->user->realname),
  54. set::name('realname'),
  55. set::value($user->realname)
  56. ),
  57. formGroup
  58. (
  59. set::width('1/2'),
  60. set::label($lang->user->role),
  61. set::control('picker'),
  62. set::name('role'),
  63. set::items($lang->user->roleList),
  64. set::value($user->role)
  65. )
  66. ),
  67. formRow
  68. (
  69. $user->type == 'inside' ? null : setClass('hidden'),
  70. formGroup
  71. (
  72. set::width('1/2'),
  73. set::label($lang->user->dept),
  74. set::control('picker'),
  75. set::name('dept'),
  76. set::items($depts),
  77. set::value($user->dept)
  78. ),
  79. formGroup
  80. (
  81. set::width('1/2'),
  82. set::label($lang->user->join),
  83. set::control('date'),
  84. set::name('join'),
  85. set::value($user->join)
  86. )
  87. ),
  88. formRow
  89. (
  90. formGroup
  91. (
  92. set::width('1/2'),
  93. set::label($lang->user->group),
  94. set::required(strpos($this->config->user->edit->requiredFields, 'group') !== false),
  95. picker
  96. (
  97. set::name('group[]'),
  98. set::items($groups),
  99. set::value($userGroups),
  100. set::multiple(true)
  101. )
  102. ),
  103. formGroup
  104. (
  105. $user->type == 'inside' ? setClass('hidden') : null,
  106. set::width('1/2'),
  107. set::label($lang->user->company),
  108. inputGroup
  109. (
  110. picker
  111. (
  112. set::name('company'),
  113. set::items($companies),
  114. set::value($user->company)
  115. ),
  116. input
  117. (
  118. set::name('newCompany'),
  119. setClass('hidden')
  120. ),
  121. checkbox
  122. (
  123. on::change('toggleNew'),
  124. set::id('new'),
  125. set::name('new'),
  126. set::value(1),
  127. set::text($lang->company->create),
  128. set::rootClass('btn'),
  129. width('96px')
  130. )
  131. )
  132. )
  133. ),
  134. formRow
  135. (
  136. formGroup
  137. (
  138. set::width('1/2'),
  139. set::label($lang->user->type),
  140. radioList
  141. (
  142. set::inline(true),
  143. set::name('type'),
  144. set::items($lang->user->typeList),
  145. set::value($user->type)
  146. )
  147. ),
  148. formGroup
  149. (
  150. set::width('1/2'),
  151. set::label($lang->user->gender),
  152. radioList
  153. (
  154. set::inline(true),
  155. set::name('gender'),
  156. set::items($lang->user->genderList),
  157. set::value($user->gender)
  158. )
  159. )
  160. ),
  161. formRowGroup(set::title($lang->user->accountInfo)),
  162. formRow
  163. (
  164. formGroup
  165. (
  166. set::width('1/2'),
  167. set::label($lang->user->account),
  168. set::name('account'),
  169. set::value($user->account),
  170. set('readonly', true)
  171. ),
  172. formGroup
  173. (
  174. set::width('1/2'),
  175. set::label($lang->user->email),
  176. set::name('email'),
  177. set::value($user->email)
  178. )
  179. ),
  180. formRow
  181. (
  182. formGroup
  183. (
  184. set::width('1/2'),
  185. set::label($lang->user->password),
  186. password(set::checkStrength(true))
  187. ),
  188. formGroup(set::width('1/2'), set::label($lang->user->password2), set::control('password'), set::name('password2'))
  189. ),
  190. formRow
  191. (
  192. formGroup
  193. (
  194. $user->type == 'inside' ? null : setClass('hidden'),
  195. set::width('1/2'),
  196. set::label($lang->user->commiter),
  197. set::name('commiter'),
  198. set::value($user->commiter)
  199. ),
  200. formGroup
  201. (
  202. set::width('1/2'),
  203. set::label($lang->user->visions),
  204. set::required(true),
  205. checkList
  206. (
  207. set::name('visions[]'),
  208. set::items($visions),
  209. set::value($user->visions),
  210. set::inline(true)
  211. )
  212. )
  213. ),
  214. formRowGroup(set::title($lang->user->contactInfo)),
  215. $contacts,
  216. formRow
  217. (
  218. formGroup
  219. (
  220. set::width('1/2'),
  221. set::label($lang->user->address),
  222. set::name('address'),
  223. set::value($user->address)
  224. ),
  225. formGroup
  226. (
  227. set::width('1/2'),
  228. set::label($lang->user->zipcode),
  229. set::name('zipcode'),
  230. set::value($user->zipcode)
  231. )
  232. ),
  233. formRowGroup(set::title($lang->user->verify)),
  234. formRow
  235. (
  236. formGroup
  237. (
  238. set::width('1/2'),
  239. set::label($lang->user->verifyPassword),
  240. set::control('password'),
  241. set::required(true),
  242. set::name('verifyPassword'),
  243. set::placeholder($lang->user->placeholder->verify)
  244. )
  245. ),
  246. formRow
  247. (
  248. setClass('hidden'),
  249. input(set::name('passwordLength'), set::value(0)),
  250. input(set::name('passwordStrength'), set::value(0))
  251. )
  252. );
  253. formHidden('verifyRand', $rand);
  254. render();