* code for batchcreate and batchedit with flow.

This commit is contained in:
wangyidong
2020-05-29 13:45:41 +08:00
parent 440f5100ce
commit af6a2f26bc
14 changed files with 187 additions and 10 deletions
+22 -1
View File
@@ -272,6 +272,7 @@ class testcaseModel extends model
}
$this->loadModel('story');
$extendFields = $this->getFlowExtendFields();
$storyVersions = array();
$forceNotReview = $this->forceNotReview();
$data = array();
@@ -304,6 +305,13 @@ class testcaseModel extends model
$storyVersions[$caseStory] = $data[$i]->storyVersion;
}
foreach($extendFields as $extendField)
{
$data[$i]->{$extendField->field} = htmlspecialchars($this->post->{$extendField->field}[$i]);
$message = $this->checkFlowRule($extendField, $data[$i]->{$extendField->field});
if($message) die(js::alert($message));
}
foreach(explode(',', $this->config->testcase->create->requiredFields) as $field)
{
$field = trim($field);
@@ -324,7 +332,10 @@ class testcaseModel extends model
die(js::reload('parent'));
}
$caseID = $this->dao->lastInsertID();
$caseID = $this->dao->lastInsertID();
$this->executeHooks($caseID);
$this->loadModel('score')->create('testcase', 'create', $caseID);
$actionID = $this->loadModel('action')->create('case', $caseID, 'Opened');
}
@@ -840,6 +851,7 @@ class testcaseModel extends model
}
/* Initialize cases from the post data.*/
$extendFields = $this->getFlowExtendFields();
foreach($caseIDList as $caseID)
{
$case = new stdclass();
@@ -857,6 +869,13 @@ class testcaseModel extends model
$case->type = $data->types[$caseID];
$case->stage = empty($data->stages[$caseID]) ? '' : implode(',', $data->stages[$caseID]);
foreach($extendFields as $extendField)
{
$case->{$extendField->field} = htmlspecialchars($this->post->{$extendField->field}[$i]);
$message = $this->checkFlowRule($extendField, $case->{$extendField->field});
if($message) die(js::alert($message));
}
$cases[$caseID] = $case;
unset($case);
}
@@ -873,6 +892,8 @@ class testcaseModel extends model
if(!dao::isError())
{
$this->executeHooks($caseID);
unset($oldCase->steps);
$allChanges[$caseID] = common::createChanges($oldCase, $case);
}
@@ -64,6 +64,10 @@
<th class='w-100px<?php echo zget($visibleFields, 'keywords', ' hidden') . zget($requiredFields, 'keywords', '', ' required')?>'><?php echo $lang->testcase->keywords;?></th>
<th class='w-140px<?php echo zget($visibleFields, 'stage', ' hidden') . zget($requiredFields, 'stage', '', ' required')?>'><?php echo $lang->testcase->stage;?></th>
<th class='w-100px<?php echo zget($visibleFields, 'review', ' hidden') . zget($requiredFields, 'review', '', ' required')?>'><?php echo $lang->testcase->review;?></th>
<?php
$extendFields = $this->testcase->getFlowExtendFields();
foreach($extendFields as $extendField) echo "<th class='w-100px'>{$extendField->name}</th>";
?>
</tr>
</thead>
<tbody>
@@ -99,6 +103,7 @@
<td class='<?php echo zget($visibleFields, 'keywords', 'hidden')?>'> <?php echo html::input("keywords[$i]", '', "class='form-control'");?></td>
<td class='text-left<?php echo zget($visibleFields, 'stage', ' hidden')?>' style='overflow:visible'><?php echo html::select("stage[$i][]", $lang->testcase->stageList, '', "class='form-control chosen' multiple");?></td>
<td class='<?php echo zget($visibleFields, 'review', 'hidden')?>'><?php echo html::select("needReview[$i]", $lang->testcase->reviewList, $needReview, "class='form-control'");?></td>
<?php foreach($extendFields as $extendField) echo "<td" . (($extendField->control == 'select' or $extendField->control == 'multi-select') ? " style='overflow:visible'" : '') . ">" . $this->loadModel('flow')->getFieldControl($extendField, '', $extendField->field . "[$i]") . "</td>";?>
</tr>
<?php endfor;?>
</tbody>
@@ -139,6 +144,7 @@
<td class='<?php echo zget($visibleFields, 'keywords', 'hidden')?>'> <?php echo html::input("keywords[%s]", '', "class='form-control'");?></td>
<td class='text-left<?php echo zget($visibleFields, 'stage', ' hidden')?>' style='overflow:visible'><?php echo html::select("stage[%s][]", $lang->testcase->stageList, '', "class='form-control chosen' multiple");?></td>
<td class='<?php echo zget($visibleFields, 'review', 'hidden')?>'><?php echo html::select("needReview[%s]", $lang->testcase->reviewList, $needReview, "class='form-control chosen'");?></td>
<?php foreach($extendFields as $extendField) echo "<td" . (($extendField->control == 'select' or $extendField->control == 'multi-select') ? " style='overflow:visible'" : '') . ">" . $this->loadModel('flow')->getFieldControl($extendField, '', $extendField->field . "[%s]") . "</td>";?>
</tr>
</tbody>
</table>
+5
View File
@@ -57,6 +57,10 @@
<th class='<?php echo zget($visibleFields, 'precondition', 'hidden') . zget($requiredFields, 'precondition', '', ' required');?>'><?php echo $lang->testcase->precondition;?></th>
<th class='w-100px<?php echo zget($visibleFields, 'keywords', ' hidden') . zget($requiredFields, 'keywords', '', ' required');?>'><?php echo $lang->testcase->keywords;?></th>
<th class='w-250px<?php echo zget($visibleFields, 'stage', ' hidden') . zget($requiredFields, 'stage', '', ' required');?>'><?php echo $lang->testcase->stage;?></th>
<?php
$extendFields = $this->testcase->getFlowExtendFields();
foreach($extendFields as $extendField) echo "<th class='w-100px'>{$extendField->name}</th>";
?>
</tr>
</thead>
<tbody>
@@ -109,6 +113,7 @@
<td class='<?php echo zget($visibleFields, 'precondition', 'hidden')?>'><?php echo html::textarea("precondition[$caseID]", $cases[$caseID]->precondition, "rows='1' class='form-control autosize'")?></td>
<td class='<?php echo zget($visibleFields, 'keywords', 'hidden')?>'> <?php echo html::input("keywords[$caseID]", $cases[$caseID]->keywords, "class='form-control'");?></td>
<td class='text-left<?php echo zget($visibleFields, 'stage', ' hidden')?>' style='overflow:visible'><?php echo html::select("stages[$caseID][]", $lang->testcase->stageList, $cases[$caseID]->stage, "class='form-control chosen' multiple data-placeholder='{$lang->testcase->stage}'");?></td>
<?php foreach($extendFields as $extendField) echo "<td" . (($extendField->control == 'select' or $extendField->control == 'multi-select') ? " style='overflow:visible'" : '') . ">" . $this->loadModel('flow')->getFieldControl($extendField, $cases[$caseID], $extendField->field . "[{$caseID}]") . "</td>";?>
</tr>
<?php endforeach;?>
</tbody>