* @package execution * @link https://www.zentao.net */ namespace zin; /* zin: Define the set::module('bug') feature bar on main menu. */ featureBar ( set::current($type), set::linkParams("executionID={$execution->id}&productID={$productID}&branch={$branchID}&orderBy={$orderBy}&build={$buildID}&type={key}¶m=$param&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}"), li(searchToggle(set::module('bug'))) ); /* zin: Define the toolbar on main menu. */ $canExportBug = hasPriv('bug', 'export'); $canCreateBug = hasPriv('bug', 'create') && common::canModify('execution', $execution); if($canExportBug) $exportItem = array('icon' => 'export', 'class' => 'ghost', 'text' => $lang->bug->export, 'url' => $this->createLink('bug', 'export', "productID={$productID}&orderBy={$orderBy}&browseType=&executionID={$execution->id}"), 'data-toggle' => 'modal'); if($canCreateBug) $createItem = array('icon' => 'plus', 'class' => 'primary', 'text' => $lang->bug->create, 'url' => $this->createLink('bug', 'create', "productID={$defaultProduct}&branch=0&extras=executionID={$execution->id}")); toolbar ( !empty($canExportBug) ? item(set($exportItem)) : null, !empty($createItem) ? item(set($createItem)) : null, ); /* zin: Define the sidebar in main content. */ sidebar ( moduleMenu(set(array( 'modules' => $moduleTree, 'activeKey' => $moduleID, 'closeLink' => $this->createLink('execution', 'testcase', "executionID={$execution->id}") ))) ); $this->bug->buildOperateMenu(null, 'browse'); foreach($bugs as $bug) { $actions = array(); foreach($this->config->bug->dtable->fieldList['actions']['actionsMap'] as $actionCode => $actionMap) { $isClickable = $this->bug->isClickable($bug, $actionCode); $actions[] = $isClickable ? $actionCode : array('name' => $actionCode, 'disabled' => true); } $bug->actions = $actions; } $canBatchAssignTo = common::hasPriv('bug', 'batchAssignTo'); if($canBatchAssignTo) { $assignedToItems = array(); foreach ($users as $account => $name) { $assignedToItems[] = array('text' => $name, 'class' => 'batch-btn', 'data-url' => createLink('bug', 'batchAssignTo', "assignedTo={$account}&objectID={$execution->id}")); } menu( set::id('navAssignedTo'), set::class('dropdown-menu'), set::items($assignedToItems) ); $footToolbar['items'][] = array('caret' => 'up', 'text' => $lang->task->assignedTo, 'btnType' => 'primary', 'url' => '#navAssignedTo','data-toggle' => 'dropdown'); } jsVar('orderBy', $orderBy); jsVar('sortLink', helper::createLink('execution', 'bug', "executionID={$execution->id}&productID={$productID}&branch={$branchID}&orderBy={orderBy}&build=$buildID&type=$type¶m=$param&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}")); jsVar('pageSummary', $summary); jsVar('checkedSummary', $lang->selectedItems); dtable ( set::userMap($users), set::cols(array_values($config->bug->dtable->fieldList)), set::data(array_values($bugs)), set::checkable($canBatchAssignTo), set::sortLink(jsRaw('createSortLink')), set::footToolbar($footToolbar), set::footPager( usePager(), set::recPerPage($pager->recPerPage), set::recTotal($pager->recTotal), set::linkCreator(helper::createLink('execution', 'bug', "executionID={$execution->id}&productID={$productID}&branch={$branchID}&orderBy={$orderBy}&build=$buildID&type=$type¶m=$param&recTotal={recTotal}&recPerPage={page}")), ), set::checkInfo(jsRaw('function(checkedIDList){return window.setStatistics(this, checkedIDList);}')) ); render();