diff --git a/db/update8.0.1.sql b/db/update8.0.1.sql
index 3785c2999d..14e99f33f9 100644
--- a/db/update8.0.1.sql
+++ b/db/update8.0.1.sql
@@ -23,3 +23,4 @@ ALTER TABLE `zt_todo` ADD INDEX `todo` (`account`, `date`), DROP INDEX `user`;
ALTER TABLE `zt_user` ADD INDEX `user` (`dept`, `email`, `commiter`), DROP INDEX `dept`;
ALTER TABLE `zt_usercontact` ADD INDEX `user` (`account`);
ALTER TABLE `zt_userquery` ADD INDEX `user` (`account`, `module`), DROP INDEX `account`, DROP INDEX `module`;
+ALTER TABLE `zt_testtask` ADD `mailto` varchar(255) COLLATE 'utf8_general_ci' NOT NULL DEFAULT '' AFTER `end`;
diff --git a/db/zentao.sql b/db/zentao.sql
index 21c642ba49..745c879676 100644
--- a/db/zentao.sql
+++ b/db/zentao.sql
@@ -607,6 +607,7 @@ CREATE TABLE IF NOT EXISTS `zt_testtask` (
`pri` tinyint(3) unsigned NOT NULL default '0',
`begin` date NOT NULL,
`end` date NOT NULL,
+ `mailto` varchar(255) NOT NULL default '',
`desc` text NOT NULL,
`report` text NOT NULL,
`status` enum('blocked','doing','wait','done') NOT NULL DEFAULT 'wait',
diff --git a/framework/helper.class.php b/framework/helper.class.php
index fe499836f3..8f0e2734fc 100644
--- a/framework/helper.class.php
+++ b/framework/helper.class.php
@@ -787,10 +787,9 @@ class helper
public static function setViewType()
{
global $config, $app;
- if($config->requestType == 'PATH_INFO')
+ if($config->requestType != 'GET')
{
- $pathInfo = $app->getPathInfo('PATH_INFO');
- if(empty($pathInfo)) $pathInfo = $app->getPathInfo('ORIG_PATH_INFO');
+ $pathInfo = $app->getPathInfo();
if(!empty($pathInfo))
{
$dotPos = strrpos($pathInfo, '.');
diff --git a/lib/dao/dao.class.php b/lib/dao/dao.class.php
index b676e8096a..f0b73eaf75 100644
--- a/lib/dao/dao.class.php
+++ b/lib/dao/dao.class.php
@@ -967,7 +967,7 @@ class dao
* 如果没数据中没有该字段,直接返回。
* If no this field in the data, return.
**/
- if(!isset($this->sqlobj->data->$fieldName) && $funcName != 'notempty') return $this;
+ if(!isset($this->sqlobj->data->$fieldName)) return $this;
/* 设置字段值。 */
/* Set the field label and value. */
diff --git a/module/backup/control.php b/module/backup/control.php
index ecba3e93d6..26682c89b0 100644
--- a/module/backup/control.php
+++ b/module/backup/control.php
@@ -77,7 +77,7 @@ class backup extends control
*/
public function backup($reload = 'no')
{
- set_time_limit(0);
+ set_time_limit(7200);
$fileName = date('YmdHis') . mt_rand(0, 9);
$result = $this->backup->backSQL($this->backupPath . $fileName . '.sql.php');
if(!$result->result)
@@ -149,7 +149,7 @@ class backup extends control
die(js::confirm($this->lang->backup->confirmRestore, inlink('restore', "fileName=$fileName&confirm=yes"), inlink('index'), 'self', 'parent'));
}
- set_time_limit(0);
+ set_time_limit(7200);
/* Restore database. */
$this->backup->removeFileHeader($this->backupPath . $fileName . '.sql.php');
diff --git a/module/build/control.php b/module/build/control.php
index 6fa5c645dd..074fcf57b6 100644
--- a/module/build/control.php
+++ b/module/build/control.php
@@ -403,6 +403,9 @@ class build extends control
$this->config->bug->search['params']['project']['values'] = $this->loadModel('product')->getProjectPairs($build->product);
$this->config->bug->search['params']['openedBuild']['values'] = $this->build->getProductBuildPairs($build->product, $branch = 0, $params = '');
$this->config->bug->search['params']['resolvedBuild']['values'] = $this->config->bug->search['params']['openedBuild']['values'];
+
+ unset($this->config->bug->search['fields']['product']);
+ unset($this->config->bug->search['params']['product']);
if($product->type == 'normal')
{
unset($this->config->bug->search['fields']['branch']);
diff --git a/module/build/css/view.css b/module/build/css/view.css
index 44c65e609d..5b8cf025f8 100644
--- a/module/build/css/view.css
+++ b/module/build/css/view.css
@@ -5,7 +5,7 @@
.tabs .tab-content {padding: 0; border: none;}
.tabs .tab-content .tab-pane .action {position: absolute; right: 0; top: -1px;}
-.tabs .tab-content .tab-pane #querybox {margin:-10px 0 0px; border-top: none;}
+.tabs .tab-content .tab-pane #querybox{margin:0px; border-left:1px solid #ddd; border-right:1px solid #ddd;}
.tabs .tab-content .tab-pane #querybox form {padding-left:0px;}
.table-actions {padding-left: 8px;}
diff --git a/module/file/view/export2csv.html.php b/module/file/view/export2csv.html.php
index 1bdea5dcc8..b883ce5b43 100644
--- a/module/file/view/export2csv.html.php
+++ b/module/file/view/export2csv.html.php
@@ -17,7 +17,7 @@ foreach($rows as $row)
echo '"';
foreach($fields as $fieldName => $fieldLabel)
{
- isset($row->$fieldName) ? print(htmlspecialchars_decode($row->$fieldName)) : print('');
+ isset($row->$fieldName) ? print(str_replace('",', '",', htmlspecialchars_decode(strip_tags($row->$fieldName, '')))) : print('');
echo '","';
}
echo '"' . "\n";
diff --git a/module/product/view/m.index.html.php b/module/product/view/m.index.html.php
index 85834f3532..4fdee32403 100755
--- a/module/product/view/m.index.html.php
+++ b/module/product/view/m.index.html.php
@@ -14,7 +14,7 @@
name?> |
diff --git a/module/report/control.php b/module/report/control.php index 9f1a5b69ee..504654cdab 100644 --- a/module/report/control.php +++ b/module/report/control.php @@ -158,6 +158,7 @@ class report extends control */ public function remind() { + $bugs = $tasks = $todos = $testTasks = array(); if($this->config->report->dailyreminder->bug) $bugs = $this->report->getUserBugs(); if($this->config->report->dailyreminder->task) $tasks = $this->report->getUserTasks(); if($this->config->report->dailyreminder->todo) $todos = $this->report->getUserTodos(); diff --git a/module/story/config.php b/module/story/config.php index e0f9b9841f..45392b203b 100644 --- a/module/story/config.php +++ b/module/story/config.php @@ -19,7 +19,7 @@ $config->story->review = new stdclass(); $config->story->create->requiredFields = 'title'; $config->story->change->requiredFields = 'title'; $config->story->close->requiredFields = 'closedReason'; -$config->story->review->requiredFields = 'assignedTo,reviewedBy,result'; +$config->story->review->requiredFields = 'assignedTo,reviewedBy'; $config->story->editor = new stdclass(); $config->story->editor->create = array('id' => 'spec,verify', 'tools' => 'simpleTools'); diff --git a/module/story/js/review.js b/module/story/js/review.js index 04776e8422..d44a6b7135 100644 --- a/module/story/js/review.js +++ b/module/story/js/review.js @@ -5,6 +5,7 @@ function switchShow(result) $('#rejectedReasonBox').show(); $('#preVersionBox').hide(); $('#assignedTo').val('closed'); + $('#assignedTo').trigger("chosen:updated"); } else if(result == 'revert') { @@ -13,6 +14,7 @@ function switchShow(result) $('#duplicateStoryBox').hide(); $('#childStoriesBox').hide(); $('#assignedTo').val(assignedTo); + $('#assignedTo').trigger("chosen:updated"); } else { @@ -22,6 +24,7 @@ function switchShow(result) $('#childStoriesBox').hide(); $('#rejectedReasonBox').hide(); $('#assignedTo').val(assignedTo); + $('#assignedTo').trigger("chosen:updated"); } } diff --git a/module/testtask/view/batchrun.html.php b/module/testtask/view/batchrun.html.php index 4b711e58fc..980a583bd3 100644 --- a/module/testtask/view/batchrun.html.php +++ b/module/testtask/view/batchrun.html.php @@ -41,7 +41,7 @@ | lang->testcase->resultList, 'pass', "onclick='showAction(this.value,\".action$caseID\")'")?> |
- |