browseuser.html.php 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <?php
  2. /**
  3. * The browseuser view file of gitlab 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 Zeng Gang<zenggang@easycorp.ltd>
  7. * @package gitlab
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. $canCreate = hasPriv('instance', 'manage');
  12. $menus = $items = array();
  13. $gitlabs = $this->gitlab->getPairs();
  14. foreach($gitlabs as $id => $gitlabName)
  15. {
  16. $menus[] = array('text' => $gitlabName, 'id' => $id, 'keys' => zget(common::convert2Pinyin(array($gitlabName), $gitlabName), ''), 'url' => helper::createLink('gitlab', zget($config->gitlab->menus, 'user', 'user'), "gitlabID={$id}"));
  17. }
  18. foreach($config->gitlab->menus as $key => $method)
  19. {
  20. $langKey = 'browse' . ucwords($key);
  21. $items[] = li
  22. (
  23. setClass('nav-item'),
  24. a
  25. (
  26. setClass('' . ($key == 'user' ? 'active' : '')),
  27. set::href(createLink('gitlab', $method, "gitlabID={$gitlabID}")),
  28. $lang->gitlab->$langKey
  29. )
  30. );
  31. }
  32. foreach($gitlabUserList as $gitlabUser)
  33. {
  34. $gitlabUser->gitlabID = $gitlabID;
  35. $gitlabUser->createOn = substr($gitlabUser->createdAt, 0, 10);
  36. $gitlabUser->lastActivity = substr($gitlabUser->lastActivityOn, 0, 10);
  37. $gitlabUser->isAdmin = $isAdmin;
  38. $gitlabUser->name = $gitlabUser->realname . ' ' . $gitlabUser->account . ' ' . $gitlabUser->email;
  39. $gitlabUser->nameAvatar = $gitlabUser->avatar;
  40. }
  41. $gitlabUserList = initTableData($gitlabUserList, $config->gitlab->dtable->user->fieldList, $this->gitlab);
  42. featureBar
  43. (
  44. dropmenu
  45. (
  46. set::id('userDropmenu'),
  47. set::objectID($gitlabID),
  48. set::text($gitlabs[$gitlabID]),
  49. set::data(array('data' => array('user' => $menus), 'tabs' => array(array('name' => 'user', 'text' => ''))))
  50. ),
  51. $items,
  52. form
  53. (
  54. set::id('searchForm'),
  55. set::actions(array()),
  56. set::ajax(array('beforeSubmit' => jsRaw('() => {searchUser(); return false;}'))),
  57. formRow
  58. (
  59. input
  60. (
  61. set::placeholder($lang->gitlab->placeholderSearch),
  62. set::name('keyword'),
  63. set::value($keyword)
  64. ),
  65. btn
  66. (
  67. setClass('primary'),
  68. $lang->gitlab->search,
  69. on::click('searchUser')
  70. )
  71. )
  72. )
  73. );
  74. toolBar
  75. (
  76. $canCreate ? item(set(array
  77. (
  78. 'text' => $lang->gitlab->user->create,
  79. 'icon' => 'plus',
  80. 'class' => 'btn primary',
  81. 'url' => createLink('gitlab', 'createUser', "gitlabID={$gitlabID}")
  82. ))) : null
  83. );
  84. dtable
  85. (
  86. set::cols($config->gitlab->dtable->user->fieldList),
  87. set::data($gitlabUserList),
  88. set::sortLink(createLink('gitlab', 'browseUser', "gitlabID={$gitlabID}&orderBy={name}_{sortType}")),
  89. set::orderBy($orderBy)
  90. );