[story#78644,1.5h] import case to knowledge lib.
This commit is contained in:
@@ -93,7 +93,7 @@ class testcase extends control
|
||||
{
|
||||
$this->testcaseZen->checkProducts(); // 如果不存在产品,则跳转到产品创建页面。
|
||||
|
||||
if($from == 'doc')
|
||||
if($from == 'doc' || $from == 'ai')
|
||||
{
|
||||
$this->app->loadLang('doc');
|
||||
$realProducts = $this->product->getPairs('nodeleted', 0, '', 'all');
|
||||
@@ -102,7 +102,7 @@ class testcase extends control
|
||||
|
||||
/* 把访问的产品ID等状态信息保存到session和cookie中。*/
|
||||
/* Save the product id user last visited to session and cookie. */
|
||||
$productID = ($this->app->tab != 'project' || $from == 'doc') ? $this->product->checkAccess($productID, $this->products) : $productID;
|
||||
$productID = ($this->app->tab != 'project' || $from == 'doc' || $from == 'ai') ? $this->product->checkAccess($productID, $this->products) : $productID;
|
||||
$branch = $this->testcaseZen->getBrowseBranch($branch);
|
||||
$browseType = strtolower($browseType);
|
||||
$moduleID = $browseType == 'bymodule' ? $param : 0;
|
||||
@@ -114,11 +114,11 @@ class testcase extends control
|
||||
$this->testcaseZen->setBrowseSession($productID, $branch, $moduleID, $browseType, $orderBy);
|
||||
list($productID, $branch) = $this->testcaseZen->setBrowseMenu($productID, $branch, $projectID);
|
||||
|
||||
$currentModule = ($this->app->tab == 'project' && $from != 'doc') ? 'project' : 'testcase';
|
||||
$currentMethod = ($this->app->tab == 'project' && $from != 'doc') ? 'testcase' : 'browse';
|
||||
$projectParam = ($this->app->tab == 'project' && $from != 'doc') ? "projectID={$this->session->project}&" : '';
|
||||
$currentModule = ($this->app->tab == 'project' && $from != 'doc' && $from != 'ai') ? 'project' : 'testcase';
|
||||
$currentMethod = ($this->app->tab == 'project' && $from != 'doc' && $from != 'ai') ? 'testcase' : 'browse';
|
||||
$projectParam = ($this->app->tab == 'project' && $from != 'doc' && $from != 'ai') ? "projectID={$this->session->project}&" : '';
|
||||
$suffixParam = "&caseType=$caseType&orderBy=$orderBy&recTotal=$recTotal&recPerPage=$recPerPage&pageID=$pageID";
|
||||
if($from == 'doc') $suffixParam .= "&projectID=$projectID&from=$from&blockID=$blockID";
|
||||
if($from == 'doc' || $from == 'ai') $suffixParam .= "&projectID=$projectID&from=$from&blockID=$blockID";
|
||||
$actionURL = $this->createLink($currentModule, $currentMethod, $projectParam . "productID=$productID&branch=$branch&browseType=bySearch&queryID=myQueryID" . $suffixParam);
|
||||
$this->testcaseZen->buildBrowseSearchForm($productID, $queryID, $projectID, $actionURL);
|
||||
|
||||
|
||||
@@ -11,13 +11,15 @@ declare(strict_types=1);
|
||||
namespace zin;
|
||||
|
||||
$isFromDoc = $from === 'doc';
|
||||
if($isFromDoc) $this->app->loadLang('doc');
|
||||
$isFromAI = $from === 'ai';
|
||||
if($isFromDoc || $isFromAI) $this->app->loadLang('doc');
|
||||
|
||||
include 'header.html.php';
|
||||
|
||||
jsVar('confirmBatchDeleteSceneCase', $lang->testcase->confirmBatchDeleteSceneCase);
|
||||
jsVar('caseChanged', $lang->testcase->changed);
|
||||
jsVar('isFromDoc', $isFromDoc);
|
||||
jsVar('isFromAI', $isFromAI);
|
||||
|
||||
$topSceneCount = count(array_filter(array_map(function($case){return $case->isScene && $case->grade == 1;}, $cases)));
|
||||
|
||||
@@ -102,6 +104,7 @@ if($isFromDoc)
|
||||
$insertListLink = createLink($app->rawModule, $app->rawMethod, "productID=$product->id&branch=$branch&browseType=$browseType¶m=$param&caseType=$caseType&orderBy=$orderBy&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}&projectID=$projectID&from=$from&blockID={blockID}");
|
||||
$footToolbar = array(array('text' => $lang->doc->insertText, 'data-on' => 'click', 'data-call' => "insertListToDoc('#testcases', 'productCase', $blockID, '$insertListLink')"));
|
||||
}
|
||||
if($isFromAI) $footToolbar = array(array('text' => $lang->doc->insertText, 'data-on' => 'click', 'data-call' => "insertListToAI('#testcases', 'case')"));
|
||||
|
||||
$cols = $this->loadModel('datatable')->getSetting('testcase');
|
||||
if(!empty($cols['actions']['list']))
|
||||
@@ -143,7 +146,7 @@ foreach($cases as $case)
|
||||
if(!$canModify) unset($case->actions);
|
||||
}
|
||||
|
||||
if($isFromDoc)
|
||||
if($isFromDoc || $isFromAI)
|
||||
{
|
||||
if(isset($cols['actions'])) unset($cols['actions']);
|
||||
foreach($cols as $key => $col)
|
||||
|
||||
@@ -31,6 +31,7 @@ $canModify = common::canModify('product', $product);
|
||||
if(!empty($project)) $canModify = $canModify && common::canModify('project', $project);
|
||||
|
||||
if(!isset($isFromDoc)) $isFromDoc = false;
|
||||
if(!isset($isFromAI)) $isFromAI = false;
|
||||
if(!isset($suffixParam)) $suffixParam = '';
|
||||
if(!isset($from)) $from = '';
|
||||
|
||||
@@ -41,7 +42,7 @@ $canCreateSuite = $canModify && hasPriv('testsuite', 'create');
|
||||
$canBrowseUnits = hasPriv('testtask', 'browseunits');
|
||||
$canBrowseZeroCase = hasPriv('testcase', 'zerocase') && $rawMethod != 'browseunits';
|
||||
$canBrowseGroupCase = hasPriv('testcase', 'groupcase');
|
||||
$canBrowseScene = hasPriv('testcase', 'browseScene') && ($rawMethod == 'browse' || $rawMethod == 'browsescene') && !$isFromDoc;
|
||||
$canBrowseScene = hasPriv('testcase', 'browseScene') && ($rawMethod == 'browse' || $rawMethod == 'browsescene') && !$isFromDoc && !$isFromAI;
|
||||
$canAutomation = !$isExecutionApp && $canModify && hasPriv('testcase', 'automation') && !empty($productID) && $rawMethod != 'browseunits';
|
||||
$canExport = !$isExecutionApp && hasPriv('testcase', 'export');
|
||||
$canExportTemplate = !$isExecutionApp && hasPriv('testcase', 'exportTemplate');
|
||||
@@ -109,7 +110,7 @@ if($canDisplaySuite)
|
||||
}
|
||||
}
|
||||
|
||||
if($isFromDoc)
|
||||
if($isFromDoc || $isFromAI)
|
||||
{
|
||||
$products = $this->loadModel('product')->getPairs('', 0, '', 'all');
|
||||
$productChangeLink = createLink($app->rawModule, $app->rawMethod, "productID={productID}&branch=$branch&browseType=$browseType¶m=$param&caseType=$caseType&orderBy=$orderBy&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}&projectID=$projectID&from=$from&blockID=$blockID");
|
||||
@@ -159,16 +160,16 @@ if($isFromDoc)
|
||||
$linkParams = $rawMethod == 'groupcase' ? "productID=$productID&branch=$branch&groupBy=$groupBy&objectID=0&caseType=$caseType&browseType={key}" : $projectParam . "productID=$productID&branch=$branch&browseType={key}¶m=0" . $suffixParam;
|
||||
$browseLink = createLink('testcase', 'browse', $linkParams);
|
||||
if($app->tab == 'project') $browseLink = createLink('project', 'testcase', $linkParams);
|
||||
if($app->tab == 'execution' && $from != 'doc') $browseLink = createLink('execution', 'testcase', "executionID={$executionID}&productID=$productID&branch=$branch&browseType={key}");
|
||||
if($app->tab == 'execution' && $from != 'doc' && $from != 'ai') $browseLink = createLink('execution', 'testcase', "executionID={$executionID}&productID=$productID&branch=$branch&browseType={key}");
|
||||
if($rawMethod == 'browseunits') $browseLink = createLink('testtask', 'browseUnits', "productID=$productID&browseType={key}");
|
||||
|
||||
$queryMenuLink = createLink('testcase', 'browse', $projectParam . "productID=$productID&branch=$branch&browseType=bySearch¶m={queryID}" . $suffixParam);
|
||||
$objectID = 0;
|
||||
if($app->tab == 'project') $objectID = $projectID;
|
||||
if($app->tab == 'execution' && $from != 'doc') $objectID = $executionID;
|
||||
if($app->tab == 'execution' && $from != 'doc' && $from != 'ai') $objectID = $executionID;
|
||||
featureBar
|
||||
(
|
||||
set::isModal($isFromDoc),
|
||||
set::isModal($isFromDoc || $isFromAI),
|
||||
set::module('testcase'),
|
||||
set::method('browse'),
|
||||
set::linkParams($rawMethod == 'zerocase' || $rawMethod == 'browseunits' || $rawMethod == 'browsescene' ? null : $linkParams),
|
||||
@@ -201,7 +202,7 @@ featureBar
|
||||
set::items($suiteItems)
|
||||
)
|
||||
) : null,
|
||||
!$isFromDoc && ($canBrowseZeroCase && $rawMethod != 'groupcase') ? li
|
||||
!$isFromDoc && !$isFromAI && ($canBrowseZeroCase && $rawMethod != 'groupcase') ? li
|
||||
(
|
||||
set::className('nav-item'),
|
||||
a
|
||||
@@ -225,7 +226,7 @@ featureBar
|
||||
$lang->testcase->onlyScene
|
||||
)
|
||||
) : null,
|
||||
!$isFromDoc && $rawMethod != 'browseunits' && $rawMethod != 'zerocase' && $rawMethod != 'groupcase' ? li
|
||||
!$isFromDoc && !$isFromAI && $rawMethod != 'browseunits' && $rawMethod != 'zerocase' && $rawMethod != 'groupcase' ? li
|
||||
(
|
||||
set::className('nav-item mr-2'),
|
||||
checkbox
|
||||
@@ -238,19 +239,19 @@ featureBar
|
||||
) : null,
|
||||
!in_array($rawMethod, array('browseunits', 'groupcase', 'zerocase')) ? searchToggle
|
||||
(
|
||||
set::simple($isFromDoc),
|
||||
$isFromDoc ? set::target('#docSearchForm') : null,
|
||||
set::simple($isFromDoc || $isFromAI),
|
||||
($isFromDoc || $isFromAI) ? set::target('#docSearchForm') : null,
|
||||
set::module($this->app->rawMethod == 'testcase' ? 'testcase' : $this->app->rawModule),
|
||||
set::open($browseType == 'bysearch')
|
||||
) : null
|
||||
);
|
||||
|
||||
if($isFromDoc)
|
||||
if($isFromDoc || $isFromAI)
|
||||
{
|
||||
div(setID('docSearchForm'));
|
||||
}
|
||||
|
||||
$viewItemUrl = (($isProjectApp || $isExecutionApp) && $from != 'doc') ? createLink($isProjectApp ? 'project' : 'execution', 'testcase', $isProjectApp ? "projectID={$projectID}" : "executionID=$executionID") : inlink('browse', "productID=$productID&branch=$branch&browseType=all");
|
||||
$viewItemUrl = (($isProjectApp || $isExecutionApp) && $from != 'doc' && $from != 'ai') ? createLink($isProjectApp ? 'project' : 'execution', 'testcase', $isProjectApp ? "projectID={$projectID}" : "executionID=$executionID") : inlink('browse', "productID=$productID&branch=$branch&browseType=all");
|
||||
$viewItems = array(array('text' => $lang->testcase->listView, 'url' => $viewItemUrl, 'active' => $rawMethod != 'groupcase' ? true : false));
|
||||
$exportItems = array();
|
||||
$importItems = array();
|
||||
@@ -329,7 +330,7 @@ $currentCreateItem = current($createItems);
|
||||
|
||||
toolbar
|
||||
(
|
||||
setClass(array('hidden' => $isFromDoc)),
|
||||
setClass(array('hidden' => $isFromDoc || $isFromAI)),
|
||||
$viewItems ? dropdown
|
||||
(
|
||||
btn
|
||||
@@ -395,7 +396,7 @@ toolbar
|
||||
) : null
|
||||
);
|
||||
|
||||
if($rawMethod != 'zerocase' && $rawMethod != 'browseunits' && $rawMethod != 'groupcase' && !$isFromDoc)
|
||||
if($rawMethod != 'zerocase' && $rawMethod != 'browseunits' && $rawMethod != 'groupcase' && !$isFromDoc && !$isFromAI)
|
||||
{
|
||||
$settingLink = $canManageModule ? createLink('tree', 'browse', "productID=$productID&view=case¤tModuleID=0&branch=0&from={$app->tab}") : '';
|
||||
$closeLink = $isOnlyScene ? createLink('testcase', 'browseScene', "productID=$productID&branch=$branch&moduleID=0&orderBy=$orderBy") : createLink($currentModule, $currentMethod, $projectParam . "productID=$productID&branch=$branch&browseType=$browseType¶m=0&caseType=&orderBy=$orderBy&recTotal=0&recPerPage={$pager->recPerPage}");
|
||||
|
||||
Reference in New Issue
Block a user