script, defined('ENT_SUBSTITUTE') ? ENT_QUOTES | ENT_SUBSTITUTE : ENT_QUOTES));?>
+ script;?>
diff --git a/module/testcase/control.php b/module/testcase/control.php index c1100eaf7d..324f8dfada 100644 --- a/module/testcase/control.php +++ b/module/testcase/control.php @@ -395,6 +395,7 @@ class testcase extends control $this->loadModel('story'); if(!empty($_POST)) { + if(!empty($_FILES['scriptFile'])) unset($_FILES['scriptFile']); $response['result'] = 'success'; setcookie('lastCaseModule', (int)$this->post->module, $this->config->cookieLife, $this->config->webRoot, '', $this->config->cookieSecure, false); @@ -875,6 +876,8 @@ class testcase extends control if(!empty($_POST)) { + if(!empty($_FILES['scriptFile'])) unset($_FILES['scriptFile']); + $changes = array(); if($comment == false or $comment == 'false') { diff --git a/module/testcase/css/create.css b/module/testcase/css/create.css index 2ad82ff52e..40e076887a 100644 --- a/module/testcase/css/create.css +++ b/module/testcase/css/create.css @@ -14,6 +14,7 @@ #story_chosen .chosen-results > li.no-results {cursor: pointer;} #story_chosen .chosen-results > li.no-results:hover {color: #1a4f85; background-color: #ddd;} #story_chosen .chosen-results > li.no-results > span {font-weight: bold;} +#type_chosen {display: table-cell;} .row .col-sm-10 {width: 89%;} .row .col-sm-2 {padding-left: 0px; width: 11%;} @@ -42,4 +43,4 @@ .pri-selector > .dropdown-menu {padding: 10px;} .stageBox {padding-left: 15px !important;} -#refresh {margin-left: 7px;} \ No newline at end of file +#refresh {margin-left: 7px;} diff --git a/module/testcase/css/edit.css b/module/testcase/css/edit.css index a27479cd4d..0d16991789 100644 --- a/module/testcase/css/edit.css +++ b/module/testcase/css/edit.css @@ -7,3 +7,4 @@ [lang^=en] .detail > table > tbody th, [lang^=fr] .detail > table > tbody th {width: 100px !important;} [lang^=de] .detail > table > tbody th {width: 125px !important;} .linkCaseTitle, .linkBugTitle {white-space: nowrap;} + #type_chosen{display: table-cell;} diff --git a/module/testcase/model.php b/module/testcase/model.php index 76b0c65193..3c5d34e0c3 100644 --- a/module/testcase/model.php +++ b/module/testcase/model.php @@ -50,6 +50,16 @@ class testcaseModel extends model } } + if(!empty($_POST['auto'])) + { + $_POST['auto'] = 'auto'; + if($_POST['script']) $_POST['script'] = htmlentities($_POST['script']); + } + else + { + unset($_POST['script']); + } + $now = helper::now(); $status = $this->getStatus('create'); $case = fixer::input('post') @@ -61,7 +71,7 @@ class testcaseModel extends model ->setIF($this->app->tab == 'project', 'project', $this->session->project) ->setIF($this->app->tab == 'execution', 'execution', $this->session->execution) ->setIF($this->post->story != false, 'storyVersion', $this->loadModel('story')->getVersion((int)$this->post->story)) - ->remove('steps,expects,files,labels,stepType,forceNotReview') + ->remove('steps,expects,files,labels,stepType,forceNotReview,scriptFile,scriptName') ->setDefault('story', 0) ->cleanInt('story,product,branch,module') ->join('stage', ',') @@ -81,6 +91,8 @@ class testcaseModel extends model if(!$this->dao->isError()) { $caseID = $this->dao->lastInsertID(); + $this->config->dangers = ''; + $this->loadModel('file')->saveUpload('testcase', $caseID, 'autoscript', 'script', 'scriptName'); $this->loadModel('file')->saveUpload('testcase', $caseID); $parentStepID = 0; $this->loadModel('score')->create('testcase', 'create', $caseID); @@ -830,6 +842,17 @@ class testcaseModel extends model $version = $stepChanged ? $oldCase->version + 1 : $oldCase->version; + if(!empty($_POST['auto'])) + { + $_POST['auto'] = 'auto'; + if($_POST['script']) $_POST['script'] = htmlentities($_POST['script']); + } + else + { + $_POST['auto'] = 'no'; + $_POST['script'] = ''; + } + $case = fixer::input('post') ->add('id', $caseID) ->add('version', $version) @@ -845,7 +868,7 @@ class testcaseModel extends model ->setForce('status', $status) ->cleanInt('story,product,branch,module') ->stripTags($this->config->testcase->editor->edit['id'], $this->config->allowedTags) - ->remove('comment,steps,expects,files,labels,linkBug,stepType') + ->remove('comment,steps,expects,files,labels,linkBug,stepType,scriptFile,scriptName') ->get(); $requiredFields = $this->config->testcase->edit->requiredFields; diff --git a/module/testcase/view/automation.html.php b/module/testcase/view/automation.html.php index 85eebf00a3..9055ffb25e 100644 --- a/module/testcase/view/automation.html.php +++ b/module/testcase/view/automation.html.php @@ -28,6 +28,7 @@