+ Add workflow extension actions for caselib detail page.
This commit is contained in:
@@ -34,3 +34,6 @@ $config->caselib->actionList['delete']['className'] = 'ajax-submit';
|
||||
$config->caselib->actionList['delete']['data-confirm'] = array('message' => $lang->caselib->libraryDelete, 'icon' => 'icon-exclamation-sign', 'iconClass' => 'warning-pale rounded-full icon-2x');
|
||||
|
||||
$config->caselib->exportTemplateFields = array('module', 'title', 'precondition', 'stepDesc', 'stepExpect', 'keywords', 'pri', 'type', 'stage');
|
||||
|
||||
$config->caselib->actions = new stdclass();
|
||||
$config->caselib->actions->view['mainActions'] = array('edit', 'delete');
|
||||
|
||||
@@ -317,4 +317,18 @@ class caselibModel extends model
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断操作是否可以点击。
|
||||
* Judge an action is clickable or not.
|
||||
*
|
||||
* @param object $lib
|
||||
* @param string $action
|
||||
* @access public
|
||||
* @return bool
|
||||
*/
|
||||
public function isClickable(object $lib, string $action): bool
|
||||
{
|
||||
return common::hasPriv('caselib', $action);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
|
||||
/**
|
||||
|
||||
title=测试 caselibModel->isClickable();
|
||||
cid=1
|
||||
|
||||
- 测试操作为空时,是否可点击 @1
|
||||
- 测试操作为编辑时,是否可点击 @1
|
||||
- 测试操作为删除时,是否可点击 @1
|
||||
- 测试操作为不存在时,是否可点击 @1
|
||||
|
||||
*/
|
||||
|
||||
su('admin');
|
||||
|
||||
$lib = new stdclass();
|
||||
$actions = array('', 'edit', 'delete', 'test');
|
||||
|
||||
global $tester;
|
||||
$caselibModel = $tester->loadModel('caselib');
|
||||
r($caselibModel->isClickable($lib, $actions[0])) && p() && e('1'); // 测试操作为空时,是否可点击
|
||||
r($caselibModel->isClickable($lib, $actions[1])) && p() && e('1'); // 测试操作为编辑时,是否可点击
|
||||
r($caselibModel->isClickable($lib, $actions[2])) && p() && e('1'); // 测试操作为删除时,是否可点击
|
||||
r($caselibModel->isClickable($lib, $actions[3])) && p() && e('1'); // 测试操作为不存在时,是否可点击
|
||||
@@ -19,13 +19,7 @@ detailHeader
|
||||
to::title(entityLabel(set(array('entityID' => $lib->id, 'level' => 1, 'text' => $lib->name))))
|
||||
);
|
||||
|
||||
$commonActions = array();
|
||||
foreach($config->caselib->actionList as $operate => $settings)
|
||||
{
|
||||
if(!common::hasPriv('caselib', $operate)) continue;
|
||||
|
||||
$commonActions[] = $settings;
|
||||
}
|
||||
$commonActions = $this->loadModel('common')->buildOperateMenu($lib);
|
||||
detailBody
|
||||
(
|
||||
sectionList
|
||||
@@ -44,7 +38,7 @@ detailBody
|
||||
(
|
||||
array(array('icon' => 'back', 'text' => $lang->goback, 'url' => 'javascript:goBack("execution-task", "execution-task")'))
|
||||
) : '',
|
||||
set::suffix($commonActions),
|
||||
set::suffix($commonActions['mainActions']),
|
||||
set::object($lib)
|
||||
)
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user