* refactor target form config.

This commit is contained in:
liwenrui
2023-07-24 11:22:57 +08:00
parent 66c9e874ba
commit df8e93991d
3 changed files with 42 additions and 12 deletions
+40 -10
View File
@@ -73,16 +73,46 @@ $config->ai->dataSource['doc']['doc'] = array('title', 'addedBy', 'addedDate', '
/* Available target form definations. Please also update `$lang->ai->targetForm` upon changes! */
$config->ai->targetForm = array();
$config->ai->targetForm['product'] = array('tree/managechild', 'doc/create');
$config->ai->targetForm['story'] = array('create', 'batchcreate', 'change', 'totask', 'testcasecreate', 'subdivide');
$config->ai->targetForm['productplan'] = array('edit', 'create');
$config->ai->targetForm['projectrelease'] = array('doc/create');
$config->ai->targetForm['project'] = array('risk/create', 'issue/create', 'doc/create', 'programplan/create');
$config->ai->targetForm['execution'] = array('batchcreatetask', 'createtestreport', 'createqa', 'createrisk', 'createissue');
$config->ai->targetForm['task'] = array('edit', 'batchCreate');
$config->ai->targetForm['testcase'] = array('edit', 'createscript');
$config->ai->targetForm['bug'] = array('edit', 'story/create', 'testcase/create');
$config->ai->targetForm['doc'] = array('create', 'edit');
$config->ai->targetForm['product']['tree/managechild'] = (object)array('m' => 'tree', 'f' => 'browse');
$config->ai->targetForm['product']['doc/create'] = (object)array('m' => 'doc', 'f' => 'create');
$config->ai->targetForm['story']['create'] = (object)array('m' => 'story', 'f' => 'create');
$config->ai->targetForm['story']['batchcreate'] = (object)array('m' => 'story', 'f' => 'batchCreate');
$config->ai->targetForm['story']['change'] = (object)array('m' => 'story', 'f' => 'change');
$config->ai->targetForm['story']['totask'] = (object)array('m' => 'task', 'f' => 'batchCreate');
$config->ai->targetForm['story']['testcasecreate'] = (object)array('m' => 'testcase', 'f' => 'create');
$config->ai->targetForm['story']['subdivide'] = (object)array('m' => 'story', 'f' => 'batchCreate');
$config->ai->targetForm['productplan']['edit'] = (object)array('m' => 'productplan', 'f' => 'edit');
$config->ai->targetForm['productplan']['create'] = (object)array('m' => 'productplan', 'f' => 'create');
$config->ai->targetForm['projectrelease']['doc/create'] = (object)array('m' => 'doc', 'f' => 'create');
$config->ai->targetForm['project']['risk/create'] = (object)array('m' => 'risk', 'f' => 'create');
$config->ai->targetForm['project']['issue/create'] = (object)array('m' => 'issue', 'f' => 'create');
$config->ai->targetForm['project']['doc/create'] = (object)array('m' => 'doc', 'f' => 'create');
$config->ai->targetForm['project']['programplan/create'] = (object)array('m' => 'programplan', 'f' => 'create');
$config->ai->targetForm['execution']['batchcreatetask'] = (object)array('m' => 'execution', 'f' => 'batchCreateTask');
$config->ai->targetForm['execution']['createtestreport'] = (object)array('m' => 'execution', 'f' => 'createTestReport');
$config->ai->targetForm['execution']['createqa'] = (object)array('m' => 'execution', 'f' => 'createQA');
$config->ai->targetForm['execution']['createrisk'] = (object)array('m' => 'execution', 'f' => 'createRisk');
$config->ai->targetForm['execution']['createissue'] = (object)array('m' => 'execution', 'f' => 'createIssue');
$config->ai->targetForm['task']['edit'] = (object)array('m' => 'task', 'f' => 'edit');
$config->ai->targetForm['task']['batchCreate'] = (object)array('m' => 'task', 'f' => 'batchCreate');
$config->ai->targetForm['testcase']['edit'] = (object)array('m' => 'testcase', 'f' => 'edit');
$config->ai->targetForm['testcase']['createscript'] = (object)array('m' => 'testcase', 'f' => 'createScript');
$config->ai->targetForm['bug']['edit'] = (object)array('m' => 'bug', 'f' => 'edit');
$config->ai->targetForm['bug']['story/create'] = (object)array('m' => 'story', 'f' => 'create');
$config->ai->targetForm['bug']['testcase/create'] = (object)array('m' => 'testcase', 'f' => 'create');
$config->ai->targetForm['doc']['create'] = (object)array('m' => 'doc', 'f' => 'create');
$config->ai->targetForm['doc']['edit'] = (object)array('m' => 'doc', 'f' => 'edit');
/* Used to check if form injection is available. */
$config->ai->availableForms = array();
foreach($config->ai->targetForm as $forms)
{
foreach($forms as $form)
{
if(!empty($config->ai->availableForms[$form->m]) && in_array($form->f, $config->ai->availableForms[$form->m])) continue;
$config->ai->availableForms[$form->m][] = $form->f;
}
}
/* Used to format form redirection links. */
$config->ai->targetFormVars = array();
+1 -1
View File
@@ -16,7 +16,7 @@
$this->app->loadConfig('ai');
$module = $this->app->getModuleName();
$method = $this->app->getMethodName();
if(isset($config->ai->targetForm[$module]) && in_array($method, $config->ai->targetForm[$module])):
if(isset($config->ai->availableForms[$module]) && in_array($method, $config->ai->availableForms[$module])):
?>
<?php
if(isset($_SESSION['aiInjectData']) && isset($_SESSION['aiInjectData'][$module]) && isset($_SESSION['aiInjectData'][$module][$method])) $injectData = $_SESSION['aiInjectData'][$module][$method];
+1 -1
View File
@@ -60,7 +60,7 @@
<div><?php echo $lang->ai->targetForm[$name]['common'];?></div>
</div>
<div class='options'>
<?php foreach($forms as $form):?>
<?php foreach(array_keys($forms) as $form):?>
<div class='option'>
<input type='radio' name='targetForm' value='<?php echo "$name.$form";?>' <?php echo "$name.$form" == $prompt->targetForm ? 'checked' : '';?>>
<label><?php echo $lang->ai->targetForm[$name][$form];?></label>