browse.html.php 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. <?php
  2. /**
  3. * The browse file of risk module of ZenTaoPMS.
  4. * @copyright Copyright 2009-2024 禅道软件(青岛)有限公司(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
  7. * @package risk
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. jsVar('pageSummary', $lang->risk->pageSummary);
  12. jsVar('checkedSummary', $lang->risk->checkedSummary);
  13. jsVar('browseType', $browseType);
  14. $linkParams = "projectID={$projectID}&from={$from}&browseType={key}&param={$param}&orderBy={$orderBy}&recTotal={$pager->recTotal}&recPerpage={$pager->recPerPage}";
  15. featureBar
  16. (
  17. set::current($browseType),
  18. set::linkParams($linkParams),
  19. li(searchToggle(set::module('risk'), set::open($browseType == 'bysearch')))
  20. );
  21. $hasRisklib = helper::hasFeature('risklib');
  22. $canChangeObject = $object && common::canModify($from, $object);
  23. $canImportFromLib = ($canChangeObject && common::hasPriv('risk', 'importFromLib') && $hasRisklib);
  24. $canBatchImportToLib = ($canChangeObject && common::hasPriv('risk', 'batchImportToLib') && $hasRisklib);
  25. $canCreate = $canChangeObject && common::hasPriv('risk', 'create');
  26. $canBatchCreate = $canChangeObject && common::hasPriv('risk', 'batchCreate');
  27. $exportItem = array('text' => $lang->bug->export, 'data-toggle' => 'modal', 'data-size' => 'sm', 'url' => createLink('risk', 'export', "objectID={$projectID}&browseType={$browseType}&orderBy={$orderBy}"));
  28. $importItem = array('text' => $lang->risk->importFromLib, 'data-app' => $app->tab, 'url' => createLink('risk', 'importFromLib', "projectID={$projectID}&from={$from}"));
  29. $createLink = createLink('risk', 'create', "projectID={$projectID}&from={$from}");
  30. $batchCreateLink = createLink('risk', 'batchCreate', "projectID={$projectID}&from={$from}");
  31. $createItem = array('text' => $lang->risk->create, 'url' => $createLink);
  32. $batchCreateItem = array('text' => $lang->risk->batchCreate, 'url' => $batchCreateLink);
  33. toolbar
  34. (
  35. hasPriv('risk', 'export') ? dropdown
  36. (
  37. btn
  38. (
  39. setClass('btn ghost dropdown-toggle'),
  40. set::icon('export'),
  41. $lang->export
  42. ),
  43. set::items(array($exportItem)),
  44. set::placement('bottom-end')
  45. ) : null,
  46. $canImportFromLib ? dropdown
  47. (
  48. btn
  49. (
  50. setClass('btn ghost dropdown-toggle'),
  51. set::icon('import'),
  52. $lang->import
  53. ),
  54. set::items(array($importItem)),
  55. set::placement('bottom-end')
  56. ) : null,
  57. $canCreate && $canBatchCreate ? btngroup
  58. (
  59. btn(setClass('btn primary create-risk-btn'), set::icon('plus'), set::url($createLink), $lang->risk->create),
  60. dropdown
  61. (
  62. btn(setClass('btn primary dropdown-toggle'), setStyle(array('padding' => '6px', 'border-radius' => '0 2px 2px 0'))),
  63. set::items(array($createItem, $batchCreateItem)),
  64. set::placement('bottom-end')
  65. )
  66. ) : null,
  67. $canCreate && !$canBatchCreate ? item(set($createItem + array('class' => 'btn primary', 'icon' => 'plus'))) : null,
  68. $canBatchCreate && !$canCreate ? item(set($batchCreateItem + array('class' => 'btn primary', 'icon' => 'plus'))) : null
  69. );
  70. $cols = $this->loadModel('datatable')->getSetting('risk');
  71. $cols['actions']['list']['edit']['url']['params'] = str_replace('{from}', $from, $cols['actions']['list']['edit']['url']['params']);
  72. $cols['name']['link']['url']['params'] = "riskID={id}&from={$from}";
  73. if(!$canChangeObject) unset($cols['actions']['list']);
  74. $risks = initTableData($risks, $cols, $this->risk);
  75. $footToolbar = common::hasPriv('risk', 'batchImportToLib') ? array('items' => array(array('text' => $lang->risk->importToLib, 'btnType' => 'secondary', 'data-toggle' => 'modal', 'data-target' => '#importToLib', 'data-size' => 'sm'))) : null;
  76. dtable
  77. (
  78. set::cols($cols),
  79. set::data($risks),
  80. set::userMap($users),
  81. set::customCols(true),
  82. set::priList($lang->risk->priList),
  83. set::sortLink(createLink('risk', 'browse', "projectID={$projectID}&from={$from}&browseType={$browseType}&param={$param}&orderBy={name}_{sortType}&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}")),
  84. set::checkInfo(jsRaw('function(checks){return window.setStatistics(this, checks);}')),
  85. set::footToolbar($footToolbar),
  86. set::footPager(usePager())
  87. );
  88. modal
  89. (
  90. on::click('button[type="submit"]', 'getCheckedCaseIdList'),
  91. setID('importToLib'),
  92. set::modalProps(array('title' => $lang->risk->importToLib)),
  93. formPanel
  94. (
  95. set::url(createLink('risk', 'batchImportToLib')),
  96. set::actions(array('submit')),
  97. set::submitBtnText($lang->import),
  98. formRow
  99. (
  100. formGroup
  101. (
  102. set::label($lang->risk->lib),
  103. set::name('lib'),
  104. set::items($libs),
  105. set::value(''),
  106. set::required(true)
  107. )
  108. ),
  109. !common::hasPriv('assetlib', 'approveIssue') && !common::hasPriv('assetlib', 'batchApproveIssue') ? formRow
  110. (
  111. formGroup(set::label($lang->risk->approver), set::name('assignedTo'), set::items($approvers))
  112. ) : null,
  113. formRow
  114. (
  115. setClass('hidden'),
  116. formGroup
  117. (
  118. set::name('riskIdList'),
  119. set::value('')
  120. )
  121. )
  122. )
  123. );