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 @@