diff --git a/db/update18.3.sql b/db/update18.3.sql
index 848a1d47f7..6a378c3bea 100644
--- a/db/update18.3.sql
+++ b/db/update18.3.sql
@@ -609,6 +609,7 @@ ALTER TABLE `zt_kanbanlane`
CHANGE `lastEditedTime` `lastEditedTime` datetime NULL;
ALTER TABLE `zt_kanbanregion`
+CHANGE `space` `space` mediumint unsigned NOT NULL DEFAULT '0';
CHANGE `lastEditedBy` `lastEditedBy` char(30) NOT NULL DEFAULT '',
CHANGE `lastEditedDate` `lastEditedDate` datetime NULL;
@@ -748,6 +749,9 @@ CHANGE `team` `team` varchar(90) NOT NULL DEFAULT '',
CHANGE `whitelist` `whitelist` text NULL,
CHANGE `order` `order` mediumint unsigned NOT NULL DEFAULT '0';
+ALTER TABLE `zt_projectstory`
+CHANGE `branch` `branch` mediumint unsigned NOT NULL DEFAULT '0';
+
ALTER TABLE `zt_relation`
CHANGE `project` `project` mediumint NOT NULL DEFAULT '0',
CHANGE `product` `product` mediumint NOT NULL DEFAULT '0',
@@ -928,6 +932,8 @@ CHANGE `lastEditedBy` `lastEditedBy` char(30) NOT NULL DEFAULT '',
CHANGE `lastEditedDate` `lastEditedDate` datetime NULL;
ALTER TABLE `zt_testtask`
+CHANGE `report` `report` text NULL,
+CHANGE `testreport` `testreport` mediumint unsigned NOT NULL DEFAULT '0',
CHANGE `realFinishedDate` `realFinishedDate` datetime NULL;
ALTER TABLE `zt_ticket`
@@ -1039,9 +1045,16 @@ CHANGE `editedBy` `editedBy` varchar(30) NOT NULL DEFAULT '',
CHANGE `editedDate` `editedDate` datetime NULL;
ALTER TABLE `zt_workflowlabel`
+CHANGE `orderBy` `orderBy` text NULL;
CHANGE `editedBy` `editedBy` char(30) NOT NULL DEFAULT '',
CHANGE `editedDate` `editedDate` datetime NULL;
+ALTER TABLE `zt_workflowlayout`
+CHANGE `position` `position` text NULL,
+CHANGE `summary` `summary` varchar(20) NOT NULL DEFAULT '',
+CHANGE `defaultValue` `defaultValue` text NULL,
+CHANGE `layoutRules` `layoutRules` varchar(255) NOT NULL DEFAULT '';
+
ALTER TABLE `zt_workflowrule`
CHANGE `editedBy` `editedBy` char(30) NOT NULL DEFAULT '',
CHANGE `editedDate` `editedDate` datetime NULL;
diff --git a/db/zentao.sql b/db/zentao.sql
index 8b6fe74c0d..4b13c0b5f1 100755
--- a/db/zentao.sql
+++ b/db/zentao.sql
@@ -964,7 +964,7 @@ CREATE TABLE IF NOT EXISTS `zt_kanban` (
-- DROP TABLE IF EXISTS `zt_kanbanregion`;
CREATE TABLE IF NOT EXISTS `zt_kanbanregion` (
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
- `space` mediumint(8) unsigned NOT NULL,
+ `space` mediumint(8) unsigned NOT NULL DEFAULT '0',
`kanban` mediumint(8) unsigned NOT NULL,
`name` varchar(255) NOT NULL,
`order` mediumint(8) NOT NULL DEFAULT '0',
@@ -1369,7 +1369,7 @@ CREATE UNIQUE INDEX `project` ON `zt_projectspec`(`project`,`version`);
CREATE TABLE IF NOT EXISTS `zt_projectstory` (
`project` mediumint(8) unsigned NOT NULL default '0',
`product` mediumint(8) unsigned NOT NULL,
- `branch` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL DEFAULT '0',
`story` mediumint(8) unsigned NOT NULL default '0',
`version` smallint(6) NOT NULL default '1',
`order` smallint(6) unsigned NOT NULL,
@@ -1872,9 +1872,9 @@ CREATE TABLE IF NOT EXISTS `zt_testtask` (
`realFinishedDate` datetime NULL,
`mailto` text,
`desc` mediumtext NOT NULL,
- `report` text NOT NULL,
+ `report` text NULL,
`status` enum('blocked','doing','wait','done') NOT NULL DEFAULT 'wait',
- `testreport` mediumint(8) unsigned NOT NULL,
+ `testreport` mediumint(8) unsigned NOT NULL DEFAULT '0',
`auto` varchar(10) NOT NULL DEFAULT 'no',
`subStatus` varchar(30) NOT NULL default '',
`createdBy` varchar(30) NOT NULL,
@@ -12289,12 +12289,12 @@ CREATE TABLE IF NOT EXISTS `zt_workflowlayout` (
`field` varchar(50) NOT NULL,
`order` smallint(5) unsigned NOT NULL,
`width` smallint(5) NOT NULL,
- `position` text NOT NULL,
+ `position` text NULL,
`readonly` enum('0','1') NOT NULL DEFAULT '0',
`mobileShow` enum('0','1') NOT NULL DEFAULT '1',
- `summary` varchar(20) NOT NULL,
- `defaultValue` text NOT NULL,
- `layoutRules` varchar(255) NOT NULL,
+ `summary` varchar(20) NOT NULL DEFAULT '',
+ `defaultValue` text NULL,
+ `layoutRules` varchar(255) NOT NULL DEFAULT '',
`vision` varchar(10) NOT NULL DEFAULT 'rnd',
PRIMARY KEY (`id`),
KEY `module` (`module`),
@@ -12311,7 +12311,7 @@ CREATE TABLE IF NOT EXISTS `zt_workflowlabel` (
`code` varchar(30) NOT NULL,
`label` varchar(255) NOT NULL,
`params` text NOT NULL,
- `orderBy` text NOT NULL,
+ `orderBy` text NULL,
`order` tinyint(3) NOT NULL,
`buildin` tinyint(1) unsigned NOT NULL,
`role` varchar(10) NOT NULL DEFAULT 'custom',
diff --git a/lib/base/dao/dao.class.php b/lib/base/dao/dao.class.php
index 6339b93455..0e9c1d6dd5 100644
--- a/lib/base/dao/dao.class.php
+++ b/lib/base/dao/dao.class.php
@@ -1601,6 +1601,7 @@ class baseSQL
{
global $dbh;
$this->dbh = $dbh;
+ $this->data = new stdclass();
$this->magicQuote = (version_compare(phpversion(), '5.4', '<') and function_exists('get_magic_quotes_gpc') and get_magic_quotes_gpc());
}
@@ -1790,8 +1791,8 @@ class baseSQL
if($this->method == 'insert')
{
- $this->setField = $value;
- $this->data->$value = '';
+ $this->setField = $set;
+ $this->data->$set = '';
}
else
{
@@ -2093,7 +2094,7 @@ class baseSQL
public function in($ids)
{
if($this->inCondition and !$this->conditionIsTrue) return $this;
- $this->sql .= helper::dbIN($ids);
+ $this->sql .= $ids === NULL ? ' IS NULL' : helper::dbIN($ids);
return $this;
}
diff --git a/module/api/view/content.html.php b/module/api/view/content.html.php
index ec29ce4c2b..3c2742337c 100644
--- a/module/api/view/content.html.php
+++ b/module/api/view/content.html.php
@@ -27,11 +27,10 @@
id"), '', '', "title='{$lang->api->edit}' class='btn btn-link' data-app='{$this->app->tab}'");
- if(common::hasPriv('api', 'delete')) echo html::a(inLink('api', 'delete', "apiID=$api->id"), '', '', "title='{$lang->api->delete}' class='btn btn-link' target='hiddenwin'");
+ if(common::hasPriv('api', 'edit')) echo html::a($this->createLink('api', 'edit', "apiID=$api->id"), '', '', "title='{$lang->api->edit}' class='btn btn-link' data-app='{$this->app->tab}'");
+ if(common::hasPriv('api', 'delete')) echo html::a($this->createLink('api', 'delete', "apiID=$api->id"), '', '', "title='{$lang->api->delete}' class='btn btn-link' target='hiddenwin'");
}
?>
- history?>>
@@ -57,8 +56,7 @@
api->boolList[$param['required']];?> |
|
-
+
diff --git a/module/block/control.php b/module/block/control.php
index eb16af3daa..6a7b9582fd 100755
--- a/module/block/control.php
+++ b/module/block/control.php
@@ -2166,7 +2166,7 @@ class block extends control
while($doc = $stmt->fetch())
{
if(!isset($docGroup[$doc->product])) $docGroup[$doc->product] = array();
- if(count($docGroup[$doc->product]) > $count) break;
+ if(count($docGroup[$doc->product]) >= $count) continue;
if($this->doc->checkPrivDoc($doc)) $docGroup[$doc->product][$doc->id] = $doc;
}
@@ -2208,7 +2208,7 @@ class block extends control
while($doc = $stmt->fetch())
{
if(!isset($docGroup[$doc->project])) $docGroup[$doc->project] = array();
- if(count($docGroup[$doc->project]) > $count) break;
+ if(count($docGroup[$doc->project]) >= $count) continue;
if($this->doc->checkPrivDoc($doc)) $docGroup[$doc->project][$doc->id] = $doc;
}
diff --git a/module/block/lang/de.php b/module/block/lang/de.php
index 7dfb0894f1..96d7b92e15 100644
--- a/module/block/lang/de.php
+++ b/module/block/lang/de.php
@@ -358,6 +358,8 @@ if($config->vision == 'rnd')
$lang->block->default['doc']['6']['title'] = $lang->productCommon . ' Document';
$lang->block->default['doc']['6']['block'] = 'productdoc';
$lang->block->default['doc']['6']['grid'] = 8;
+
+ $lang->block->default['doc']['6']['params']['count'] = '20';
}
$lang->block->default['doc']['7']['title'] = 'Favorite Leaderboard';
@@ -368,6 +370,8 @@ $lang->block->default['doc']['8']['title'] = $lang->projectCommon . ' Document';
$lang->block->default['doc']['8']['block'] = 'projectdoc';
$lang->block->default['doc']['8']['grid'] = 8;
+$lang->block->default['doc']['8']['params']['count'] = '20';
+
$lang->block->count = 'Count';
$lang->block->type = 'Type';
$lang->block->orderBy = 'Order by';
@@ -458,7 +462,7 @@ $lang->block->modules['doc']->availableBlocks->docdynamic = 'Dynamic';
$lang->block->modules['doc']->availableBlocks->mycollection = 'My Collection';
$lang->block->modules['doc']->availableBlocks->recentupdate = 'Recently Update';
$lang->block->modules['doc']->availableBlocks->viewlist = 'Browse Leaderboard';
-$lang->block->modules['doc']->availableBlocks->productdoc = $lang->productCommon . 'Document';
+if($config->vision == 'rnd') $lang->block->modules['doc']->availableBlocks->productdoc = $lang->productCommon . 'Document';
$lang->block->modules['doc']->availableBlocks->collectlist = 'Favorite Leaderboard';
$lang->block->modules['doc']->availableBlocks->projectdoc = $lang->projectCommon . 'Document';
diff --git a/module/block/lang/en.php b/module/block/lang/en.php
index 5238f79c50..a42266388f 100644
--- a/module/block/lang/en.php
+++ b/module/block/lang/en.php
@@ -358,6 +358,8 @@ if($config->vision == 'rnd')
$lang->block->default['doc']['6']['title'] = $lang->productCommon . ' Document';
$lang->block->default['doc']['6']['block'] = 'productdoc';
$lang->block->default['doc']['6']['grid'] = 8;
+
+ $lang->block->default['doc']['6']['params']['count'] = '20';
}
$lang->block->default['doc']['7']['title'] = 'Favorite Leaderboard';
@@ -368,6 +370,8 @@ $lang->block->default['doc']['8']['title'] = $lang->projectCommon . ' Document';
$lang->block->default['doc']['8']['block'] = 'projectdoc';
$lang->block->default['doc']['8']['grid'] = 8;
+$lang->block->default['doc']['8']['params']['count'] = '20';
+
$lang->block->count = 'Count';
$lang->block->type = 'Type';
$lang->block->orderBy = 'Order by';
@@ -458,7 +462,7 @@ $lang->block->modules['doc']->availableBlocks->docdynamic = 'Dynamic';
$lang->block->modules['doc']->availableBlocks->docmycollection = 'My Collection';
$lang->block->modules['doc']->availableBlocks->docrecentupdate = 'Recently Update';
$lang->block->modules['doc']->availableBlocks->docviewlist = 'Browse Leaderboard';
-$lang->block->modules['doc']->availableBlocks->productdoc = $lang->productCommon . 'Document';
+if($config->vision == 'rnd')$lang->block->modules['doc']->availableBlocks->productdoc = $lang->productCommon . 'Document';
$lang->block->modules['doc']->availableBlocks->doccollectlist = 'Favorite Leaderboard';
$lang->block->modules['doc']->availableBlocks->projectdoc = $lang->projectCommon . 'Document';
diff --git a/module/block/lang/fr.php b/module/block/lang/fr.php
index 125ac6768e..a6f0bcd4b3 100644
--- a/module/block/lang/fr.php
+++ b/module/block/lang/fr.php
@@ -358,6 +358,8 @@ if($config->vision == 'rnd')
$lang->block->default['doc']['6']['title'] = $lang->productCommon . ' Document';
$lang->block->default['doc']['6']['block'] = 'productdoc';
$lang->block->default['doc']['6']['grid'] = 8;
+
+ $lang->block->default['doc']['6']['params']['count'] = '20';
}
$lang->block->default['doc']['7']['title'] = 'Favorite Leaderboard';
@@ -368,6 +370,8 @@ $lang->block->default['doc']['8']['title'] = $lang->projectCommon . ' Document';
$lang->block->default['doc']['8']['block'] = 'projectdoc';
$lang->block->default['doc']['8']['grid'] = 8;
+$lang->block->default['doc']['8']['params']['count'] = '20';
+
$lang->block->count = 'Numéro';
$lang->block->type = 'Type';
$lang->block->orderBy = 'Trié par';
@@ -458,7 +462,7 @@ $lang->block->modules['doc']->availableBlocks->docdynamic = 'Dynamic';
$lang->block->modules['doc']->availableBlocks->docmycollection = 'My Collection';
$lang->block->modules['doc']->availableBlocks->docrecentupdate = 'Recently Update';
$lang->block->modules['doc']->availableBlocks->docviewlist = 'Browse Leaderboard';
-$lang->block->modules['doc']->availableBlocks->productdoc = $lang->productCommon . 'Document';
+if($config->vision == 'rnd') $lang->block->modules['doc']->availableBlocks->productdoc = $lang->productCommon . 'Document';
$lang->block->modules['doc']->availableBlocks->doccollectlist = 'Favorite Leaderboard';
$lang->block->modules['doc']->availableBlocks->projectdoc = $lang->projectCommon . 'Document';
diff --git a/module/block/lang/zh-cn.php b/module/block/lang/zh-cn.php
index 2ccca59c7e..3e71477b3e 100644
--- a/module/block/lang/zh-cn.php
+++ b/module/block/lang/zh-cn.php
@@ -357,8 +357,9 @@ if($config->vision == 'rnd')
{
$lang->block->default['doc']['6']['title'] = $lang->productCommon . '文档';
$lang->block->default['doc']['6']['block'] = 'productdoc';
- $lang->block->default['doc']['6']['params']['count'] = '20';
$lang->block->default['doc']['6']['grid'] = 8;
+
+ $lang->block->default['doc']['6']['params']['count'] = '20';
}
$lang->block->default['doc']['7']['title'] = '收藏排行榜';
@@ -367,9 +368,10 @@ $lang->block->default['doc']['7']['grid'] = 4;
$lang->block->default['doc']['8']['title'] = $lang->projectCommon . '文档';
$lang->block->default['doc']['8']['block'] = 'projectdoc';
-$lang->block->default['doc']['8']['params']['count'] = '20';
$lang->block->default['doc']['8']['grid'] = 8;
+$lang->block->default['doc']['8']['params']['count'] = '20';
+
$lang->block->count = '数量';
$lang->block->type = '类型';
$lang->block->orderBy = '排序';
@@ -460,7 +462,7 @@ $lang->block->modules['doc']->availableBlocks->docdynamic = '文档动态';
$lang->block->modules['doc']->availableBlocks->docmycollection = '我的收藏';
$lang->block->modules['doc']->availableBlocks->docrecentupdate = '最近更新';
$lang->block->modules['doc']->availableBlocks->docviewlist = '浏览排行榜';
-$lang->block->modules['doc']->availableBlocks->productdoc = $lang->productCommon . '文档';
+if($config->vision == 'rnd') $lang->block->modules['doc']->availableBlocks->productdoc = $lang->productCommon . '文档';
$lang->block->modules['doc']->availableBlocks->doccollectlist = '收藏排行榜';
$lang->block->modules['doc']->availableBlocks->projectdoc = $lang->projectCommon . '文档';
diff --git a/module/block/view/productdocblock.html.php b/module/block/view/productdocblock.html.php
index b6c46c8995..a7f98d5eb4 100644
--- a/module/block/view/productdocblock.html.php
+++ b/module/block/view/productdocblock.html.php
@@ -1,14 +1,14 @@
-
@@ -172,7 +168,7 @@ function changeProductType(type)
}
else
{
- echo "$icon {$doc->title}";
+ echo "$icon {$doc->title}";
}
if($doc->status == 'draft') echo "{$lang->doc->draft}";
?>
diff --git a/module/block/view/projectdocblock.html.php b/module/block/view/projectdocblock.html.php
index 32fcce5f41..dd793766b5 100644
--- a/module/block/view/projectdocblock.html.php
+++ b/module/block/view/projectdocblock.html.php
@@ -1,14 +1,14 @@