* use buildOperateMenu method for build and projectrelease module.

This commit is contained in:
wangyidong
2022-05-19 13:34:02 +08:00
parent 8e0d809caa
commit f289e08b9d
6 changed files with 123 additions and 76 deletions
+40 -6
View File
@@ -523,20 +523,54 @@ class buildModel extends model
*
* @param object $build
* @param string $type
* @param string $extra
* @access public
* @return string
*/
public function buildOperateMenu($build, $type = 'view')
public function buildOperateMenu($build, $type = 'view', $extra = '')
{
$canBeChanged = common::canBeChanged('build', $build);
if($build->deleted || !$canBeChanged) return '';
$extraParams = array();
if($extra) parse_str($extra, $extraParams);
$menu = '';
$params = "buildID=$build->id";
$menu .= $this->buildFlowMenu('build', $build, 'view', 'direct');
$menu .= $this->buildMenu('build', 'edit', $params, $build, $type);
$menu .= $this->buildMenu('build', 'delete', $params, $build, $type, 'trash', 'hiddenwin');
global $app;
$tab = $app->tab;
if($type == 'browse')
{
if(common::hasPriv('build', 'linkstory') and common::hasPriv('build', 'view') and common::canBeChanged('build', $build))
{
echo html::a(helper::createLink('build', 'view', "{$params}&type=story&link=true"), "<i class='icon icon-link'></i>", '', "class='btn' title='{$this->lang->build->linkStory}' data-app='{$tab}'");
}
$executionID = $tab == 'execution' ? $extraParams['executionID'] : $build->execution;
$menu .= $this->buildMenu('testtask', 'create', "product=$build->product&execution={$executionID}&build=$build->id", $build, $type, 'bullhorn', '', '', '', "data-app='{$tab}'");
if($tab == 'execution')
{
$this->lang->execution->bug = $this->lang->execution->viewBug;
$menu .= $this->buildMenu('execution', 'bug', "execution={$extraParams['executionID']}&productID={$extraParams['productID']}&orderBy=status&build=$build->id", $build, $type);
}
if($tab == 'project')
{
$this->lang->build->view = $this->lang->project->bug;
$menu .= $this->buildMenu('build', 'view', "buildID=$build->id&type=generatedBug", $build, $type, 'bug', '', '', '', "data-app='project'");
}
$menu .= $this->buildMenu('build', 'edit', $params, $build, $type);
$menu .= $this->buildMenu('build', 'delete', $params, $build, $type, 'trash', 'hiddenwin');
}
else
{
$canBeChanged = common::canBeChanged('build', $build);
if($build->deleted || !$canBeChanged) return '';
$menu .= $this->buildFlowMenu('build', $build, 'view', 'direct');
$editClickable = $this->buildMenu('build', 'edit', $params, $build, $type, '', '', '', '', '', '', false);
$deleteClickable = $this->buildMenu('build', 'delete', $params, $build, $type, '', '', '', '', '', '', false);
if(common::hasPriv('build', 'edit') and $editClickable) echo html::a(helper::createLink('build', 'edit', $params), "<i class='icon-common-edit icon-edit'></i> " . $this->lang->edit, '', "class='btn btn-link' title='{$this->lang->build->edit}' data-app='{$app->tab}'");
if(common::hasPriv('build', 'delete') and $deleteClickable) echo html::a(helper::createLink('build', 'delete', $params), "<i class='icon-common-delete icon-trash'></i> " . $this->lang->delete, '', "class='btn btn-link' title='{$this->lang->build->delete}' target='hiddenwin' data-app='{$app->tab}'");
}
return $menu;
}