diff --git a/framework/helper.class.php b/framework/helper.class.php index 00c5fa2d81..7eba974a0c 100644 --- a/framework/helper.class.php +++ b/framework/helper.class.php @@ -756,4 +756,4 @@ function debug($message = '', $file = 'undefined', $line = 0) global $app; $app->saveError(E_USER_WARNING, $message, $file, $line); -} \ No newline at end of file +} diff --git a/module/build/config.php b/module/build/config.php index 35ee17baf1..4ae3883ff5 100644 --- a/module/build/config.php +++ b/module/build/config.php @@ -29,46 +29,57 @@ $config->build->search['params']['builder'] = array('operator' => '=', 'c $config->build->search['params']['desc'] = array('operator' => 'include', 'control' => 'input', 'values' => ''); $config->build->actionList['linkStory']['icon'] = 'link'; +$config->build->actionList['linkStory']['text'] = $lang->build->linkStory; $config->build->actionList['linkStory']['hint'] = $lang->build->linkStory; -$config->build->actionList['linkStory']['url'] = helper::createLink('build', 'view', 'buildID={id}&type=story&link=true'); +$config->build->actionList['linkStory']['url'] = array('module' => 'build', 'method' => 'view', 'params' => 'buildID={id}&type=story&link=true'); -$config->build->actionList['linkProjectStory'] = $config->build->actionList['linkStory']; -$config->build->actionList['linkProjectStory']['url'] = helper::createLink('projectbuild', 'view', 'buildID={id}&type=story&link=true'); +$config->build->actionList['linkProjectStory'] = $config->build->actionList['linkStory']; +$config->build->actionList['linkProjectStory']['url'] = array('module' => 'projectbuild', 'method' => 'view', 'params' => 'buildID={id}&type=story&link=true'); $config->build->actionList['createTest']['icon'] = 'bullhorn'; +$config->build->actionList['createTest']['text'] = $lang->build->createTest; $config->build->actionList['createTest']['hint'] = $lang->build->createTest; -$config->build->actionList['createTest']['url'] = helper::createLink('testtask', 'create', 'product={product}&execution={execution}&build={id}&projectID={project}'); +$config->build->actionList['createTest']['url'] = array('module' => 'testtask', 'method' => 'create', 'params' => 'product={product}&execution={execution}&build={id}&projectID={project}'); $config->build->actionList['createTest']['data-app'] = $app->tab; $config->build->actionList['viewBug']['icon'] = 'bug'; +$config->build->actionList['viewBug']['text'] = $lang->build->viewBug; $config->build->actionList['viewBug']['hint'] = $lang->build->viewBug; -$config->build->actionList['viewBug']['url'] = helper::createLink('execution', 'bug', 'execution={execution}&productID={product}&branchID=all&orderBy=status&build={id}'); +$config->build->actionList['viewBug']['url'] = array('module' => 'execution', 'method' => 'bug', 'params' => 'execution={execution}&productID={product}&branchID=all&orderBy=status&build={id}'); -$config->build->actionList['bugList'] = $config->build->actionList['viewBug']; +$config->build->actionList['bugList'] = $config->build->actionList['viewBug']; +$config->build->actionList['bugList']['text'] = $lang->build->bugList; $config->build->actionList['bugList']['hint'] = $lang->build->bugList; -$config->build->actionList['bugList']['url'] = helper::createLink('build', 'view', 'buildID={id}&type=generatedBug'); +$config->build->actionList['bugList']['url'] = array('module' => 'build', 'method' => 'view', 'params' => 'buildID={id}&type=generatedBug'); -$config->build->actionList['projectBugList'] = $config->build->actionList['bugList']; -$config->build->actionList['projectBugList']['url'] = helper::createLink('projectbuild', 'view', 'buildID={id}&type=generatedBug'); +$config->build->actionList['projectBugList'] = $config->build->actionList['bugList']; +$config->build->actionList['projectBugList']['url'] = array('module' => 'projectbuild', 'method' => 'view', 'params' => 'buildID={id}&type=generatedBug'); -$config->build->actionList['edit']['icon'] = 'edit'; -$config->build->actionList['edit']['hint'] = $lang->build->edit; -$config->build->actionList['edit']['url'] = array('module' => $app->tab == 'project' ? 'projectbuild' : 'build', 'method' => 'edit', 'params' => 'buildID={id}'); -$config->build->actionList['edit']['data-app'] = $app->tab; +$config->build->actionList['buildEdit']['icon'] = 'edit'; +$config->build->actionList['buildEdit']['text'] = $lang->build->edit; +$config->build->actionList['buildEdit']['hint'] = $lang->build->edit; +$config->build->actionList['buildEdit']['url'] = array('module' => 'build', 'method' => 'edit', 'params' => 'buildID={id}'); +$config->build->actionList['buildEdit']['data-app'] = $app->tab; + +$config->build->actionList['projectbuildEdit'] = $config->build->actionList['buildEdit']; +$config->build->actionList['projectbuildEdit']['url'] = array('module' => 'projectbuild', 'method' => 'edit', 'params' => 'buildID={id}'); $config->build->actionList['delete']['icon'] = 'trash'; +$config->build->actionList['delete']['text'] = $lang->build->delete; $config->build->actionList['delete']['hint'] = $lang->build->delete; -$config->build->actionList['delete']['url'] = helper::createLink($app->tab == 'project' ? 'projectbuild' : 'build', 'delete', 'buildID={id}'); +$config->build->actionList['delete']['url'] = array('module' => ($app->tab == 'project' ? 'projectbuild' : 'build'), 'method' => 'delete', 'params' => 'buildID={id}'); $config->build->actionList['delete']['className'] = 'ajax-submit'; $config->build->actionList['delete']['data-confirm'] = array('message' => $lang->build->confirmDelete, 'icon' => 'icon-exclamation-sign', 'iconClass' => 'warning-pale rounded-full icon-2x'); $config->build->actionList['unlinkBug']['icon'] = 'unlink'; +$config->build->actionList['unlinkBug']['text'] = $lang->build->unlinkBug; $config->build->actionList['unlinkBug']['hint'] = $lang->build->unlinkBug; $config->build->actionList['unlinkBug']['url'] = ''; $config->build->actionList['unlinkBug']['className'] = 'ajax-submit'; $config->build->actionList['unlinkBug']['data-confirm'] = $lang->build->confirmUnlinkBug; $config->build->actionList['unlinkStory']['icon'] = 'unlink'; +$config->build->actionList['unlinkStory']['text'] = $lang->build->unlinkStory; $config->build->actionList['unlinkStory']['hint'] = $lang->build->unlinkStory; $config->build->actionList['unlinkStory']['url'] = ''; $config->build->actionList['unlinkStory']['className'] = 'ajax-submit'; diff --git a/module/build/config/dtable.php b/module/build/config/dtable.php index 1ccdbd5e70..f4e8afc29a 100644 --- a/module/build/config/dtable.php +++ b/module/build/config/dtable.php @@ -44,10 +44,11 @@ $config->build->dtable->fieldList['date']['name'] = 'date'; $config->build->dtable->fieldList['date']['type'] = 'date'; $config->build->dtable->fieldList['date']['sortType'] = true; -$config->build->dtable->fieldList['actions']['title'] = $lang->actions; -$config->build->dtable->fieldList['actions']['name'] = 'actions'; -$config->build->dtable->fieldList['actions']['type'] = 'actions'; -$config->build->dtable->fieldList['actions']['actionsMap'] = $config->build->actionList; +$config->build->dtable->fieldList['actions']['title'] = $lang->actions; +$config->build->dtable->fieldList['actions']['name'] = 'actions'; +$config->build->dtable->fieldList['actions']['type'] = 'actions'; +$config->build->dtable->fieldList['actions']['list'] = $config->build->actionList; +$config->build->dtable->fieldList['actions']['menu'] = array('linkStory', 'createTest', 'viewBug', 'buildEdit', 'delete'); $config->build->story = new stdclass(); $config->build->bug = new stdclass(); diff --git a/module/execution/ui/build.html.php b/module/execution/ui/build.html.php index 715ae67131..1de6fa2943 100644 --- a/module/execution/ui/build.html.php +++ b/module/execution/ui/build.html.php @@ -35,10 +35,7 @@ featureBar /* zin: Define the toolbar on main menu. */ $canCreateBuild = hasPriv('build', 'create') && common::canModify('execution', $execution); if($canCreateBuild) $createItem = array('icon' => 'plus', 'class' => 'primary', 'text' => $lang->build->create, 'url' => $this->createLink('build', 'create', "executionID={$execution->id}")); -toolbar -( - !empty($createItem) ? item(set($createItem)) : null, -); +toolbar(!empty($createItem) ? item(set($createItem)) : null); jsVar('executionID', $execution->id); jsVar('changeProductLink', helper::createLink('execution', 'build', "executionID={$execution->id}&type=product¶m={productID}&orderBy={$orderBy}&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}")); @@ -48,31 +45,20 @@ jsVar('confirmDelete', $lang->build->confirmDelete); $fieldList = $config->build->dtable->fieldList; if($execution->type == 'kanban') unset($fieldList['actions']['actionsMap']['createTest']['data-app']); -foreach($fieldList['actions']['actionsMap'] as $key => $actionConfig) -{ - if(!empty($actionConfig['url']) && is_array($actionConfig['url'])) $fieldList['actions']['actionsMap'][$key]['url'] = createLink($actionConfig['url']['module'], $actionConfig['url']['method'], zget($actionConfig['url'], 'params', '')); -} +$builds = initTableData($builds, $fieldList, $this->build); dtable ( - set::userMap($users), set::cols($fieldList), set::data($builds), set::plugins(array('cellspan')), + set::userMap($users), set::onRenderCell(jsRaw('window.renderCell')), + set::getCellSpan(jsRaw('window.getCellSpan')), set::orderBy($orderBy), set::sortLink(createLink('execution', 'build', "executionID={$execution->id}&type={$type}¶m={$param}&orderBy={name}_{sortType}&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}")), - set::getCellSpan(jsRaw('window.getCellSpan')), - set::footPager( - usePager - ( - array('linkCreator' => helper::createLink('execution', 'build', "executionID={$execution->id}&type={$type}¶m={$param}&orderBy={$orderBy}&recTotal={recTotal}&recPerPage={page}"), 'recTotal' => $pager->recTotal, 'recPerPage' => $pager->recPerPage) - ) - ), + set::footPager(usePager()), set::emptyTip($lang->build->noBuild), set::createTip($lang->build->create), set::createLink($canCreateBuild ? createLink('build', 'create', "executionID={$execution->id}") : '') ); - -/* ====== Render page ====== */ -render();