addwhitelist.html.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <?php
  2. /**
  3. * The addwhitelist view file of personnel 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 personnel
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. jsVar('objectID', $objectID);
  12. jsVar('objectType', $objectType);
  13. jsVar('module', $module);
  14. jsVar('moduleMethod', 'addWhitelist');
  15. $members = !empty($whitelist) ? array_values($whitelist) : array();
  16. foreach(array_keys($appendUsers) as $account)
  17. {
  18. $member = new stdclass();
  19. $member->account = $account;
  20. $member->realname = \zget($users, $account);
  21. $member->isAppend = '1';
  22. $members[] = $member;
  23. }
  24. $userItems = array();
  25. foreach($members as $member)
  26. {
  27. unset($member->id);
  28. if(!empty($member->isAppend)) continue;
  29. $userItems[] = array('value' => $member->account, 'text' => $member->realname);
  30. unset($users[$member->account]);
  31. }
  32. $usersPickerItems = array();
  33. foreach($users as $account => $realname) $usersPickerItems[] = array('value' => $account, 'text' => $realname);
  34. jsVar('userItems', $userItems);
  35. jsVar('usersPickerItems', $usersPickerItems);
  36. dropmenu(set::objectID($objectID));
  37. formBatchPanel
  38. (
  39. setClass('add-whitelist-panel'),
  40. set::title($lang->personnel->addWhitelist),
  41. set::onRenderRow(jsRaw('renderRowData')),
  42. set::data($members),
  43. set::headingClass('justify-start'),
  44. set::maxRows(count($members) + 5),
  45. on::change('[name^=account]', 'changeUsers'),
  46. on::click('.form-batch-row-actions button', 'changeUsers'),
  47. to::heading
  48. (
  49. div
  50. (
  51. setClass('select-dept-box ml-4'),
  52. span
  53. (
  54. set::className('flex items-center dept-title mr-2'),
  55. $lang->execution->selectDept
  56. ),
  57. picker
  58. (
  59. set::name('dept'),
  60. set::value($deptID),
  61. set::items($depts),
  62. set::required(true),
  63. set('data-placeholder', $lang->execution->selectDeptTitle),
  64. on::change('setObjectUsers')
  65. )
  66. ),
  67. div
  68. (
  69. setClass('select-object-box ml-4'),
  70. span
  71. (
  72. setClass('flex items-center object-title mr-2'),
  73. $lang->personnel->copy
  74. ),
  75. picker
  76. (
  77. set::name('object'),
  78. set::value($copyID),
  79. set::items($objects),
  80. set('data-placeholder', $lang->personnel->selectObjectTips),
  81. on::change('setObjectUsers')
  82. )
  83. )
  84. ),
  85. formBatchItem
  86. (
  87. set::name('account'),
  88. set::label($lang->team->account),
  89. set::control('picker'),
  90. set::items($users),
  91. set::width('200px')
  92. )
  93. );
  94. render();