browsescene.html.php 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  2. /**
  3. * The browse scene view file of testcase module of ZenTaoPMS.
  4. * @copyright Copyright 2009-2025 禅道软件(青岛)有限公司(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 Gang Liu <liugang@chandao.com>
  7. * @package testcase
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. include 'header.html.php';
  12. $footToolbar = null;
  13. $canBatchChangeModule = common::canModify('product', $product) && hasPriv('testcase', 'batchChangeModule') && !empty($productID) && ((isset($product->type) && $product->type == 'normal') || $branch !== 'all');
  14. if($canBatchChangeModule)
  15. {
  16. $moduleItems = array();
  17. foreach($modules as $changeModuleID => $module) $moduleItems[] = array('text' => $module, 'innerClass' => 'batch-btn ajax-btn not-open-url', 'data-url' => helper::createLink('testcase', 'batchChangeModule', "moduleID={$changeModuleID}"));
  18. $footToolbar = array('items' => array
  19. (
  20. array('caret' => 'up', 'text' => $lang->testcase->moduleAB, 'type' => 'dropdown', 'items' => $moduleItems, 'data-placement' => 'top-start', 'data-menu' => array('searchBox' => true))
  21. ), 'btnProps' => array('size' => 'sm', 'btnType' => 'secondary'));
  22. }
  23. $subSceneCount = count(array_filter(array_map(function($scene){return $scene->grade > 1;}, $scenes)));
  24. $cols = $this->config->scene->dtable->fieldList;
  25. $cols['title']['nestedToggle'] = $subSceneCount > 0;
  26. initTableData($scenes, $cols, $this->testcase);
  27. div
  28. (
  29. dtable
  30. (
  31. set::id('scenes'),
  32. set::plugins(array('sortable')),
  33. set::nested(true),
  34. set::sortable(strpos($orderBy, 'sort_asc') !== false),
  35. set::onSortEnd(strpos($orderBy, 'sort_asc') !== false ? jsRaw('window.onSortEnd') : null),
  36. set::canSortTo(strpos($orderBy, 'sort_asc') !== false ? jsRaw('window.canSortTo') : null),
  37. set::onRenderCell(jsRaw('window.onRenderCell')),
  38. set::sortLink(inlink('browseScene', "productID=$product->id&branch=$branch&moduleID=$moduleID&orderBy={name}_{sortType}")),
  39. set::checkable($canBatchChangeModule),
  40. set::cols($cols),
  41. set::data(array_values($scenes)),
  42. set::userMap($users),
  43. set::orderBy($orderBy),
  44. set::footPager(usePager()),
  45. set::footToolbar($footToolbar),
  46. set::emptyTip($lang->testcase->noScene),
  47. set::createTip($lang->testcase->createScene),
  48. set::createLink($canCreateScene ? $createSceneLink : ''),
  49. set::customData(array('modules' => $modulePairs))
  50. )
  51. );
  52. modal
  53. (
  54. setID('dragModal'),
  55. set::title($lang->testcase->dragModalTitle),
  56. set::size('sm'),
  57. divider(),
  58. div(setClass('my-4'), $lang->testcase->dragModalDesc),
  59. div($lang->testcase->dragModalOrder),
  60. div($lang->testcase->dragModalScene),
  61. div(setClass('my-4'), $lang->testcase->dragModalAction),
  62. divider(),
  63. div
  64. (
  65. setClass('mt-4 pull-right'),
  66. btn(setClass('primary mr-2'), $lang->testcase->dragModalChangeScene, set('data-on', 'click'), set('data-call', 'clickChangeScenen')),
  67. btn(setClass('primary mr-2'), $lang->testcase->dragModalChangeOrder, set('data-on', 'click'), set('data-call', 'clickChangeOrder')),
  68. btn($lang->close, set('data-dismiss', 'modal'))
  69. )
  70. );