This commit is contained in:
lanzongjun
2022-05-17 17:13:17 +08:00
parent 9ca1be70c7
commit 10eebbd136
4 changed files with 30 additions and 24 deletions
+4 -1
View File
@@ -65,11 +65,12 @@ class model extends baseModel
* @param string $target
* @param string $misc
* @param bool $onlyBody
* @param bool $returnHtml
* @access public
* @return string
*/
public function buildMenu($moduleName, $methodName, $params, $data, $type = 'view', $icon = '', $target = '', $class = '', $onlyBody = false, $misc = '' , $title = '')
public function buildMenu($moduleName, $methodName, $params, $data, $type = 'view', $icon = '', $target = '', $class = '', $onlyBody = false, $misc = '' , $title = '', $returnHtml = true)
{
if(strpos($moduleName, '.') !== false) list($appName, $moduleName) = explode('.', $moduleName);
@@ -115,6 +116,8 @@ class model extends baseModel
if(method_exists($this, 'isClickable')) $enabled = $this->isClickable($data, $method, $module);
}
if(!$returnHtml) return $enabled;
$html = '';
$type = $type == 'browse' ? 'list' : 'button';
$html = common::buildIconButton($module, $method, $params, $data, $type, $icon, $target, $class, $onlyBody, $misc, $title, '', $enabled);
+12 -11
View File
@@ -597,10 +597,10 @@ class caselibModel extends model
}
/**
* Build case lib menu.
*
* @param object $object
* @param string $type
* Build case lib menu.
*
* @param object $object
* @param string $type
* @access public
* @return string
*/
@@ -611,9 +611,9 @@ class caselibModel extends model
}
/**
* Build case lib view menu.
*
* @param object $lib
* Build case lib view menu.
*
* @param object $lib
* @access public
* @return string
*/
@@ -632,9 +632,9 @@ class caselibModel extends model
}
/**
* Build case lib browse menu.
*
* @param object $case
* Build case lib browse menu.
*
* @param object $case
* @access public
* @return string
*/
@@ -648,7 +648,8 @@ class caselibModel extends model
$menu .= $this->buildMenu('testcase', 'review', $params, $case, 'browse', 'glasses', '', 'iframe');
}
$menu .= $this->buildMenu('testcase', 'edit', $params, $case, 'browse');
if(common::hasPriv('testcase', 'delete'))
$deleteIconEnabled = $this->buildMenu('testcase', 'delete', $params, $case, 'browse', '', '', '', '', '', '', false);
if(common::hasPriv('testcase', 'delete') && $deleteIconEnabled)
{
$deleteURL = helper::createLink('testcase', 'delete', "$params&confirm=yes");
$menu .= html::a("javascript:ajaxDelete(\"$deleteURL\", \"caseList\", confirmDelete)", '<i class="icon icon-trash"></i>', '', "title='{$this->lang->testcase->delete}' class='btn'");
+2 -1
View File
@@ -737,8 +737,9 @@ class releaseModel extends model
$menu .= $this->buildMenu('release', 'changeStatus', "$params&status=$changedStatus", $release, 'browse', $release->status == 'normal' ? 'pause' : 'play', 'hiddenwin', '', '', '',$this->lang->release->changeStatusList[$changedStatus]);
$menu .= $this->buildMenu('release', 'edit', "release=$release->id", $release, 'browse');
$menu .= $this->buildMenu('release', 'notify', "release=$release->id", $release, 'browse', 'bullhorn', '', 'iframe', true);
$deleteIconEnabled = $this->buildMenu('release', 'delete', "release=$release->id", $release, 'browse', '', '', '', '', '', '', false);
if(common::hasPriv('release', 'delete', $release))
if(common::hasPriv('release', 'delete', $release) && $deleteIconEnabled)
{
$deleteURL = helper::createLink('release', 'delete', "releaseID=$release->id&confirm=yes");
$menu .= html::a("javascript:ajaxDelete(\"$deleteURL\", \"releaseList\", confirmDelete)", '<i class="icon-trash"></i>', '', "class='btn' title='{$this->lang->release->delete}'");
+12 -11
View File
@@ -2168,10 +2168,10 @@ class testtaskModel extends model
}
/**
* Build test task menu.
*
* @param object $task
* @param string $type
* Build test task menu.
*
* @param object $task
* @param string $type
* @access public
* @return string
*/
@@ -2182,9 +2182,9 @@ class testtaskModel extends model
}
/**
* Build test task view menu.
*
* @param object $task
* Build test task view menu.
*
* @param object $task
* @access public
* @return string
*/
@@ -2208,14 +2208,14 @@ class testtaskModel extends model
$menu .= $this->buildMenu('testtask', 'edit', $params, $task, 'view');
$menu .= $this->buildMenu('testtask', 'delete', $params, $task, 'view', 'trash', 'hiddenwin');
return $menu;
}
/**
* Build test task browse menu.
*
* @param object $task
*
* @param object $task
* @access public
* @return string
*/
@@ -2231,7 +2231,8 @@ class testtaskModel extends model
$menu .= '</div>';
$menu .= $this->buildMenu('testtask', 'view', $params, $task, 'browse', 'list-alt', '', 'iframe', true, "data-width='90%'");
$menu .= $this->buildMenu('testtask', 'edit', $params, $task, 'browse');
if(common::hasPriv('testtask', 'delete', $task))
$deleteIconEnabled = $this->buildMenu('testtask', 'delete', $params, $task, 'browse', '', '', '', '', '', '', false);
if(common::hasPriv('testtask', 'delete', $task) && $deleteIconEnabled)
{
$deleteURL = helper::createLink('testtask', 'delete', "taskID=$task->id&confirm=yes");
$menu .= html::a("javascript:ajaxDelete(\"$deleteURL\",\"taskList\",confirmDelete)", '<i class="icon-common-delete icon-trash"></i>', '', "title='{$this->lang->testtask->delete}' class='btn'");