From cb57f1d658a8831315aab4cf7b7a150fb759e047 Mon Sep 17 00:00:00 2001 From: wyd621 Date: Mon, 30 Dec 2013 01:46:50 +0000 Subject: [PATCH] * fix a bug for import csv. --- module/testcase/control.php | 2 +- module/testcase/model.php | 42 +++++++++++++++++++++---------------- 2 files changed, 25 insertions(+), 19 deletions(-) diff --git a/module/testcase/control.php b/module/testcase/control.php index c3d2f965eb..e9fe524cdd 100644 --- a/module/testcase/control.php +++ b/module/testcase/control.php @@ -835,7 +835,7 @@ class testcase extends control { if($cellValue == 0) { - $cese->$field = 0; + $case->$field = 0; } elseif(preg_match('/^#\d+$/', $cellValue)) { diff --git a/module/testcase/model.php b/module/testcase/model.php index 9fb8ce2574..b2ed4d0202 100644 --- a/module/testcase/model.php +++ b/module/testcase/model.php @@ -336,6 +336,7 @@ class testcaseModel extends model public function joinStep($steps) { $return = ''; + if(empty($steps)) return $return; foreach($steps as $step) $return .= $step->desc . ' EXPECT:' . $step->expect . "\n"; return $return; } @@ -452,23 +453,27 @@ class testcaseModel extends model $caseID = $this->post->id[$key]; $stepChanged = false; $steps = array(); - if(!isset($oldSteps[$caseID])) continue; - $oldStep = $oldSteps[$caseID]; + $oldStep = isset($oldSteps[$caseID]) ? $oldSteps[$caseID] : array(); + $oldCase = $oldCases[$caseID]; /* Remove the empty setps in post. */ - foreach($this->post->desc[$key] as $id => $desc) + $steps = array(); + if(isset($_POST['desc'][$key])) { - $desc = trim($desc); - if(empty($desc))continue; - $step = new stdclass(); - $step->desc = $desc; - $step->expect = trim($this->post->expect[$key][$id]); - $steps[] = $step; - unset($step); + foreach($this->post->desc[$key] as $id => $desc) + { + $desc = trim($desc); + if(empty($desc))continue; + $step = new stdclass(); + $step->desc = $desc; + $step->expect = trim($this->post->expect[$key][$id]); + + $steps[] = $step; + } } /* If step count changed, case changed. */ - if(count($oldStep) != count($steps)) + if((!$oldStep != !$steps) or (count($oldStep) != count($steps))) { $stepChanged = true; } @@ -485,9 +490,9 @@ class testcaseModel extends model } } - $version = $stepChanged ? $oldStep->version + 1 : $oldStep->version; - $caseData->version = $version; - $changes = common::createChanges($oldCases[$caseID], $caseData); + $version = $stepChanged ? $oldCase->version + 1 : $oldCase->version; + $caseData->version = $version; + $changes = common::createChanges($oldCase, $caseData); if(!$changes and !$stepChanged) continue; if($changes or $stepChanged) @@ -501,7 +506,7 @@ class testcaseModel extends model { $step = (array)$step; if(empty($step['desc'])) continue; - $stepData = ''; + $stepData = new stdclass(); $stepData->case = $caseID; $stepData->version = $version; $stepData->desc = htmlspecialchars($step['desc']); @@ -509,9 +514,9 @@ class testcaseModel extends model $this->dao->insert(TABLE_CASESTEP)->data($stepData)->autoCheck()->exec(); } } - $oldCases[$caseID]->steps = $this->joinStep($oldSteps[$caseID]); + $oldCase->steps = $this->joinStep($oldStep); $caseData->steps = $this->joinStep($steps); - $changes = common::createChanges($oldCases[$caseID], $caseData); + $changes = common::createChanges($oldCase, $caseData); $actionID = $this->action->create('case', $caseID, 'Edited'); $this->action->logHistory($actionID, $changes); } @@ -530,7 +535,8 @@ class testcaseModel extends model { $desc = trim($desc); if(empty($desc)) continue; - $stepData->case = $caseID; + $stepData = new stdclass(); + $stepData->case = $caseID; $stepData->version = 1; $stepData->desc = htmlspecialchars($desc); $stepData->expect = htmlspecialchars($this->post->expect[$key][$id]);