batchcreate.html.php 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293
  1. <?php
  2. /**
  3. * The batchCreate 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. jsVar('roleGroup', $roleGroup);
  12. jsVar('passwordStrengthList', $lang->user->passwordStrengthList);
  13. h::jsCall('$.getLib', 'md5.js', array('root' => $this->app->getWebRoot() . 'js/'));
  14. $companies += array('ditto' => $lang->user->ditto);
  15. $requiredFields = explode(',', $config->user->create->requiredFields);
  16. formBatchPanel
  17. (
  18. set::title($lang->user->batchCreate),
  19. set::customFields(array('list' => $listFields, 'show' => $showFields, 'key' => 'batchCreateFields')),
  20. on::change('input[name^=role]', 'batchChangeRole'),
  21. on::change('[data-name="new"]', 'batchToggleNew'),
  22. on::change('[data-name^=vision]', 'batchChangeVision'),
  23. on::keyup('[data-name="password"]', 'batchTogglePasswordStrength'),
  24. on::keyup('[name="verifyPassword"]', 'changePassword'),
  25. on::click('button[type=submit]', 'encryptPassword'),
  26. set::onRenderRow(jsRaw('renderRowData')),
  27. to::titleSuffix
  28. (
  29. div
  30. (
  31. setClass('text-base font-medium'),
  32. radioList
  33. (
  34. on::change('batchChangeType'),
  35. set::name('type'),
  36. set::value($type),
  37. set::inline(true),
  38. set::items($lang->user->typeList)
  39. )
  40. )
  41. ),
  42. formBatchItem(set::name('id'), set::label($lang->user->abbr->id), set::control('index'), set::width('38px')),
  43. formBatchItem
  44. (
  45. set::label(''),
  46. set::name('type'),
  47. set::value($type),
  48. set::hidden(true)
  49. ),
  50. formBatchItem
  51. (
  52. set::name('dept'),
  53. set::label($lang->user->dept),
  54. set::control('picker'),
  55. set::width('200px'),
  56. set::items($depts),
  57. set::value($deptID ? $deptID : ''),
  58. set::ditto(true),
  59. set::required(in_array('dept', $requiredFields)),
  60. set::hidden($type != 'inside')
  61. ),
  62. formBatchItem
  63. (
  64. set::label($lang->user->company),
  65. set::control('inputGroup'),
  66. set::width('240px'),
  67. set::name('companyItem'),
  68. set::hidden($type == 'inside'),
  69. inputGroup
  70. (
  71. set::id('companyBox'),
  72. picker(set::name('company'), set::items($companies)),
  73. input
  74. (
  75. set::name('newCompany'),
  76. setClass('hidden')
  77. ),
  78. checkbox
  79. (
  80. set::id('new'),
  81. set::name('new'),
  82. set::value(1),
  83. set::text($lang->company->create),
  84. set::rootClass('btn'),
  85. width('96px')
  86. )
  87. )
  88. ),
  89. formBatchItem
  90. (
  91. set::name('account'),
  92. set::label($lang->user->account),
  93. set::control('input'),
  94. set::width('140px'),
  95. set::required(true)
  96. ),
  97. formBatchItem
  98. (
  99. set::name('realname'),
  100. set::label($lang->user->realname),
  101. set::control('input'),
  102. set::width('96px'),
  103. set::required(true)
  104. ),
  105. count($visions) > 1 ? formBatchItem
  106. (
  107. set::name('visions'),
  108. set::label($lang->user->visions),
  109. set::items($visions),
  110. set::control('picker'),
  111. set::multiple(true),
  112. set::width('240px'),
  113. set::value($config->vision),
  114. set::ditto(true),
  115. set::required(true)
  116. ) : '',
  117. formBatchItem
  118. (
  119. set::name('role'),
  120. set::label($lang->user->role),
  121. set::control('picker'),
  122. set::width('160px'),
  123. set::items($lang->user->roleList),
  124. set::required(in_array('role', $requiredFields)),
  125. set::ditto(true)
  126. ),
  127. formBatchItem
  128. (
  129. set::name('group'),
  130. set::label($lang->user->group),
  131. set::control('picker'),
  132. set::multiple(true),
  133. set::items($groupList),
  134. set::width('200px'),
  135. set::required(in_array('group', $requiredFields)),
  136. set::ditto(true)
  137. ),
  138. formBatchItem
  139. (
  140. set::name('email'),
  141. set::label($lang->user->email),
  142. set::control('input'),
  143. set::width('160px'),
  144. set::required(in_array('group', $requiredFields)),
  145. set::hidden(!in_array('email', $showFields))
  146. ),
  147. formBatchItem
  148. (
  149. set::name('gender'),
  150. set::label($lang->user->gender),
  151. set::control('radioListInline'),
  152. set::items($lang->user->genderList),
  153. set::value('m'),
  154. set::width('100px'),
  155. set::hidden(!in_array('gender', $showFields))
  156. ),
  157. formBatchItem
  158. (
  159. set::name('passwordfield'),
  160. set::label($lang->user->password),
  161. set::control
  162. (
  163. array
  164. (
  165. 'type' => 'inputGroup',
  166. 'class' => 'form-control',
  167. 'items' => array(
  168. array('type' => 'input', 'class' => 'form-control', 'name' => 'password', 'placeholder' => zget($lang->user->placeholder->passwordStrength, !empty($config->safe->mode) ? $config->safe->mode : 0, '')),
  169. array('type' => 'span', 'class' => 'input-group-addon passwordStrength hidden')
  170. )
  171. )
  172. ),
  173. set::width('160px'),
  174. set::ditto(true),
  175. set::required(true)
  176. ),
  177. formBatchItem
  178. (
  179. set::name('commiter'),
  180. set::label($lang->user->commiter),
  181. set::control('input'),
  182. set::width('120px'),
  183. set::required(in_array('commiter', $requiredFields)),
  184. set::hidden(!in_array('commiter', $showFields) || $type != 'inside')
  185. ),
  186. formBatchItem
  187. (
  188. set::name('join'),
  189. set::label($lang->user->join),
  190. set::control('date'),
  191. set::width('120px'),
  192. set::hidden($type != 'inside')
  193. ),
  194. formBatchItem
  195. (
  196. set::name('skype'),
  197. set::label($lang->user->skype),
  198. set::control('input'),
  199. set::width('120px'),
  200. set::hidden(!in_array('skype', $showFields))
  201. ),
  202. formBatchItem
  203. (
  204. set::name('qq'),
  205. set::label($lang->user->qq),
  206. set::control('input'),
  207. set::width('120px'),
  208. set::hidden(!in_array('qq', $showFields))
  209. ),
  210. formBatchItem
  211. (
  212. set::name('dingding'),
  213. set::label($lang->user->dingding),
  214. set::control('input'),
  215. set::width('120px'),
  216. set::hidden(!in_array('dingding', $showFields))
  217. ),
  218. formBatchItem
  219. (
  220. set::name('weixin'),
  221. set::label($lang->user->weixin),
  222. set::control('input'),
  223. set::width('120px'),
  224. set::hidden(!in_array('weixin', $showFields))
  225. ),
  226. formBatchItem
  227. (
  228. set::name('mobile'),
  229. set::label($lang->user->mobile),
  230. set::control('input'),
  231. set::width('120px'),
  232. set::hidden(!in_array('mobile', $showFields))
  233. ),
  234. formBatchItem
  235. (
  236. set::name('slack'),
  237. set::label($lang->user->slack),
  238. set::control('input'),
  239. set::width('120px'),
  240. set::hidden(!in_array('slack', $showFields))
  241. ),
  242. formBatchItem
  243. (
  244. set::name('whatsapp'),
  245. set::label($lang->user->whatsapp),
  246. set::control('input'),
  247. set::width('120px'),
  248. set::hidden(!in_array('whatsapp', $showFields))
  249. ),
  250. formBatchItem
  251. (
  252. set::name('phone'),
  253. set::label($lang->user->phone),
  254. set::control('input'),
  255. set::width('120px'),
  256. set::hidden(!in_array('phone', $showFields))
  257. ),
  258. formBatchItem
  259. (
  260. set::name('address'),
  261. set::label($lang->user->address),
  262. set::control('input'),
  263. set::width('160px'),
  264. set::hidden(!in_array('address', $showFields))
  265. ),
  266. formBatchItem
  267. (
  268. set::name('zipcode'),
  269. set::label($lang->user->zipcode),
  270. set::control('input'),
  271. set::width('120px'),
  272. set::hidden(!in_array('zipcode', $showFields))
  273. ),
  274. div
  275. (
  276. setClass('form-horz my-2'),
  277. formGroup
  278. (
  279. setClass('flex verify-box'),
  280. set::width('400px'),
  281. set::label($lang->user->verifyPassword),
  282. set::labelClass('w-10 mr-2'),
  283. set::control('password'),
  284. set::name('verifyPassword'),
  285. set::required(true)
  286. )
  287. )
  288. );
  289. formHidden('verifyRand', $rand);