From bf78fe9be46935cecc8c180cd953dd2880205641 Mon Sep 17 00:00:00 2001
From: hufangzhou
Date: Tue, 12 Oct 2021 09:35:39 +0800
Subject: [PATCH] * Add the 15.6 version and upgrade.
---
VERSION | 2 +-
config/config.php | 2 +-
db/standard/zentao15.6.sql | 1264 ++++++++++++++++++++++++++++
doc/CHANGELOG | 33 +
module/action/lang/zh-tw.php | 31 +-
module/block/lang/zh-tw.php | 8 +-
module/bug/lang/zh-tw.php | 7 +
module/build/lang/zh-tw.php | 2 +
module/company/lang/zh-tw.php | 2 +
module/compile/lang/zh-tw.php | 24 +-
module/cron/lang/zh-tw.php | 2 +
module/custom/lang/en.php | 2 +-
module/custom/lang/zh-tw.php | 1 +
module/dept/lang/zh-tw.php | 3 +
module/doc/lang/zh-tw.php | 6 +
module/entry/lang/zh-tw.php | 3 +
module/execution/lang/zh-tw.php | 8 +-
module/extension/lang/zh-tw.php | 1 +
module/file/lang/zh-tw.php | 4 +
module/group/lang/zh-tw.php | 2 +
module/install/lang/zh-tw.php | 2 +-
module/job/lang/zh-tw.php | 6 +
module/misc/lang/en.php | 2 +
module/misc/lang/zh-cn.php | 2 +
module/misc/lang/zh-tw.php | 2 +
module/product/lang/zh-tw.php | 4 +
module/productplan/lang/zh-tw.php | 1 +
module/program/lang/zh-tw.php | 2 +-
module/project/lang/en.php | 3 +-
module/project/lang/zh-tw.php | 19 +
module/projectstory/lang/zh-tw.php | 6 +
module/repo/lang/zh-tw.php | 4 +
module/search/lang/zh-tw.php | 4 +
module/story/lang/zh-tw.php | 1 +
module/task/lang/en.php | 5 +-
module/task/lang/zh-tw.php | 172 ++--
module/testcase/lang/zh-tw.php | 16 +
module/testreport/lang/zh-tw.php | 1 +
module/testsuite/lang/en.php | 1 -
module/testsuite/lang/zh-tw.php | 2 +
module/testtask/lang/zh-tw.php | 6 +
module/todo/lang/zh-tw.php | 1 +
module/tutorial/lang/zh-tw.php | 14 +-
module/upgrade/lang/version.php | 1 +
module/upgrade/model.php | 1 +
module/user/lang/zh-tw.php | 15 +
module/webhook/lang/zh-tw.php | 5 +
47 files changed, 1583 insertions(+), 122 deletions(-)
create mode 100644 db/standard/zentao15.6.sql
diff --git a/VERSION b/VERSION
index db50370908..ee1a8f2374 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-15.5
+15.6
diff --git a/config/config.php b/config/config.php
index 3512acf6b7..f78feccc73 100644
--- a/config/config.php
+++ b/config/config.php
@@ -16,7 +16,7 @@ if(!class_exists('config')){class config{}}
if(!function_exists('getWebRoot')){function getWebRoot(){}}
/* 基本设置。Basic settings. */
-$config->version = '15.5'; // ZenTaoPHP的版本。 The version of ZenTaoPHP. Don't change it.
+$config->version = '15.6'; // ZenTaoPHP的版本。 The version of ZenTaoPHP. Don't change it.
$config->charset = 'UTF-8'; // ZenTaoPHP的编码。 The encoding of ZenTaoPHP.
$config->cookieLife = time() + 2592000; // Cookie的生存时间。The cookie life time.
$config->timezone = 'Asia/Shanghai'; // 时区设置。 The time zone setting, for more see http://www.php.net/manual/en/timezones.php.
diff --git a/db/standard/zentao15.6.sql b/db/standard/zentao15.6.sql
new file mode 100644
index 0000000000..3a4a9c7c28
--- /dev/null
+++ b/db/standard/zentao15.6.sql
@@ -0,0 +1,1264 @@
+CREATE TABLE `zt_acl` (
+ `id` mediumint(9) NOT NULL AUTO_INCREMENT,
+ `account` char(30) NOT NULL,
+ `objectType` char(30) NOT NULL,
+ `objectID` mediumint(9) NOT NULL DEFAULT 0,
+ `type` char(40) NOT NULL DEFAULT 'whitelist',
+ `source` char(30) NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_action` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `objectType` varchar(30) NOT NULL DEFAULT '',
+ `objectID` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `product` varchar(255) NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `execution` mediumint(8) unsigned NOT NULL,
+ `actor` varchar(100) NOT NULL DEFAULT '',
+ `action` varchar(30) NOT NULL DEFAULT '',
+ `date` datetime NOT NULL,
+ `comment` text NOT NULL,
+ `extra` text NOT NULL,
+ `read` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `date` (`date`),
+ KEY `actor` (`actor`),
+ KEY `project` (`project`),
+ KEY `action` (`action`),
+ KEY `objectID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_block` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `account` char(30) NOT NULL,
+ `module` varchar(20) NOT NULL,
+ `type` char(30) NOT NULL,
+ `title` varchar(100) NOT NULL,
+ `source` varchar(20) NOT NULL,
+ `block` varchar(20) NOT NULL,
+ `params` text NOT NULL,
+ `order` tinyint(3) unsigned NOT NULL DEFAULT 0,
+ `grid` tinyint(3) unsigned NOT NULL DEFAULT 0,
+ `height` smallint(5) unsigned NOT NULL DEFAULT 0,
+ `hidden` tinyint(1) unsigned NOT NULL DEFAULT 0,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `account_module_type_order` (`account`,`module`,`type`,`order`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_branch` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `order` smallint(5) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_bug` (
+ `id` mediumint(8) NOT NULL AUTO_INCREMENT,
+ `project` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `branch` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `module` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `execution` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `plan` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `story` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `storyVersion` smallint(6) NOT NULL DEFAULT 1,
+ `task` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `toTask` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `toStory` mediumint(8) NOT NULL DEFAULT 0,
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `severity` tinyint(4) NOT NULL DEFAULT 0,
+ `pri` tinyint(3) unsigned NOT NULL,
+ `type` varchar(30) NOT NULL DEFAULT '',
+ `os` varchar(30) NOT NULL DEFAULT '',
+ `browser` varchar(30) NOT NULL DEFAULT '',
+ `hardware` varchar(30) NOT NULL,
+ `found` varchar(30) NOT NULL DEFAULT '',
+ `steps` text NOT NULL,
+ `status` enum('active','resolved','closed') NOT NULL DEFAULT 'active',
+ `subStatus` varchar(30) NOT NULL DEFAULT '',
+ `color` char(7) NOT NULL,
+ `confirmed` tinyint(1) NOT NULL DEFAULT 0,
+ `activatedCount` smallint(6) NOT NULL,
+ `activatedDate` datetime NOT NULL,
+ `mailto` text DEFAULT NULL,
+ `openedBy` varchar(30) NOT NULL DEFAULT '',
+ `openedDate` datetime NOT NULL,
+ `openedBuild` varchar(255) NOT NULL,
+ `assignedTo` varchar(30) NOT NULL DEFAULT '',
+ `assignedDate` datetime NOT NULL,
+ `deadline` date NOT NULL,
+ `resolvedBy` varchar(30) NOT NULL DEFAULT '',
+ `resolution` varchar(30) NOT NULL DEFAULT '',
+ `resolvedBuild` varchar(30) NOT NULL DEFAULT '',
+ `resolvedDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL DEFAULT '',
+ `closedDate` datetime NOT NULL,
+ `duplicateBug` mediumint(8) unsigned NOT NULL,
+ `linkBug` varchar(255) NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `caseVersion` smallint(6) NOT NULL DEFAULT 1,
+ `result` mediumint(8) unsigned NOT NULL,
+ `repo` mediumint(8) unsigned NOT NULL,
+ `entry` varchar(255) NOT NULL,
+ `lines` varchar(10) NOT NULL,
+ `v1` varchar(40) NOT NULL,
+ `v2` varchar(40) NOT NULL,
+ `repoType` varchar(30) NOT NULL DEFAULT '',
+ `testtask` mediumint(8) unsigned NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL DEFAULT '',
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `execution` (`execution`),
+ KEY `status` (`status`),
+ KEY `plan` (`plan`),
+ KEY `story` (`story`),
+ KEY `case` (`case`),
+ KEY `toStory` (`toStory`),
+ KEY `result` (`result`),
+ KEY `assignedTo` (`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_build` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `project` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `branch` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `execution` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `name` char(150) NOT NULL,
+ `scmPath` char(255) NOT NULL,
+ `filePath` char(255) NOT NULL,
+ `date` date NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `builder` char(30) NOT NULL DEFAULT '',
+ `desc` text NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `execution` (`execution`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_burn` (
+ `execution` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `task` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `date` date NOT NULL,
+ `estimate` float NOT NULL,
+ `left` float NOT NULL,
+ `consumed` float NOT NULL,
+ `storyPoint` float NOT NULL,
+ PRIMARY KEY (`execution`,`date`,`task`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_case` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `project` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `execution` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `lib` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `module` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `path` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `story` mediumint(30) unsigned NOT NULL DEFAULT 0,
+ `storyVersion` smallint(6) NOT NULL DEFAULT 1,
+ `title` varchar(255) NOT NULL,
+ `precondition` text NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL DEFAULT 3,
+ `type` char(30) NOT NULL DEFAULT '1',
+ `auto` varchar(10) NOT NULL DEFAULT 'no',
+ `frame` varchar(10) NOT NULL,
+ `stage` varchar(255) NOT NULL,
+ `howRun` varchar(30) NOT NULL,
+ `scriptedBy` varchar(30) NOT NULL,
+ `scriptedDate` date NOT NULL,
+ `scriptStatus` varchar(30) NOT NULL,
+ `scriptLocation` varchar(255) NOT NULL,
+ `status` char(30) NOT NULL DEFAULT '1',
+ `subStatus` varchar(30) NOT NULL DEFAULT '',
+ `color` char(7) NOT NULL,
+ `frequency` enum('1','2','3') NOT NULL DEFAULT '1',
+ `order` tinyint(30) unsigned NOT NULL DEFAULT 0,
+ `openedBy` char(30) NOT NULL DEFAULT '',
+ `openedDate` datetime NOT NULL,
+ `reviewedBy` varchar(255) NOT NULL,
+ `reviewedDate` date NOT NULL,
+ `lastEditedBy` char(30) NOT NULL DEFAULT '',
+ `lastEditedDate` datetime NOT NULL,
+ `version` tinyint(3) unsigned NOT NULL DEFAULT 0,
+ `linkCase` varchar(255) NOT NULL,
+ `fromBug` mediumint(8) unsigned NOT NULL,
+ `fromCaseID` mediumint(8) unsigned NOT NULL,
+ `fromCaseVersion` mediumint(8) unsigned NOT NULL DEFAULT 1,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ `lastRunner` varchar(30) NOT NULL,
+ `lastRunDate` datetime NOT NULL,
+ `lastRunResult` char(30) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `story` (`story`),
+ KEY `fromBug` (`fromBug`),
+ KEY `module` (`module`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_casestep` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `parent` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `case` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `version` smallint(3) unsigned NOT NULL DEFAULT 0,
+ `type` varchar(10) NOT NULL DEFAULT 'step',
+ `desc` text NOT NULL,
+ `expect` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `case` (`case`),
+ KEY `version` (`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_company` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `name` char(120) DEFAULT NULL,
+ `phone` char(20) DEFAULT NULL,
+ `fax` char(20) DEFAULT NULL,
+ `address` char(120) DEFAULT NULL,
+ `zipcode` char(10) DEFAULT NULL,
+ `website` char(120) DEFAULT NULL,
+ `backyard` char(120) DEFAULT NULL,
+ `guest` enum('1','0') NOT NULL DEFAULT '0',
+ `admins` char(255) DEFAULT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_compile` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `name` varchar(50) NOT NULL,
+ `job` mediumint(8) unsigned NOT NULL,
+ `queue` mediumint(8) NOT NULL,
+ `status` varchar(255) NOT NULL,
+ `logs` text DEFAULT NULL,
+ `atTime` varchar(10) NOT NULL,
+ `testtask` mediumint(8) unsigned NOT NULL,
+ `tag` varchar(255) NOT NULL,
+ `times` tinyint(3) unsigned NOT NULL DEFAULT 0,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `updateDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_config` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `owner` char(30) NOT NULL DEFAULT '',
+ `module` varchar(30) NOT NULL,
+ `section` char(30) NOT NULL DEFAULT '',
+ `key` char(30) NOT NULL DEFAULT '',
+ `value` longtext NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `unique` (`owner`,`module`,`section`,`key`)
+) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_cron` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `m` varchar(20) NOT NULL,
+ `h` varchar(20) NOT NULL,
+ `dom` varchar(20) NOT NULL,
+ `mon` varchar(20) NOT NULL,
+ `dow` varchar(20) NOT NULL,
+ `command` text NOT NULL,
+ `remark` varchar(255) NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `buildin` tinyint(1) NOT NULL DEFAULT 0,
+ `status` varchar(20) NOT NULL,
+ `lastTime` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `lastTime` (`lastTime`)
+) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_dept` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `name` char(60) NOT NULL,
+ `parent` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `path` char(255) NOT NULL DEFAULT '',
+ `grade` tinyint(3) unsigned NOT NULL DEFAULT 0,
+ `order` smallint(4) unsigned NOT NULL DEFAULT 0,
+ `position` char(30) NOT NULL DEFAULT '',
+ `function` char(255) NOT NULL DEFAULT '',
+ `manager` char(30) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `parent` (`parent`),
+ KEY `path` (`path`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_doc` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `project` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `execution` mediumint(8) unsigned NOT NULL,
+ `lib` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `type` varchar(30) NOT NULL,
+ `views` smallint(5) unsigned NOT NULL,
+ `draft` longtext NOT NULL,
+ `collector` text NOT NULL,
+ `addedBy` varchar(30) NOT NULL,
+ `addedDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `mailto` text DEFAULT NULL,
+ `acl` varchar(10) NOT NULL DEFAULT 'open',
+ `groups` varchar(255) NOT NULL,
+ `users` text NOT NULL,
+ `version` smallint(5) unsigned NOT NULL DEFAULT 1,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `execution` (`execution`),
+ KEY `lib` (`lib`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_doccontent` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `doc` mediumint(8) unsigned NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `digest` varchar(255) NOT NULL,
+ `content` longtext NOT NULL,
+ `files` text NOT NULL,
+ `type` varchar(10) NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `doc_version` (`doc`,`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_doclib` (
+ `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
+ `type` varchar(30) NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `project` mediumint(8) unsigned NOT NULL,
+ `execution` mediumint(8) unsigned NOT NULL,
+ `name` varchar(60) NOT NULL,
+ `acl` varchar(10) NOT NULL DEFAULT 'open',
+ `groups` varchar(255) NOT NULL,
+ `users` text NOT NULL,
+ `main` enum('0','1') NOT NULL DEFAULT '0',
+ `collector` text NOT NULL,
+ `order` tinyint(5) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `execution` (`execution`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_effort` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `user` char(30) NOT NULL DEFAULT '',
+ `todo` enum('1','0') NOT NULL DEFAULT '1',
+ `date` date NOT NULL,
+ `begin` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `end` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `type` enum('1','2','3') NOT NULL DEFAULT '1',
+ `idvalue` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `name` char(30) NOT NULL DEFAULT '',
+ `desc` char(255) NOT NULL DEFAULT '',
+ `status` enum('1','2','3') NOT NULL DEFAULT '1',
+ PRIMARY KEY (`id`),
+ KEY `user` (`user`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_entry` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `name` varchar(50) NOT NULL,
+ `account` varchar(30) NOT NULL DEFAULT '',
+ `code` varchar(20) NOT NULL,
+ `key` varchar(32) NOT NULL,
+ `freePasswd` enum('0','1') NOT NULL DEFAULT '0',
+ `ip` varchar(100) NOT NULL,
+ `desc` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `calledTime` int(10) unsigned NOT NULL DEFAULT 0,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_expect` (
+ `id` mediumint(8) NOT NULL AUTO_INCREMENT,
+ `userID` mediumint(8) NOT NULL,
+ `project` mediumint(8) NOT NULL DEFAULT 0,
+ `expect` text NOT NULL,
+ `progress` text NOT NULL,
+ `createdBy` char(30) NOT NULL,
+ `createdDate` date NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_extension` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `name` varchar(150) NOT NULL,
+ `code` varchar(30) NOT NULL,
+ `version` varchar(50) NOT NULL,
+ `author` varchar(100) NOT NULL,
+ `desc` text NOT NULL,
+ `license` text NOT NULL,
+ `type` varchar(20) NOT NULL DEFAULT 'extension',
+ `site` varchar(150) NOT NULL,
+ `zentaoCompatible` varchar(100) NOT NULL,
+ `installedTime` datetime NOT NULL,
+ `depends` varchar(100) NOT NULL,
+ `dirs` mediumtext NOT NULL,
+ `files` mediumtext NOT NULL,
+ `status` varchar(20) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `code` (`code`),
+ KEY `name` (`name`),
+ KEY `installedTime` (`installedTime`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_file` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `pathname` char(50) NOT NULL,
+ `title` char(255) NOT NULL,
+ `extension` char(30) NOT NULL,
+ `size` int(10) unsigned NOT NULL DEFAULT 0,
+ `objectType` char(30) NOT NULL,
+ `objectID` mediumint(9) NOT NULL,
+ `addedBy` char(30) NOT NULL DEFAULT '',
+ `addedDate` datetime NOT NULL,
+ `downloads` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `extra` varchar(255) NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `objectType` (`objectType`),
+ KEY `objectID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_group` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `project` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `name` char(30) NOT NULL,
+ `role` char(30) NOT NULL DEFAULT '',
+ `desc` char(255) NOT NULL DEFAULT '',
+ `acl` text DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_grouppriv` (
+ `group` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `module` char(30) NOT NULL DEFAULT '',
+ `method` char(30) NOT NULL DEFAULT '',
+ UNIQUE KEY `group` (`group`,`module`,`method`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_history` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `action` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `field` varchar(30) NOT NULL DEFAULT '',
+ `old` text NOT NULL,
+ `new` text NOT NULL,
+ `diff` mediumtext NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `action` (`action`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_job` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `name` varchar(50) NOT NULL,
+ `repo` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `frame` varchar(20) NOT NULL,
+ `engine` varchar(20) NOT NULL,
+ `server` mediumint(8) unsigned NOT NULL,
+ `pipeline` varchar(500) NOT NULL,
+ `triggerType` varchar(255) NOT NULL,
+ `svnDir` varchar(255) NOT NULL,
+ `atDay` varchar(255) DEFAULT NULL,
+ `atTime` varchar(10) DEFAULT NULL,
+ `customParam` text NOT NULL,
+ `comment` varchar(255) DEFAULT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `lastExec` datetime DEFAULT NULL,
+ `lastStatus` varchar(255) DEFAULT NULL,
+ `lastTag` varchar(255) DEFAULT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_lang` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `lang` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `section` varchar(30) NOT NULL,
+ `key` varchar(60) NOT NULL,
+ `value` text NOT NULL,
+ `system` enum('0','1') NOT NULL DEFAULT '1',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `lang` (`lang`,`module`,`section`,`key`)
+) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_log` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `objectType` varchar(30) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `action` mediumint(8) unsigned NOT NULL,
+ `date` datetime NOT NULL,
+ `url` varchar(255) NOT NULL,
+ `contentType` varchar(30) NOT NULL,
+ `data` text NOT NULL,
+ `result` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `objectType` (`objectType`),
+ KEY `obejctID` (`objectID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_module` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `root` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `branch` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `name` char(60) NOT NULL DEFAULT '',
+ `parent` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `path` char(255) NOT NULL DEFAULT '',
+ `grade` tinyint(3) unsigned NOT NULL DEFAULT 0,
+ `order` smallint(5) unsigned NOT NULL DEFAULT 0,
+ `type` char(30) NOT NULL,
+ `owner` varchar(30) NOT NULL,
+ `collector` text NOT NULL,
+ `short` varchar(30) NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `root` (`root`),
+ KEY `type` (`type`),
+ KEY `path` (`path`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_mr` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `gitlabID` mediumint(8) unsigned NOT NULL,
+ `sourceProject` int unsigned NOT NULL,
+ `sourceBranch` varchar(100) NOT NULL,
+ `targetProject` int unsigned NOT NULL,
+ `targetBranch` varchar(100) NOT NULL,
+ `mriid` int unsigned NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `description` text NOT NULL,
+ `assignee` varchar(255) NOT NULL,
+ `reviewer` varchar(255) NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ `status` char(30) NOT NULL,
+ `mergeStatus` char(30) NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_notify` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `objectType` varchar(50) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `action` mediumint(9) NOT NULL,
+ `toList` varchar(255) NOT NULL,
+ `ccList` text NOT NULL,
+ `subject` varchar(255) NOT NULL,
+ `data` text NOT NULL,
+ `createdBy` char(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `sendTime` datetime NOT NULL,
+ `status` varchar(10) NOT NULL DEFAULT 'wait',
+ `failReason` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `objectType_toList_status` (`objectType`,`toList`,`status`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_oauth` (
+ `account` varchar(30) NOT NULL,
+ `openID` varchar(255) NOT NULL,
+ `providerType` varchar(30) NOT NULL,
+ `providerID` mediumint(8) unsigned NOT NULL,
+ KEY `account` (`account`),
+ KEY `providerType` (`providerType`),
+ KEY `providerID` (`providerID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_pipeline` (
+ `id` smallint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `type` char(30) NOT NULL,
+ `name` varchar(50) NOT NULL,
+ `url` varchar(255) DEFAULT NULL,
+ `account` varchar(30) DEFAULT NULL,
+ `password` varchar(255) NOT NULL,
+ `token` varchar(255) DEFAULT NULL,
+ `private` char(32) DEFAULT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_planstory` (
+ `plan` mediumint(8) unsigned NOT NULL,
+ `story` mediumint(8) unsigned NOT NULL,
+ `order` mediumint(9) NOT NULL,
+ UNIQUE KEY `plan_story` (`plan`,`story`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_product` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `program` mediumint(8) unsigned NOT NULL,
+ `name` varchar(90) NOT NULL,
+ `code` varchar(45) NOT NULL,
+ `bind` enum('0','1') NOT NULL DEFAULT '0',
+ `line` mediumint(8) NOT NULL,
+ `type` varchar(30) NOT NULL DEFAULT 'normal',
+ `status` varchar(30) NOT NULL DEFAULT '',
+ `subStatus` varchar(30) NOT NULL DEFAULT '',
+ `desc` text NOT NULL,
+ `PO` varchar(30) NOT NULL,
+ `QD` varchar(30) NOT NULL,
+ `RD` varchar(30) NOT NULL,
+ `acl` enum('open','private','custom') NOT NULL DEFAULT 'open',
+ `whitelist` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `createdVersion` varchar(20) NOT NULL,
+ `order` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `acl` (`acl`),
+ KEY `order` (`order`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_productplan` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `product` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `parent` mediumint(9) NOT NULL DEFAULT 0,
+ `title` varchar(90) NOT NULL,
+ `desc` text NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `order` text NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `end` (`end`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_project` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `project` mediumint(8) NOT NULL DEFAULT 0,
+ `model` char(30) NOT NULL,
+ `type` char(30) NOT NULL DEFAULT 'sprint',
+ `lifetime` char(30) NOT NULL DEFAULT '',
+ `budget` varchar(30) NOT NULL DEFAULT '0',
+ `budgetUnit` char(30) NOT NULL DEFAULT 'CNY',
+ `attribute` varchar(30) NOT NULL DEFAULT '',
+ `percent` float unsigned NOT NULL DEFAULT 0,
+ `milestone` enum('0','1') NOT NULL DEFAULT '0',
+ `output` text NOT NULL,
+ `auth` char(30) NOT NULL,
+ `parent` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `path` varchar(255) NOT NULL,
+ `grade` tinyint(3) unsigned NOT NULL,
+ `name` varchar(90) NOT NULL,
+ `code` varchar(45) NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `realBegan` date NOT NULL,
+ `realEnd` date NOT NULL,
+ `days` smallint(5) unsigned NOT NULL,
+ `status` varchar(10) NOT NULL,
+ `subStatus` varchar(30) NOT NULL DEFAULT '',
+ `pri` enum('1','2','3','4') NOT NULL DEFAULT '1',
+ `desc` text NOT NULL,
+ `version` smallint(6) NOT NULL,
+ `parentVersion` smallint(6) NOT NULL,
+ `planDuration` int(11) NOT NULL,
+ `realDuration` int(11) NOT NULL,
+ `openedBy` varchar(30) NOT NULL DEFAULT '',
+ `openedDate` datetime NOT NULL,
+ `openedVersion` varchar(20) NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL DEFAULT '',
+ `lastEditedDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL DEFAULT '',
+ `closedDate` datetime NOT NULL,
+ `canceledBy` varchar(30) NOT NULL DEFAULT '',
+ `canceledDate` datetime NOT NULL,
+ `PO` varchar(30) NOT NULL DEFAULT '',
+ `PM` varchar(30) NOT NULL DEFAULT '',
+ `QD` varchar(30) NOT NULL DEFAULT '',
+ `RD` varchar(30) NOT NULL DEFAULT '',
+ `team` varchar(90) NOT NULL,
+ `acl` char(30) NOT NULL DEFAULT 'open',
+ `whitelist` text NOT NULL,
+ `order` mediumint(8) unsigned NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `parent` (`parent`),
+ KEY `begin` (`begin`),
+ KEY `end` (`end`),
+ KEY `status` (`status`),
+ KEY `acl` (`acl`),
+ KEY `order` (`order`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_projectcase` (
+ `project` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `product` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `case` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `count` mediumint(8) unsigned NOT NULL DEFAULT 1,
+ `version` smallint(6) NOT NULL DEFAULT 1,
+ `order` smallint(6) unsigned NOT NULL,
+ UNIQUE KEY `project` (`project`,`case`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_projectproduct` (
+ `project` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `plan` mediumint(8) unsigned NOT NULL,
+ PRIMARY KEY (`project`,`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_projectspec` (
+ `project` mediumint(8) NOT NULL,
+ `version` smallint(6) NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `milestone` enum('0','1') NOT NULL DEFAULT '0',
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ UNIQUE KEY `project` (`project`,`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_projectstory` (
+ `project` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `product` mediumint(8) unsigned NOT NULL,
+ `story` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `version` smallint(6) NOT NULL DEFAULT 1,
+ `order` smallint(6) unsigned NOT NULL,
+ UNIQUE KEY `project` (`project`,`story`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_relation` (
+ `id` int(8) NOT NULL AUTO_INCREMENT,
+ `project` mediumint(8) NOT NULL,
+ `product` mediumint(8) NOT NULL,
+ `execution` mediumint(8) NOT NULL,
+ `AType` char(30) NOT NULL,
+ `AID` mediumint(8) NOT NULL,
+ `AVersion` char(30) NOT NULL,
+ `relation` char(30) NOT NULL,
+ `BType` char(30) NOT NULL,
+ `BID` mediumint(8) NOT NULL,
+ `BVersion` char(30) NOT NULL,
+ `extra` char(30) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `relation` (`product`,`relation`,`AType`,`BType`,`AID`,`BID`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_release` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `project` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `branch` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `build` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL DEFAULT '',
+ `marker` enum('0','1') NOT NULL DEFAULT '0',
+ `date` date NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `leftBugs` text NOT NULL,
+ `desc` text NOT NULL,
+ `mailto` text,
+ `notify` varchar(255),
+ `status` varchar(20) NOT NULL DEFAULT 'normal',
+ `subStatus` varchar(30) NOT NULL DEFAULT '',
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `build` (`build`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_repo` (
+ `id` mediumint(9) NOT NULL AUTO_INCREMENT,
+ `product` varchar(255) NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `path` varchar(255) NOT NULL,
+ `prefix` varchar(100) NOT NULL,
+ `encoding` varchar(20) NOT NULL,
+ `SCM` varchar(10) NOT NULL,
+ `client` varchar(100) NOT NULL,
+ `commits` mediumint(8) unsigned NOT NULL,
+ `account` varchar(30) NOT NULL,
+ `password` varchar(30) NOT NULL,
+ `encrypt` varchar(30) NOT NULL DEFAULT 'plain',
+ `acl` text NOT NULL,
+ `synced` tinyint(1) NOT NULL DEFAULT 0,
+ `lastSync` datetime NOT NULL,
+ `desc` text NOT NULL,
+ `extra` char(30) NOT NULL,
+ `deleted` tinyint(1) NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_repobranch` (
+ `repo` mediumint(8) unsigned NOT NULL,
+ `revision` mediumint(8) unsigned NOT NULL,
+ `branch` varchar(255) NOT NULL,
+ UNIQUE KEY `repo_revision_branch` (`repo`,`revision`,`branch`),
+ KEY `branch` (`branch`),
+ KEY `revision` (`revision`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_repofiles` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `repo` mediumint(8) unsigned NOT NULL,
+ `revision` mediumint(8) unsigned NOT NULL,
+ `path` varchar(255) NOT NULL,
+ `parent` varchar(255) NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `action` char(1) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `path` (`path`),
+ KEY `parent` (`parent`),
+ KEY `repo` (`repo`),
+ KEY `revision` (`revision`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_repohistory` (
+ `id` mediumint(9) NOT NULL AUTO_INCREMENT,
+ `repo` mediumint(9) NOT NULL,
+ `revision` varchar(40) NOT NULL,
+ `commit` mediumint(8) unsigned NOT NULL,
+ `comment` text NOT NULL,
+ `committer` varchar(100) NOT NULL,
+ `time` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `repo` (`repo`),
+ KEY `revision` (`revision`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_score` (
+ `id` bigint(12) unsigned NOT NULL AUTO_INCREMENT,
+ `account` varchar(30) NOT NULL,
+ `module` varchar(30) NOT NULL DEFAULT '',
+ `method` varchar(30) NOT NULL,
+ `desc` varchar(250) NOT NULL DEFAULT '',
+ `before` int(11) NOT NULL DEFAULT 0,
+ `score` int(11) NOT NULL DEFAULT 0,
+ `after` int(11) NOT NULL DEFAULT 0,
+ `time` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`),
+ KEY `model` (`module`),
+ KEY `method` (`method`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_searchdict` (
+ `key` smallint(5) unsigned NOT NULL,
+ `value` char(3) NOT NULL,
+ PRIMARY KEY (`key`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_searchindex` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `objectType` char(20) NOT NULL,
+ `objectID` mediumint(9) NOT NULL,
+ `title` text NOT NULL,
+ `content` text NOT NULL,
+ `addedDate` datetime NOT NULL,
+ `editedDate` datetime NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `object` (`objectType`,`objectID`),
+ KEY `addedDate` (`addedDate`),
+ FULLTEXT KEY `content` (`content`),
+ FULLTEXT KEY `title` (`title`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_stakeholder` (
+ `id` mediumint(8) NOT NULL AUTO_INCREMENT,
+ `objectID` mediumint(8) NOT NULL,
+ `objectType` char(30) NOT NULL,
+ `user` char(30) NOT NULL,
+ `type` char(30) NOT NULL,
+ `key` enum('0','1') NOT NULL,
+ `from` char(30) NOT NULL,
+ `createdBy` char(30) NOT NULL,
+ `createdDate` date NOT NULL,
+ `editedBy` char(30) NOT NULL,
+ `editedDate` date NOT NULL,
+ `deleted` enum('0','1') NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_story` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `parent` mediumint(9) NOT NULL DEFAULT 0,
+ `product` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `branch` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `module` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `plan` text DEFAULT NULL,
+ `source` varchar(20) NOT NULL,
+ `sourceNote` varchar(255) NOT NULL,
+ `fromBug` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `title` varchar(255) NOT NULL,
+ `keywords` varchar(255) NOT NULL,
+ `type` varchar(30) NOT NULL DEFAULT 'story',
+ `category` varchar(30) NOT NULL DEFAULT 'feature',
+ `pri` tinyint(3) unsigned NOT NULL DEFAULT 3,
+ `estimate` float unsigned NOT NULL,
+ `status` enum('','changed','active','draft','closed') NOT NULL DEFAULT '',
+ `subStatus` varchar(30) NOT NULL DEFAULT '',
+ `color` char(7) NOT NULL,
+ `stage` enum('','wait','planned','projected','developing','developed','testing','tested','verified','released','closed') NOT NULL DEFAULT 'wait',
+ `stagedBy` char(30) NOT NULL,
+ `mailto` text DEFAULT NULL,
+ `openedBy` varchar(30) NOT NULL DEFAULT '',
+ `openedDate` datetime NOT NULL,
+ `assignedTo` varchar(30) NOT NULL DEFAULT '',
+ `assignedDate` datetime NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL DEFAULT '',
+ `lastEditedDate` datetime NOT NULL,
+ `reviewedBy` varchar(255) NOT NULL,
+ `reviewedDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `closedBy` varchar(30) NOT NULL DEFAULT '',
+ `closedDate` datetime NOT NULL,
+ `closedReason` varchar(30) NOT NULL,
+ `toBug` mediumint(8) unsigned NOT NULL,
+ `childStories` varchar(255) NOT NULL,
+ `linkStories` varchar(255) NOT NULL,
+ `duplicateStory` mediumint(8) unsigned NOT NULL,
+ `version` smallint(6) NOT NULL DEFAULT 1,
+ `URChanged` enum('0','1') NOT NULL DEFAULT '0',
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `status` (`status`),
+ KEY `assignedTo` (`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_storyestimate` (
+ `story` mediumint(9) NOT NULL,
+ `round` smallint(6) NOT NULL,
+ `estimate` text NOT NULL,
+ `average` float NOT NULL,
+ `openedBy` varchar(30) NOT NULL,
+ `openedDate` datetime NOT NULL,
+ UNIQUE KEY `story` (`story`,`round`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_storyreview` (
+ `story` mediumint(9) NOT NULL,
+ `version` smallint(6) NOT NULL,
+ `reviewer` varchar(30) NOT NULL,
+ `result` varchar(30) NOT NULL,
+ `reviewDate` datetime NOT NULL,
+ UNIQUE KEY `story` (`story`,`version`,`reviewer`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_storyspec` (
+ `story` mediumint(9) NOT NULL,
+ `version` smallint(6) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `spec` text NOT NULL,
+ `verify` text NOT NULL,
+ UNIQUE KEY `story` (`story`,`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_storystage` (
+ `story` mediumint(8) unsigned NOT NULL,
+ `branch` mediumint(8) unsigned NOT NULL,
+ `stage` varchar(50) NOT NULL,
+ `stagedBy` char(30) NOT NULL,
+ UNIQUE KEY `story_branch` (`story`,`branch`),
+ KEY `story` (`story`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_suitecase` (
+ `suite` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ UNIQUE KEY `suitecase` (`suite`,`case`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_task` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `project` mediumint(8) unsigned NOT NULL,
+ `parent` mediumint(8) NOT NULL DEFAULT 0,
+ `execution` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `module` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `design` mediumint(8) unsigned NOT NULL,
+ `story` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `storyVersion` smallint(6) NOT NULL DEFAULT 1,
+ `designVersion` smallint(6) unsigned NOT NULL,
+ `fromBug` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `name` varchar(255) NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL DEFAULT 0,
+ `estimate` float unsigned NOT NULL,
+ `consumed` float unsigned NOT NULL,
+ `left` float unsigned NOT NULL,
+ `deadline` date NOT NULL,
+ `status` enum('wait','doing','done','pause','cancel','closed') NOT NULL DEFAULT 'wait',
+ `subStatus` varchar(30) NOT NULL DEFAULT '',
+ `color` char(7) NOT NULL,
+ `mailto` text DEFAULT NULL,
+ `desc` text NOT NULL,
+ `version` smallint(6) NOT NULL,
+ `openedBy` varchar(30) NOT NULL,
+ `openedDate` datetime NOT NULL,
+ `assignedTo` varchar(30) NOT NULL,
+ `assignedDate` datetime NOT NULL,
+ `estStarted` date NOT NULL,
+ `realStarted` datetime NOT NULL,
+ `finishedBy` varchar(30) NOT NULL,
+ `finishedDate` datetime NOT NULL,
+ `finishedList` text NOT NULL,
+ `canceledBy` varchar(30) NOT NULL,
+ `canceledDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL,
+ `closedDate` datetime NOT NULL,
+ `planDuration` int(11) NOT NULL,
+ `realDuration` int(11) NOT NULL,
+ `closedReason` varchar(30) NOT NULL,
+ `lastEditedBy` varchar(30) NOT NULL,
+ `lastEditedDate` datetime NOT NULL,
+ `activatedDate` date NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `execution` (`execution`),
+ KEY `story` (`story`),
+ KEY `parent` (`parent`),
+ KEY `assignedTo` (`assignedTo`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_taskestimate` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `task` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `date` date NOT NULL,
+ `left` float unsigned NOT NULL DEFAULT 0,
+ `consumed` float unsigned NOT NULL,
+ `account` char(30) NOT NULL DEFAULT '',
+ `work` text DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ KEY `task` (`task`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_taskspec` (
+ `task` mediumint(8) NOT NULL,
+ `version` smallint(6) NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `estStarted` date NOT NULL,
+ `deadline` date NOT NULL,
+ UNIQUE KEY `task` (`task`,`version`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_team` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `root` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `type` enum('project','task','execution') NOT NULL DEFAULT 'project',
+ `account` char(30) NOT NULL DEFAULT '',
+ `role` char(30) NOT NULL DEFAULT '',
+ `limited` char(8) NOT NULL DEFAULT 'no',
+ `join` date NOT NULL DEFAULT '0000-00-00',
+ `days` smallint(5) unsigned NOT NULL,
+ `hours` float(3,1) unsigned NOT NULL DEFAULT 0.0,
+ `estimate` decimal(12,2) unsigned NOT NULL DEFAULT 0.00,
+ `consumed` decimal(12,2) unsigned NOT NULL DEFAULT 0.00,
+ `left` decimal(12,2) unsigned NOT NULL DEFAULT 0.00,
+ `order` tinyint(3) NOT NULL DEFAULT 0,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `team` (`root`,`type`,`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_testreport` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `project` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `execution` mediumint(8) unsigned NOT NULL,
+ `tasks` varchar(255) NOT NULL,
+ `builds` varchar(255) NOT NULL,
+ `title` varchar(255) NOT NULL,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `owner` char(30) NOT NULL,
+ `members` text NOT NULL,
+ `stories` text NOT NULL,
+ `bugs` text NOT NULL,
+ `cases` text NOT NULL,
+ `report` text NOT NULL,
+ `objectType` varchar(20) NOT NULL,
+ `objectID` mediumint(8) unsigned NOT NULL,
+ `createdBy` char(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_testresult` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `run` mediumint(8) unsigned NOT NULL,
+ `case` mediumint(8) unsigned NOT NULL,
+ `version` smallint(5) unsigned NOT NULL,
+ `job` mediumint(8) unsigned NOT NULL,
+ `compile` mediumint(8) unsigned NOT NULL,
+ `caseResult` char(30) NOT NULL,
+ `stepResults` text NOT NULL,
+ `lastRunner` varchar(30) NOT NULL,
+ `date` datetime NOT NULL,
+ `duration` float NOT NULL,
+ `xml` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `case` (`case`),
+ KEY `version` (`version`),
+ KEY `run` (`run`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_testrun` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `task` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `case` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `version` tinyint(3) unsigned NOT NULL DEFAULT 0,
+ `assignedTo` char(30) NOT NULL DEFAULT '',
+ `lastRunner` varchar(30) NOT NULL,
+ `lastRunDate` datetime NOT NULL,
+ `lastRunResult` char(30) NOT NULL,
+ `status` char(30) NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `task` (`task`,`case`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_testsuite` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `project` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` varchar(255) NOT NULL,
+ `desc` text NOT NULL,
+ `type` varchar(20) NOT NULL,
+ `addedBy` char(30) NOT NULL,
+ `addedDate` datetime NOT NULL,
+ `lastEditedBy` char(30) NOT NULL,
+ `lastEditedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_testtask` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `project` mediumint(8) unsigned NOT NULL,
+ `product` mediumint(8) unsigned NOT NULL,
+ `name` char(90) NOT NULL,
+ `execution` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `build` char(30) NOT NULL,
+ `type` varchar(255) NOT NULL DEFAULT '',
+ `owner` varchar(30) NOT NULL,
+ `pri` tinyint(3) unsigned NOT NULL DEFAULT 0,
+ `begin` date NOT NULL,
+ `end` date NOT NULL,
+ `realFinishedDate` datetime NOT NULL,
+ `mailto` text DEFAULT NULL,
+ `desc` text NOT NULL,
+ `report` text NOT NULL,
+ `status` enum('blocked','doing','wait','done') NOT NULL DEFAULT 'wait',
+ `testreport` mediumint(8) unsigned NOT NULL,
+ `auto` varchar(10) NOT NULL DEFAULT 'no',
+ `subStatus` varchar(30) NOT NULL DEFAULT '',
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `product` (`product`),
+ KEY `build` (`build`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_todo` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `account` char(30) NOT NULL,
+ `date` date NOT NULL,
+ `begin` smallint(4) unsigned zerofill NOT NULL,
+ `end` smallint(4) unsigned zerofill NOT NULL,
+ `type` char(10) NOT NULL,
+ `cycle` tinyint(3) unsigned NOT NULL DEFAULT 0,
+ `idvalue` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `pri` tinyint(3) unsigned NOT NULL,
+ `name` char(150) NOT NULL,
+ `desc` text NOT NULL,
+ `status` enum('wait','doing','done','closed') NOT NULL DEFAULT 'wait',
+ `private` tinyint(1) NOT NULL,
+ `config` varchar(255) NOT NULL,
+ `assignedTo` varchar(30) NOT NULL DEFAULT '',
+ `assignedBy` varchar(30) NOT NULL DEFAULT '',
+ `assignedDate` datetime NOT NULL,
+ `finishedBy` varchar(30) NOT NULL DEFAULT '',
+ `finishedDate` datetime NOT NULL,
+ `closedBy` varchar(30) NOT NULL DEFAULT '',
+ `closedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`),
+ KEY `assignedTo` (`assignedTo`),
+ KEY `finishedBy` (`finishedBy`),
+ KEY `date` (`date`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_user` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `company` mediumint(8) unsigned NOT NULL,
+ `type` char(30) NOT NULL DEFAULT 'inside',
+ `dept` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `account` char(30) NOT NULL DEFAULT '',
+ `password` char(32) NOT NULL DEFAULT '',
+ `role` char(10) NOT NULL DEFAULT '',
+ `realname` varchar(100) NOT NULL DEFAULT '',
+ `nickname` char(60) NOT NULL DEFAULT '',
+ `commiter` varchar(100) NOT NULL,
+ `avatar` text NOT NULL,
+ `birthday` date NOT NULL DEFAULT '0000-00-00',
+ `gender` enum('f','m') NOT NULL DEFAULT 'f',
+ `email` char(90) NOT NULL DEFAULT '',
+ `skype` char(90) NOT NULL DEFAULT '',
+ `qq` char(20) NOT NULL DEFAULT '',
+ `mobile` char(11) NOT NULL DEFAULT '',
+ `phone` char(20) NOT NULL DEFAULT '',
+ `weixin` varchar(90) NOT NULL DEFAULT '',
+ `dingding` varchar(90) NOT NULL DEFAULT '',
+ `slack` varchar(90) NOT NULL DEFAULT '',
+ `whatsapp` varchar(90) NOT NULL DEFAULT '',
+ `address` char(120) NOT NULL DEFAULT '',
+ `zipcode` char(10) NOT NULL DEFAULT '',
+ `nature` text NOT NULL,
+ `analysis` text NOT NULL,
+ `strategy` text NOT NULL,
+ `join` date NOT NULL DEFAULT '0000-00-00',
+ `visits` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `ip` char(15) NOT NULL DEFAULT '',
+ `last` int(10) unsigned NOT NULL DEFAULT 0,
+ `fails` tinyint(5) NOT NULL DEFAULT 0,
+ `locked` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `ranzhi` char(30) NOT NULL DEFAULT '',
+ `score` int(11) NOT NULL DEFAULT 0,
+ `scoreLevel` int(11) NOT NULL DEFAULT 0,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `account` (`account`),
+ KEY `dept` (`dept`),
+ KEY `email` (`email`),
+ KEY `commiter` (`commiter`),
+ KEY `deleted` (`deleted`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_usercontact` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `account` char(30) NOT NULL,
+ `listName` varchar(60) NOT NULL,
+ `userList` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_usergroup` (
+ `account` char(30) NOT NULL DEFAULT '',
+ `group` mediumint(8) unsigned NOT NULL DEFAULT 0,
+ `project` text NOT NULL,
+ UNIQUE KEY `account` (`account`,`group`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_userquery` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `account` char(30) NOT NULL,
+ `module` varchar(30) NOT NULL,
+ `title` varchar(90) NOT NULL,
+ `form` text NOT NULL,
+ `sql` text NOT NULL,
+ `shortcut` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`),
+ KEY `module` (`module`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_usertpl` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `account` char(30) NOT NULL,
+ `type` char(30) NOT NULL,
+ `title` varchar(150) NOT NULL,
+ `content` text NOT NULL,
+ `public` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_userview` (
+ `account` char(30) NOT NULL,
+ `programs` mediumtext NOT NULL,
+ `products` mediumtext NOT NULL,
+ `projects` mediumtext NOT NULL,
+ `sprints` mediumtext NOT NULL,
+ UNIQUE KEY `account` (`account`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+CREATE TABLE `zt_webhook` (
+ `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
+ `type` varchar(15) NOT NULL DEFAULT 'default',
+ `name` varchar(50) NOT NULL,
+ `url` varchar(255) NOT NULL,
+ `domain` varchar(255) NOT NULL,
+ `secret` varchar(255) NOT NULL,
+ `contentType` varchar(30) NOT NULL DEFAULT 'application/json',
+ `sendType` enum('sync','async') NOT NULL DEFAULT 'sync',
+ `products` text NOT NULL,
+ `executions` text NOT NULL,
+ `params` varchar(100) NOT NULL,
+ `actions` text NOT NULL,
+ `desc` text NOT NULL,
+ `createdBy` varchar(30) NOT NULL,
+ `createdDate` datetime NOT NULL,
+ `editedBy` varchar(30) NOT NULL,
+ `editedDate` datetime NOT NULL,
+ `deleted` enum('0','1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
diff --git a/doc/CHANGELOG b/doc/CHANGELOG
index 651a667ff6..0750207001 100644
--- a/doc/CHANGELOG
+++ b/doc/CHANGELOG
@@ -1,3 +1,36 @@
+2021-10-12 15.6
+修复的BUG
+15263 项目文档库自定义权限问题
+15248 产品计划截至时间为当日时项目集看板不显示该计划
+15229 删除项目集,产品列表显示有问题
+15186 产品计划关联研发需求界面搜索功能按条件搜索不到
+15167 新手教程的提Bug任务没有需要输入的内容
+15143 手册中搜索的下一页链接不正确
+15089 项目集看板中未过期计划和正常发布中无数字显示
+15088 使用指令修改任务状态无效
+15065 点击完bug所属产品后再点击其他模块报错
+14983 后台-二次开发-数据库很多字段描述是空的
+14970 禅道页面加载十几秒
+14929 创建产品时不选择项目集,重新编辑时不能修改所属项目集
+14862 执行-测试-用例 页面展示了未和执行和需求相关的用例
+14851 新手教程创建项目集没有提示保存
+14785 集成gitlab时,gitlab列表不显示数据
+14748 产品提交需求界面创建计划多次点击保存会生成多条数据
+14690 新手教程语言项显示问题
+14679 等保三级扫描的pro10.1版本漏洞
+14674 普通用户帮助手册页点击下拉无响应
+14632 浏览器通知只在地盘-仪表盘页面显示,不能在任意禅道页面推送显示。
+14629 升级后下载附件提示乱码
+14607 搜索条件保存后修改条件再次搜索无效
+14594 顶级项目添加执行不能复制当前项目团队成员
+14528 从我近期参与的项目页返回后显示空白页
+14523 视野维护中移除可访问项目集后,该项目集可访问人员中没同步移除相关用户
+14487 无用php记录太多拉低禅道整体性能
+14486 需求搜索数据错误
+14018 项目集排序权限没有登记
+13907 已延期的产品添加迭代,迭代时间只能选择过去时间
+13815 项目设置权限不生效
+
2021-09-14 15.5
完成的需求
28102 在项目集中添加批量编辑项目功能
diff --git a/module/action/lang/zh-tw.php b/module/action/lang/zh-tw.php
index 6ea0a55058..e87f00e8b0 100755
--- a/module/action/lang/zh-tw.php
+++ b/module/action/lang/zh-tw.php
@@ -11,19 +11,24 @@
*/
global $config;
-$lang->action->common = '系統日誌';
-$lang->action->product = $lang->productCommon;
-$lang->action->project = '項目';
-$lang->action->execution = $lang->executionCommon;
-$lang->action->objectType = '對象類型';
-$lang->action->objectID = '對象ID';
-$lang->action->objectName = '對象名稱';
-$lang->action->actor = '操作者';
-$lang->action->action = '動作';
-$lang->action->actionID = '記錄ID';
-$lang->action->date = '日期';
-$lang->action->extra = '附加值';
-$lang->action->system = '系統';
+$lang->action->common = '系統日誌';
+$lang->action->id = '編號';
+$lang->action->product = $lang->productCommon;
+$lang->action->project = '項目';
+$lang->action->execution = $lang->executionCommon;
+$lang->action->objectType = '對象類型';
+$lang->action->objectID = '對象ID';
+$lang->action->objectName = '對象名稱';
+$lang->action->actor = '操作者';
+$lang->action->action = '動作';
+$lang->action->actionID = '記錄ID';
+$lang->action->date = '日期';
+$lang->action->extra = '附加值';
+$lang->action->system = '系統';
+$lang->action->url = '網址';
+$lang->action->contentType = '內容類型';
+$lang->action->data = '數據';
+$lang->action->result = '結果';
$lang->action->trash = '資源回收筒';
$lang->action->undelete = '還原';
diff --git a/module/block/lang/zh-tw.php b/module/block/lang/zh-tw.php
index 14c4684549..7350ddb8c9 100644
--- a/module/block/lang/zh-tw.php
+++ b/module/block/lang/zh-tw.php
@@ -12,6 +12,8 @@
global $config;
$lang->block = new stdclass();
$lang->block->common = '區塊';
+$lang->block->id = '編號';
+$lang->block->params = '參數';
$lang->block->name = '區塊名稱';
$lang->block->style = '外觀';
$lang->block->grid = '位置';
@@ -76,10 +78,6 @@ $lang->block->selectProduct = '選擇產品';
$lang->block->of = '的';
$lang->block->remain = '剩餘工時';
-$lang->block->params = new stdclass();
-$lang->block->params->name = '參數名稱';
-$lang->block->params->value = '參數值';
-
$lang->block->createBlock = '添加區塊';
$lang->block->editBlock = '編輯區塊';
$lang->block->ordersSaved = '排序已保存';
@@ -538,7 +536,7 @@ $lang->block->typeList->testtask['done'] = '已測版本';
$lang->block->typeList->testtask['all'] = '全部';
$lang->block->modules['project']->moreLinkList = new stdclass();
-$lang->block->modules['project']->moreLinkList->recentproject = 'project|browse|';
+$lang->block->modules['project']->moreLinkList->recentproject = $config->systemMode == 'new' ? 'project|browse|' : 'execution|all|';
$lang->block->modules['project']->moreLinkList->statistic = 'project|browse|';
$lang->block->modules['project']->moreLinkList->project = 'project|browse|';
$lang->block->modules['project']->moreLinkList->cmmireport = 'weekly|index|';
diff --git a/module/bug/lang/zh-tw.php b/module/bug/lang/zh-tw.php
index 4a46b999ec..423d9356c6 100644
--- a/module/bug/lang/zh-tw.php
+++ b/module/bug/lang/zh-tw.php
@@ -30,6 +30,13 @@ $lang->bug->pri = '優先順序';
$lang->bug->type = 'Bug類型';
$lang->bug->os = '操作系統';
$lang->bug->browser = '瀏覽器';
+$lang->bug->hardware = '硬件';
+$lang->bug->result = '結果';
+$lang->bug->repo = '所屬版本庫';
+$lang->bug->lines = '代碼行';
+$lang->bug->v1 = '版本1';
+$lang->bug->v2 = '版本2';
+$lang->bug->repoType = '版本庫類型';
$lang->bug->steps = '重現步驟';
$lang->bug->status = 'Bug狀態';
$lang->bug->statusAB = '狀態';
diff --git a/module/build/lang/zh-tw.php b/module/build/lang/zh-tw.php
index 9d04267975..789f918176 100644
--- a/module/build/lang/zh-tw.php
+++ b/module/build/lang/zh-tw.php
@@ -29,6 +29,7 @@ $lang->build->basicInfo = '基本信息';
$lang->build->id = 'ID';
$lang->build->product = $lang->productCommon;
+$lang->build->project = '所屬項目';
$lang->build->branch = '平台/分支';
$lang->build->execution = '所屬' . $lang->executionCommon;
$lang->build->name = '名稱編號';
@@ -37,6 +38,7 @@ $lang->build->builder = '構建者';
$lang->build->scmPath = '原始碼地址';
$lang->build->filePath = '下載地址';
$lang->build->desc = '描述';
+$lang->build->mailto = 'Mailto';
$lang->build->files = '上傳發行包';
$lang->build->last = '上個版本';
$lang->build->packageType = '包類型';
diff --git a/module/company/lang/zh-tw.php b/module/company/lang/zh-tw.php
index 7d952bea83..01d19532fb 100644
--- a/module/company/lang/zh-tw.php
+++ b/module/company/lang/zh-tw.php
@@ -18,6 +18,7 @@ $lang->company->browse = "用戶列表";
$lang->company->dynamic = "組織動態";
$lang->company->orgView = '組織視圖';
+$lang->company->id = '編號';
$lang->company->name = '公司名稱';
$lang->company->phone = '聯繫電話';
$lang->company->fax = '傳真';
@@ -27,6 +28,7 @@ $lang->company->website = '官網';
$lang->company->backyard = '內網';
$lang->company->guest = '匿名登錄';
$lang->company->admins = '管理員';
+$lang->company->deleted = '已刪除';
$lang->company->product = $lang->productCommon;
$lang->company->project = '項目';
diff --git a/module/compile/lang/zh-tw.php b/module/compile/lang/zh-tw.php
index 22a1ec0173..080e4031b5 100644
--- a/module/compile/lang/zh-tw.php
+++ b/module/compile/lang/zh-tw.php
@@ -3,13 +3,23 @@ $lang->compile->common = '構建';
$lang->compile->browse = '構建歷史';
$lang->compile->logs = '構建日誌';
-$lang->compile->id = 'ID';
-$lang->compile->name = '構建名稱';
-$lang->compile->buildType = '構建引擎';
-$lang->compile->status = '構建狀態';
-$lang->compile->time = '構建時間';
-$lang->compile->result = '構建結果';
-$lang->compile->refresh = '刷新';
+$lang->compile->id = 'ID';
+$lang->compile->name = '構建名稱';
+$lang->compile->buildType = '構建引擎';
+$lang->compile->status = '構建狀態';
+$lang->compile->time = '構建時間';
+$lang->compile->result = '構建結果';
+$lang->compile->refresh = '刷新';
+$lang->compile->job = '構建任務';
+$lang->compile->queue = '隊列';
+$lang->compile->atTime = '執行時間';
+$lang->compile->testtask = '測試單';
+$lang->compile->tag = '標籤';
+$lang->compile->times = '次數';
+$lang->compile->createdBy = '由誰創建';
+$lang->compile->createdDate = '創建日期';
+$lang->compile->updateDate = '編輯日期';
+$lang->compile->deleted = '已刪除';
$lang->compile->statusList['success'] = '成功';
$lang->compile->statusList['failure'] = '失敗';
diff --git a/module/cron/lang/zh-tw.php b/module/cron/lang/zh-tw.php
index cfd0b42981..a148839eaf 100644
--- a/module/cron/lang/zh-tw.php
+++ b/module/cron/lang/zh-tw.php
@@ -1,5 +1,7 @@
cron->common = '定時任務';
+$lang->cron->id = '編號';
+$lang->cron->buildin = '內置';
$lang->cron->index = '首頁';
$lang->cron->list = '任務列表';
$lang->cron->create = '添加';
diff --git a/module/custom/lang/en.php b/module/custom/lang/en.php
index a13260bc9c..d8495d4d54 100644
--- a/module/custom/lang/en.php
+++ b/module/custom/lang/en.php
@@ -2,7 +2,7 @@
global $config;
$lang->custom->common = 'Custom';
-$lang->custom->ID = 'ID';
+$lang->custom->id = 'ID';
$lang->custom->index = 'Home';
$lang->custom->set = 'Customize';
$lang->custom->restore = 'Reset';
diff --git a/module/custom/lang/zh-tw.php b/module/custom/lang/zh-tw.php
index ab9b9c0202..0089af9cba 100644
--- a/module/custom/lang/zh-tw.php
+++ b/module/custom/lang/zh-tw.php
@@ -2,6 +2,7 @@
global $config;
$lang->custom->common = '自定義';
+$lang->custom->id = '編號';
$lang->custom->index = '首頁';
$lang->custom->set = '自定義配置';
$lang->custom->restore = '恢復預設';
diff --git a/module/dept/lang/zh-tw.php b/module/dept/lang/zh-tw.php
index 0756702db3..2ca09b5eb7 100644
--- a/module/dept/lang/zh-tw.php
+++ b/module/dept/lang/zh-tw.php
@@ -10,6 +10,9 @@
* @link http://www.zentao.net
*/
$lang->dept->common = '部門結構';
+$lang->dept->id = '編號';
+$lang->dept->path = '路徑';
+$lang->dept->position = '職位';
$lang->dept->manageChild = "下級部門";
$lang->dept->edit = "編輯部門";
$lang->dept->delete = "刪除部門";
diff --git a/module/doc/lang/zh-tw.php b/module/doc/lang/zh-tw.php
index 7dbbc3c5f7..70e9bf911b 100644
--- a/module/doc/lang/zh-tw.php
+++ b/module/doc/lang/zh-tw.php
@@ -53,6 +53,12 @@ $lang->doc->searchResult = '搜索結果';
$lang->doc->mailto = '抄送給';
$lang->doc->noModule = '文檔庫下沒有目錄和文檔,請維護目錄或者創建文檔';
$lang->doc->noChapter = '手冊下沒有章節和文章,請維護手冊';
+$lang->doc->views = '瀏覽次數';
+$lang->doc->draft = '草稿';
+$lang->doc->collector = '收藏者';
+$lang->doc->main = '文檔主庫';
+$lang->doc->order = '排序';
+$lang->doc->doc = '文檔';
$lang->doc->moduleDoc = '按模組瀏覽';
$lang->doc->searchDoc = '搜索';
diff --git a/module/entry/lang/zh-tw.php b/module/entry/lang/zh-tw.php
index 319d75d6ee..07cab46b2f 100644
--- a/module/entry/lang/zh-tw.php
+++ b/module/entry/lang/zh-tw.php
@@ -26,6 +26,9 @@ $lang->entry->editedby = '最後編輯';
$lang->entry->editedDate = '編輯時間';
$lang->entry->date = '請求時間';
$lang->entry->url = '請求地址';
+$lang->entry->calledTime = '調用時間';
+$lang->entry->editedBy = '由誰編輯';
+$lang->entry->deleted = '已刪除';
$lang->entry->confirmDelete = '您確認要刪除該應用嗎?';
$lang->entry->help = '使用說明';
diff --git a/module/execution/lang/zh-tw.php b/module/execution/lang/zh-tw.php
index 3e375e7f9f..3ceb41611b 100644
--- a/module/execution/lang/zh-tw.php
+++ b/module/execution/lang/zh-tw.php
@@ -102,6 +102,12 @@ $lang->execution->noTeam = '暫時沒有團隊成員';
$lang->execution->or = '或';
$lang->execution->selectProject = '請選擇項目';
+/* Fields of zt_team. */
+$lang->execution->root = '源ID';
+$lang->execution->estimate = '預計';
+$lang->execution->consumed = '消耗';
+$lang->execution->left = '剩餘';
+
if($this->config->systemMode == 'new') $lang->execution->copyTeamTip = "可以選擇複製項目或{$lang->execution->common}團隊的成員";
if($this->config->systemMode == 'classic') $lang->execution->copyTeamTip = "可以選擇複製{$lang->executionCommon}團隊的成員";
@@ -315,7 +321,7 @@ if($config->systemMode == 'new') $lang->execution->copyTeamTitle = "選擇
/* 交互提示。*/
$lang->execution->confirmDelete = "您確定刪除{$lang->executionCommon}[%s]嗎?";
$lang->execution->confirmUnlinkMember = "您確定從該{$lang->executionCommon}中移除該用戶嗎?";
-$lang->execution->confirmUnlinkStory = "移除該{$lang->SRCommon}后,該{$lang->SRCommon}關联的用例将被移除,該{$lang->SRCommon}关联的任務将被取消,請確認。";
+$lang->execution->confirmUnlinkStory = "移除該{$lang->SRCommon}後,該{$lang->SRCommon}關聯的用例將被移除,該{$lang->SRCommon}關聯的任務將被取消,請確認。";
$lang->execution->confirmSyncStories = "修改所屬項目後,執行關聯的{$lang->SRCommon}是否同步到新項目中?";
$lang->execution->confirmUnlinkExecutionStory = "您確定從該項目中移除該{$lang->SRCommon}嗎?";
$lang->execution->notAllowedUnlinkStory = "該{$lang->SRCommon}已經與項目下{$lang->executionCommon}相關聯,請從{$lang->executionCommon}中移除後再操作。";
diff --git a/module/extension/lang/zh-tw.php b/module/extension/lang/zh-tw.php
index 578f2256b8..cd15001edf 100644
--- a/module/extension/lang/zh-tw.php
+++ b/module/extension/lang/zh-tw.php
@@ -10,6 +10,7 @@
* @link http://www.zentao.net
*/
$lang->extension->common = '插件管理';
+$lang->extension->id = '編號';
$lang->extension->browse = '瀏覽插件';
$lang->extension->install = '安裝插件';
$lang->extension->installAuto = '自動安裝';
diff --git a/module/file/lang/zh-tw.php b/module/file/lang/zh-tw.php
index 8243981fd1..52768a7be0 100644
--- a/module/file/lang/zh-tw.php
+++ b/module/file/lang/zh-tw.php
@@ -11,6 +11,10 @@
*/
$lang->file = new stdclass();
$lang->file->common = '附件';
+$lang->file->id = '編號';
+$lang->file->objectType = '對象類型';
+$lang->file->objectID = '對象ID';
+$lang->file->deleted = '已刪除';
$lang->file->uploadImages = '多圖上傳';
$lang->file->download = '下載附件';
$lang->file->uploadDate = '上傳時間:';
diff --git a/module/group/lang/zh-tw.php b/module/group/lang/zh-tw.php
index b6ba8a9d8e..30f516603a 100644
--- a/module/group/lang/zh-tw.php
+++ b/module/group/lang/zh-tw.php
@@ -34,6 +34,8 @@ $lang->group->dynamic = '可查看動態';
$lang->group->noticeVisit = '空代表沒有訪問限制';
$lang->group->noneProgram = "暫時沒有項目集";
$lang->group->noneProduct = "暫時沒有{$lang->productCommon}";
+$lang->group->project = '項目';
+$lang->group->group = '分組';
global $config;
if($config->systemMode == 'new') $lang->group->noneProject = '暫時沒有項目';
diff --git a/module/install/lang/zh-tw.php b/module/install/lang/zh-tw.php
index fef154d534..95c7cdb242 100644
--- a/module/install/lang/zh-tw.php
+++ b/module/install/lang/zh-tw.php
@@ -58,7 +58,7 @@ $lang->install->introductionContent = <<項目用來組織相應的人力進行研發,做好項目過程的跟蹤管理,多快好省地完成項目。
-
執行
+
執行
執行用來做任務的分解、指派和跟蹤,保證項目目標可以落實到人來執行。
diff --git a/module/job/lang/zh-tw.php b/module/job/lang/zh-tw.php
index 511f29f58a..37bbc7aee2 100644
--- a/module/job/lang/zh-tw.php
+++ b/module/job/lang/zh-tw.php
@@ -38,6 +38,12 @@ $lang->job->customParam = '自定義構建參數';
$lang->job->paramName = '名稱';
$lang->job->paramValue = '值';
$lang->job->custom = '自定義';
+$lang->job->createdBy = '由誰創建';
+$lang->job->createdDate = '創建日期';
+$lang->job->editedBy = '由誰編輯';
+$lang->job->editedDate = '編輯日期';
+$lang->job->lastTag = '最後標籤';
+$lang->job->deleted = '已刪除';
$lang->job->lblBasic = '基本信息';
diff --git a/module/misc/lang/en.php b/module/misc/lang/en.php
index 3052954edb..1e55e0183b 100644
--- a/module/misc/lang/en.php
+++ b/module/misc/lang/en.php
@@ -92,6 +92,7 @@ $lang->misc->feature->downloadFile = 'Download introduction';
$lang->misc->feature->tutorialDesc = 'ZenTao 15.0 has new functions, and you know how to use it through the "Tutorial".
Click your [Avatar-Theme-Young Blue] to set it.
';
$lang->misc->feature->themeDesc = 'ZenTao 15.0+ a new "Youth Blue" theme, the pages are more beautiful and the experience is more friendly.
Click your [Avatar-Theme-Young Blue] to set it.
';
+$lang->misc->releaseDate['15.6'] = '2021-10-12';
$lang->misc->releaseDate['15.5'] = '2021-09-14';
$lang->misc->releaseDate['15.4'] = '2021-08-23';
$lang->misc->releaseDate['15.3'] = '2021-08-04';
@@ -157,6 +158,7 @@ $lang->misc->releaseDate['7.2.stable'] = '2015-05-22';
$lang->misc->releaseDate['7.1.stable'] = '2015-03-07';
$lang->misc->releaseDate['6.3.stable'] = '2014-11-07';
+$lang->misc->feature->all['15.6'][] = array('title' => 'Fix bug.', 'desc' => '');
$lang->misc->feature->all['15.5'][] = array('title' => 'Add Program / Product / Project Kanban, global addition function and novice guidance. Fix bug.', 'desc' => '');
$lang->misc->feature->all['15.4'][] = array('title' => 'Fix bug', 'desc' => '');
$lang->misc->feature->all['15.3'][] = array('title' => 'Adjust interface style and document, fix bug', 'desc' => '');
diff --git a/module/misc/lang/zh-cn.php b/module/misc/lang/zh-cn.php
index 6dbd7b4d96..872c8ce62d 100644
--- a/module/misc/lang/zh-cn.php
+++ b/module/misc/lang/zh-cn.php
@@ -92,6 +92,7 @@ $lang->misc->feature->downloadFile = '下载新版本功能介绍文档';
$lang->misc->feature->tutorialDesc = "禅道15系列新增了多项功能,您可以通过“新手引导教程”快速了解禅道的基本使用方法。
通过鼠标经过 [头像-新手引导],点击新手引导,即可进入新手引导教程。
";
$lang->misc->feature->themeDesc = "禅道15系列上线了全新的“青春蓝”主题,页面呈现更加美观,体验更加友好。
通过鼠标经过 [头像-主题-青春蓝],点击青春蓝,即可设置成功。
";
+$lang->misc->releaseDate['15.6'] = '2021-10-12';
$lang->misc->releaseDate['15.5'] = '2021-09-14';
$lang->misc->releaseDate['15.4'] = '2021-08-23';
$lang->misc->releaseDate['15.3'] = '2021-08-04';
@@ -157,6 +158,7 @@ $lang->misc->releaseDate['7.2.stable'] = '2015-05-22';
$lang->misc->releaseDate['7.1.stable'] = '2015-03-07';
$lang->misc->releaseDate['6.3.stable'] = '2014-11-07';
+$lang->misc->feature->all['15.6'][] = array('title' => '修复Bug。', 'desc' => '');
$lang->misc->feature->all['15.5'][] = array('title' => '增加项目集/产品/项目看板视图、全局添加功能、新手引导。 修复Bug。', 'desc' => '');
$lang->misc->feature->all['15.4'][] = array('title' => '修复Bug', 'desc' => '');
$lang->misc->feature->all['15.3'][] = array('title' => '实现界面风格改动和文档优化,修复Bug', 'desc' => '');
diff --git a/module/misc/lang/zh-tw.php b/module/misc/lang/zh-tw.php
index 773192f3fb..ff67cdf2c4 100644
--- a/module/misc/lang/zh-tw.php
+++ b/module/misc/lang/zh-tw.php
@@ -92,6 +92,7 @@ $lang->misc->feature->downloadFile = '下載新版本功能介紹文檔';
$lang->misc->feature->tutorialDesc = "禪道15系列新增了多項功能,您可以通過“新手引導教程”快速瞭解禪道的基本使用方法。
通過滑鼠經過 [頭像-新手引導],點擊新手引導,即可進入新手引導教程。
";
$lang->misc->feature->themeDesc = "禪道15系列上線了全新的“青春藍”主題,頁面呈現更加美觀,體驗更加友好。
通過滑鼠經過 [頭像-主題-青春藍],點擊青春藍,即可設置成功。
";
+$lang->misc->releaseDate['15.6'] = '2021-10-12';
$lang->misc->releaseDate['15.5'] = '2021-09-14';
$lang->misc->releaseDate['15.4'] = '2021-08-23';
$lang->misc->releaseDate['15.3'] = '2021-08-04';
@@ -157,6 +158,7 @@ $lang->misc->releaseDate['7.2.stable'] = '2015-05-22';
$lang->misc->releaseDate['7.1.stable'] = '2015-03-07';
$lang->misc->releaseDate['6.3.stable'] = '2014-11-07';
+$lang->misc->feature->all['15.6'][] = array('title' => '修復Bug。', 'desc' => '');
$lang->misc->feature->all['15.5'][] = array('title' => '增加項目集/產品/項目看板視圖、全局添加功能、新手引導。 修復Bug。', 'desc' => '');
$lang->misc->feature->all['15.4'][] = array('title' => '修復Bug', 'desc' => '');
$lang->misc->feature->all['15.3'][] = array('title' => '實現界面風格改動和文檔優化,修復Bug', 'desc' => '');
diff --git a/module/product/lang/zh-tw.php b/module/product/lang/zh-tw.php
index a4e9b92f9a..d38278c7d2 100644
--- a/module/product/lang/zh-tw.php
+++ b/module/product/lang/zh-tw.php
@@ -93,6 +93,7 @@ $lang->product->code = "{$lang->productCommon}代號";
$lang->product->line = "{$lang->productCommon}綫";
$lang->product->lineName = "{$lang->productCommon}綫名稱";
$lang->product->order = '排序';
+$lang->product->bind = '是否獨立產品';
$lang->product->type = "{$lang->productCommon}類型";
$lang->product->typeAB = "類型";
$lang->product->status = '狀態';
@@ -102,6 +103,7 @@ $lang->product->manager = '負責人';
$lang->product->PO = "{$lang->productCommon}負責人";
$lang->product->QD = '測試負責人';
$lang->product->RD = '發佈負責人';
+$lang->product->feedback = '反饋負責人';
$lang->product->acl = '訪問控制';
$lang->product->whitelist = '白名單';
$lang->product->branch = '所屬%s';
@@ -116,6 +118,8 @@ $lang->product->iterationInfo = '迭代 %s 次';
$lang->product->iterationView = '查看詳情';
$lang->product->createdBy = '由誰創建';
$lang->product->createdDate = '創建日期';
+$lang->product->createdVersion = '創建版本';
+$lang->product->mailto = '抄送給';
$lang->product->searchStory = '搜索';
$lang->product->assignedToMe = '指給我';
diff --git a/module/productplan/lang/zh-tw.php b/module/productplan/lang/zh-tw.php
index 6f0c41c414..e42e7db0af 100644
--- a/module/productplan/lang/zh-tw.php
+++ b/module/productplan/lang/zh-tw.php
@@ -67,6 +67,7 @@ $lang->productplan->children = "子計劃";
$lang->productplan->childrenAB = "子";
$lang->productplan->order = "排序";
$lang->productplan->deleted = "已刪除";
+$lang->productplan->mailto = "抄送給";
$lang->productplan->endList[7] = '一星期';
$lang->productplan->endList[14] = '兩星期';
diff --git a/module/program/lang/zh-tw.php b/module/program/lang/zh-tw.php
index e88ce0670d..98e15aaaa2 100644
--- a/module/program/lang/zh-tw.php
+++ b/module/program/lang/zh-tw.php
@@ -85,7 +85,7 @@ $lang->program->beginGreateChild = "子項目集的最小開始日期:%s,
$lang->program->endLetterChild = "子項目的最大完成日期:%s,父項目的完成日期不能小於子項目的最大完成日期";
$lang->program->closeErrorMessage = '存在子項目集或項目為未關閉狀態';
$lang->program->hasChildren = '該項目集有子項目集或項目存在,不能刪除。';
-$lang->program->hasChildren = '該項目集有產品存在,不能刪除。';
+$lang->program->hasProduct = '該項目集有產品存在,不能刪除。';
$lang->program->confirmDelete = "您確定要刪除嗎?";
$lang->program->readjustTime = '重新調整項目集起止時間';
$lang->program->accessDenied = '你無權訪問該項目集';
diff --git a/module/project/lang/en.php b/module/project/lang/en.php
index 2f9bb44c73..dc574d6ebf 100644
--- a/module/project/lang/en.php
+++ b/module/project/lang/en.php
@@ -82,7 +82,6 @@ $lang->project->milestone = 'Milestone';
$lang->project->output = 'Output';
$lang->project->path = 'Path';
$lang->project->grade = 'Grade';
-$lang->project->statge = '';
$lang->project->version = 'Version';
$lang->project->parentVersion = 'Parent Version';
$lang->project->planDuration = 'Plan Duration';
@@ -90,9 +89,9 @@ $lang->project->realDuration = 'Real Duration';
$lang->project->openedVersion = 'Opened Version';
$lang->project->pri = 'Priority';
$lang->project->openedBy = 'OpenedBy';
+$lang->project->openedDate = 'OpenedDate';
$lang->project->lastEditedBy = 'Last EditedBy';
$lang->project->lastEditedDate = 'Last EditedDate';
-$lang->project->openedDate = 'OpenedDate';
$lang->project->closedBy = 'ClosedBy';
$lang->project->closedDate = 'ClosedDate';
$lang->project->canceledBy = 'CanceledBy';
diff --git a/module/project/lang/zh-tw.php b/module/project/lang/zh-tw.php
index 7277906acf..818e72330f 100644
--- a/module/project/lang/zh-tw.php
+++ b/module/project/lang/zh-tw.php
@@ -58,6 +58,7 @@ $lang->project->copyTeamTitle = '選擇一個項目團隊來複制';
/* Fields. */
$lang->project->common = '項目';
$lang->project->id = '項目編號';
+$lang->project->project = '所屬項目';
$lang->project->stage = '階段';
$lang->project->model = '項目管理方式';
$lang->project->PM = '負責人';
@@ -74,9 +75,23 @@ $lang->project->end = '計劃完成';
$lang->project->status = '狀態';
$lang->project->subStatus = '子狀態';
$lang->project->type = '項目類型';
+$lang->project->lifetime = '項目周期';
+$lang->project->attribute = '階段類型';
+$lang->project->percent = '工作量占比';
+$lang->project->milestone = '里程碑';
+$lang->project->output = '輸出';
+$lang->project->path = '路徑';
+$lang->project->grade = '層級';
+$lang->project->version = '版本';
+$lang->project->parentVersion = '父版本';
+$lang->project->planDuration = '計劃周期天數';
+$lang->project->realDuration = '實際周期天數';
+$lang->project->openedVersion = '創建版本';
$lang->project->pri = '優先順序';
$lang->project->openedBy = '由誰創建';
$lang->project->openedDate = '創建日期';
+$lang->project->lastEditedBy = '最後編輯人';
+$lang->project->lastEditedDate = '最後編輯日期';
$lang->project->closedBy = '由誰關閉';
$lang->project->closedDate = '關閉日期';
$lang->project->canceledBy = '由誰取消';
@@ -132,7 +147,11 @@ $lang->project->longTime = '長期';
$lang->project->future = '待定';
$lang->project->moreProject = '更多項目';
$lang->project->days = '可用工作日';
+$lang->project->mailto = '抄送給';
$lang->project->etc = "等";
+$lang->project->product = '所屬產品';
+$lang->project->branch = '所屬分支';
+$lang->project->plan = '所屬計劃';
/* Project Kanban. */
$lang->project->typeList = array();
diff --git a/module/projectstory/lang/zh-tw.php b/module/projectstory/lang/zh-tw.php
index 658e7d20a9..7f678d39cd 100644
--- a/module/projectstory/lang/zh-tw.php
+++ b/module/projectstory/lang/zh-tw.php
@@ -1,5 +1,11 @@
projectstory->project = "項目ID";
+$lang->projectstory->product = "產品ID";
+$lang->projectstory->story = "需求ID";
+$lang->projectstory->version = "版本";
+$lang->projectstory->order = "排序";
+
$lang->projectstory->common = "項目{$lang->SRCommon}";
$lang->projectstory->index = "{$lang->SRCommon}主頁";
$lang->projectstory->view = "{$lang->SRCommon}詳情";
diff --git a/module/repo/lang/zh-tw.php b/module/repo/lang/zh-tw.php
index 36698a32df..acb01d2133 100644
--- a/module/repo/lang/zh-tw.php
+++ b/module/repo/lang/zh-tw.php
@@ -19,6 +19,10 @@ $lang->repo->deleteBug = '刪除評審';
$lang->repo->addComment = '添加備註';
$lang->repo->editComment = '編輯備註';
$lang->repo->deleteComment = '刪除備註';
+$lang->repo->encrypt = '加密方式';
+$lang->repo->repo = '代碼庫';
+$lang->repo->parent = '父檔案夾';
+$lang->repo->branch = '分支';
$lang->repo->browseAction = '瀏覽版本庫';
$lang->repo->createAction = '創建版本庫';
diff --git a/module/search/lang/zh-tw.php b/module/search/lang/zh-tw.php
index 443bb0a3e0..9e7280d345 100644
--- a/module/search/lang/zh-tw.php
+++ b/module/search/lang/zh-tw.php
@@ -10,6 +10,10 @@
* @link http://www.zentao.net
*/
$lang->search->common = '搜索';
+$lang->search->id = '編號';
+$lang->search->editedDate = '編輯時間';
+$lang->search->key = '鍵';
+$lang->search->value = '值';
$lang->search->reset = '重置';
$lang->search->saveQuery = '保存查詢';
$lang->search->myQuery = '我的查詢';
diff --git a/module/story/lang/zh-tw.php b/module/story/lang/zh-tw.php
index 320f50741e..a71dd8030a 100644
--- a/module/story/lang/zh-tw.php
+++ b/module/story/lang/zh-tw.php
@@ -98,6 +98,7 @@ $lang->story->source = "來源";
$lang->story->sourceNote = '來源備註';
$lang->story->fromBug = '來源Bug';
$lang->story->title = "{$lang->SRCommon}名稱";
+$lang->story->type = "需求類型";
$lang->story->category = "類型";
$lang->story->color = '標題顏色';
$lang->story->toBug = '轉Bug';
diff --git a/module/task/lang/en.php b/module/task/lang/en.php
index 31435a1189..7a952a19a9 100644
--- a/module/task/lang/en.php
+++ b/module/task/lang/en.php
@@ -58,8 +58,8 @@ $lang->task->id = 'ID';
$lang->task->project = 'Project';
$lang->task->execution = $lang->executionCommon;
$lang->task->module = 'Module';
-$lang->task->design = 'Design';
$lang->task->moduleAB = 'Module';
+$lang->task->design = 'Design';
$lang->task->story = 'Story';
$lang->task->storyAB = 'Story';
$lang->task->storySpec = 'Story Description';
@@ -98,6 +98,7 @@ $lang->task->estimateStartDate = 'Estimate Start Date';
$lang->task->actualStartDate = 'Actual Start Date';
$lang->task->planDuration = 'Plan Duration';
$lang->task->realDuration = 'Real Duration';
+$lang->task->version = 'Version';
$lang->task->assign = 'Assign';
$lang->task->assignAction = 'Assign Task';
$lang->task->assignTo = $lang->task->assign;
@@ -105,10 +106,10 @@ $lang->task->batchAssignTo = 'Batch Assign';
$lang->task->assignedTo = 'AssignTo';
$lang->task->assignedToAB = 'AssignedTo';
$lang->task->assignedDate = 'AssignedDate';
-$lang->task->activatedDate = 'Activated Date';
$lang->task->openedBy = 'CreatedBy';
$lang->task->openedDate = 'CreatedDate';
$lang->task->openedDateAB = 'CreatedOn';
+$lang->task->activatedDate = 'Activated Date';
$lang->task->finishedBy = 'FinishedBy';
$lang->task->finishedByAB = 'FinishedBy';
$lang->task->finishedDate = 'ActualFinished';
diff --git a/module/task/lang/zh-tw.php b/module/task/lang/zh-tw.php
index 31e83968d9..7abb28a0cb 100644
--- a/module/task/lang/zh-tw.php
+++ b/module/task/lang/zh-tw.php
@@ -53,85 +53,99 @@ $lang->task->copy = '複製任務';
$lang->task->waitTask = '未開始的任務';
$lang->task->allModule = '所有模組';
-$lang->task->common = '任務';
-$lang->task->id = '編號';
-$lang->task->project = '所屬項目';
-$lang->task->execution = '所屬' . $lang->execution->common;
-$lang->task->module = '所屬模組';
-$lang->task->moduleAB = '模組';
-$lang->task->story = "相關{$lang->SRCommon}";
-$lang->task->storyAB = $lang->SRCommon;
-$lang->task->storySpec = "{$lang->SRCommon}描述";
-$lang->task->storyVerify = '驗收標準';
-$lang->task->storyVersion = "{$lang->SRCommon}版本";
-$lang->task->color = '標題顏色';
-$lang->task->name = '任務名稱';
-$lang->task->type = '任務類型';
-$lang->task->typeAB = '類型';
-$lang->task->sync2Gitlab = '同步到Gitlab';
-$lang->task->pri = '優先順序';
-$lang->task->mailto = '抄送給';
-$lang->task->estimate = '最初預計';
-$lang->task->estimateAB = '預計';
-$lang->task->left = '預計剩餘';
-$lang->task->leftAB = '剩餘';
-$lang->task->consumed = '總計消耗';
-$lang->task->currentConsumed = '本次消耗';
-$lang->task->myConsumed = '我的總消耗';
-$lang->task->consumedAB = '消耗';
-$lang->task->hour = '小時';
-$lang->task->consumedThisTime = '工時';
-$lang->task->leftThisTime = '剩餘';
-$lang->task->datePlan = '日程規劃';
-$lang->task->estStarted = '預計開始';
-$lang->task->realStarted = '實際開始';
-$lang->task->date = '日期';
-$lang->task->deadline = '截止日期';
-$lang->task->deadlineAB = '截止';
-$lang->task->status = '任務狀態';
-$lang->task->subStatus = '子狀態';
-$lang->task->desc = '任務描述';
-$lang->task->assign = '指派';
-$lang->task->assignAction = '指派任務';
-$lang->task->assignTo = $lang->task->assign;
-$lang->task->batchAssignTo = '批量指派';
-$lang->task->assignedTo = '指派給';
-$lang->task->assignedToAB = '指派給';
-$lang->task->assignedDate = '指派日期';
-$lang->task->openedBy = '由誰創建';
-$lang->task->openedDate = '創建日期';
-$lang->task->openedDateAB = '創建';
-$lang->task->finishedBy = '由誰完成';
-$lang->task->finishedByAB = '完成者';
-$lang->task->finishedDate = '實際完成';
-$lang->task->finishedDateAB = '實際完成';
-$lang->task->finishedList = '完成者列表';
-$lang->task->canceledBy = '由誰取消';
-$lang->task->canceledDate = '取消時間';
-$lang->task->closedBy = '由誰關閉';
-$lang->task->closedDate = '關閉時間';
-$lang->task->closedReason = '關閉原因';
-$lang->task->lastEditedBy = '最後修改';
-$lang->task->lastEditedDate = '最後修改日期';
-$lang->task->lastEdited = '最後編輯';
-$lang->task->recordEstimate = '工時';
-$lang->task->editEstimate = '編輯工時';
-$lang->task->deleteEstimate = '刪除工時';
-$lang->task->colorTag = '顏色標籤';
-$lang->task->files = '附件';
-$lang->task->hasConsumed = '之前消耗';
-$lang->task->multiple = '多人任務';
-$lang->task->multipleAB = '多人';
-$lang->task->team = '團隊';
-$lang->task->transfer = '轉交';
-$lang->task->transferTo = '轉交給';
-$lang->task->children = '子任務';
-$lang->task->childrenAB = '子';
-$lang->task->parent = '父任務';
-$lang->task->parentAB = '父';
-$lang->task->lblPri = 'P';
-$lang->task->lblHour = '(h)';
-$lang->task->lblTestStory = "測試{$lang->SRCommon}";
+$lang->task->common = '任務';
+$lang->task->id = '編號';
+$lang->task->project = '所屬項目';
+$lang->task->execution = '所屬' . $lang->execution->common;
+$lang->task->module = '所屬模組';
+$lang->task->moduleAB = '模組';
+$lang->task->design = '相關設計';
+$lang->task->story = "相關{$lang->SRCommon}";
+$lang->task->storyAB = $lang->SRCommon;
+$lang->task->storySpec = "{$lang->SRCommon}描述";
+$lang->task->storyVerify = '驗收標準';
+$lang->task->storyVersion = "{$lang->SRCommon}版本";
+$lang->task->designVersion = "設計版本";
+$lang->task->color = '標題顏色';
+$lang->task->name = '任務名稱';
+$lang->task->type = '任務類型';
+$lang->task->typeAB = '類型';
+$lang->task->sync2Gitlab = '同步到Gitlab';
+$lang->task->pri = '優先順序';
+$lang->task->mailto = '抄送給';
+$lang->task->estimate = '最初預計';
+$lang->task->estimateAB = '預計';
+$lang->task->left = '預計剩餘';
+$lang->task->leftAB = '剩餘';
+$lang->task->consumed = '總計消耗';
+$lang->task->currentConsumed = '本次消耗';
+$lang->task->myConsumed = '我的總消耗';
+$lang->task->consumedAB = '消耗';
+$lang->task->hour = '小時';
+$lang->task->consumedThisTime = '工時';
+$lang->task->leftThisTime = '剩餘';
+$lang->task->datePlan = '日程規劃';
+$lang->task->estStarted = '預計開始';
+$lang->task->realStarted = '實際開始';
+$lang->task->date = '日期';
+$lang->task->deadline = '截止日期';
+$lang->task->deadlineAB = '截止';
+$lang->task->status = '任務狀態';
+$lang->task->subStatus = '子狀態';
+$lang->task->desc = '任務描述';
+$lang->task->version = '版本';
+$lang->task->estimateStartDate = '預計開始日期';
+$lang->task->actualStartDate = '實際開始日期';
+$lang->task->planDuration = '計劃持續天數';
+$lang->task->realDuration = '實際持續天數';
+$lang->task->version = '版本';
+$lang->task->assign = '指派';
+$lang->task->assignAction = '指派任務';
+$lang->task->assignTo = $lang->task->assign;
+$lang->task->batchAssignTo = '批量指派';
+$lang->task->assignedTo = '指派給';
+$lang->task->assignedToAB = '指派給';
+$lang->task->assignedDate = '指派日期';
+$lang->task->openedBy = '由誰創建';
+$lang->task->openedDate = '創建日期';
+$lang->task->openedDateAB = '創建';
+$lang->task->activatedDate = '激活日期';
+$lang->task->finishedBy = '由誰完成';
+$lang->task->finishedByAB = '完成者';
+$lang->task->finishedDate = '實際完成';
+$lang->task->finishedDateAB = '實際完成';
+$lang->task->finishedList = '完成者列表';
+$lang->task->canceledBy = '由誰取消';
+$lang->task->canceledDate = '取消時間';
+$lang->task->closedBy = '由誰關閉';
+$lang->task->closedDate = '關閉時間';
+$lang->task->closedReason = '關閉原因';
+$lang->task->lastEditedBy = '最後修改';
+$lang->task->lastEditedDate = '最後修改日期';
+$lang->task->lastEdited = '最後編輯';
+$lang->task->recordEstimate = '工時';
+$lang->task->editEstimate = '編輯工時';
+$lang->task->deleteEstimate = '刪除工時';
+$lang->task->colorTag = '顏色標籤';
+$lang->task->files = '附件';
+$lang->task->hasConsumed = '之前消耗';
+$lang->task->multiple = '多人任務';
+$lang->task->multipleAB = '多人';
+$lang->task->team = '團隊';
+$lang->task->transfer = '轉交';
+$lang->task->transferTo = '轉交給';
+$lang->task->children = '子任務';
+$lang->task->childrenAB = '子';
+$lang->task->parent = '父任務';
+$lang->task->parentAB = '父';
+$lang->task->lblPri = 'P';
+$lang->task->lblHour = '(h)';
+$lang->task->lblTestStory = "測試{$lang->SRCommon}";
+
+/* Fields of zt_taskestimate. */
+$lang->task->task = '任務';
+$lang->task->account = '用戶名';
+$lang->task->work = '工作內容';
$lang->task->recordEstimateAction = '添加工時';
diff --git a/module/testcase/lang/zh-tw.php b/module/testcase/lang/zh-tw.php
index f37e3e7e91..789d7f5cb9 100644
--- a/module/testcase/lang/zh-tw.php
+++ b/module/testcase/lang/zh-tw.php
@@ -11,7 +11,14 @@
*/
$lang->testcase->id = '用例編號';
$lang->testcase->product = "所屬{$lang->productCommon}";
+$lang->testcase->project = '所屬項目';
+$lang->testcase->execution = '所屬執行';
$lang->testcase->module = '所屬模組';
+$lang->testcase->auto = '自動化測試用例';
+$lang->testcase->frame = '自動化測試框架';
+$lang->testcase->howRun = '測試方式';
+$lang->testcase->frequency = '使用頻率';
+$lang->testcase->path = '路徑';
$lang->testcase->lib = "所屬庫";
$lang->testcase->branch = "分支/平台";
$lang->testcase->moduleAB = '模組';
@@ -37,6 +44,10 @@ $lang->testcase->linkCase = '相關用例';
$lang->testcase->linkCases = '關聯相關用例';
$lang->testcase->unlinkCase = '移除相關用例';
$lang->testcase->stage = '適用階段';
+$lang->testcase->scriptedBy = '腳本由誰創建';
+$lang->testcase->scriptedDate = '腳本創建日期';
+$lang->testcase->scriptStatus = '腳本狀態';
+$lang->testcase->scriptLocation = '腳本地址';
$lang->testcase->reviewedBy = '由誰評審';
$lang->testcase->reviewedDate = '評審時間';
$lang->testcase->reviewResult = '評審結果';
@@ -54,6 +65,7 @@ $lang->testcase->assignedTo = '指派給';
$lang->testcase->colorTag = '顏色標籤';
$lang->testcase->lastRunResult = '結果';
$lang->testcase->desc = '步驟';
+$lang->testcase->parent = '上級步驟';
$lang->testcase->xml = 'XML';
$lang->testcase->expect = '預期';
$lang->testcase->allProduct = "所有{$lang->productCommon}";
@@ -73,8 +85,12 @@ $lang->testcase->sync = '同步';
$lang->testcase->ignore = '忽略';
$lang->testcase->fromTesttask = '來自測試單用例';
$lang->testcase->fromCaselib = '來自用例庫用例';
+$lang->testcase->fromCaseID = '用例來源ID';
+$lang->testcase->fromCaseVersion = '用例來源版本';
+$lang->testcase->mailto = '抄送給';
$lang->testcase->deleted = '是否刪除';
$lang->testcase->browseUnits = '單元測試';
+$lang->testcase->suite = '套件';
$lang->case = $lang->testcase; // 用於DAO檢查時使用。因為case是系統關鍵字,所以無法定義該模組為case,只能使用testcase,但表還是使用的case。
diff --git a/module/testreport/lang/zh-tw.php b/module/testreport/lang/zh-tw.php
index 28755b6f35..1a2fc60d67 100644
--- a/module/testreport/lang/zh-tw.php
+++ b/module/testreport/lang/zh-tw.php
@@ -1,5 +1,6 @@
testreport->common = '測試報告';
+$lang->testreport->id = '編號';
$lang->testreport->browse = '報告列表';
$lang->testreport->create = '創建報告';
$lang->testreport->edit = '編輯報告';
diff --git a/module/testsuite/lang/en.php b/module/testsuite/lang/en.php
index 3ce7e271e6..0b64a3e23d 100644
--- a/module/testsuite/lang/en.php
+++ b/module/testsuite/lang/en.php
@@ -26,7 +26,6 @@ $lang->testsuite->successSaved = 'Saved';
$lang->testsuite->id = 'ID';
$lang->testsuite->common = 'Test Suite';
$lang->testsuite->project = 'Project';
-$lang->testsuite->suite = 'Test Suite';
$lang->testsuite->product = $lang->productCommon;
$lang->testsuite->name = 'Name';
$lang->testsuite->type = 'Type';
diff --git a/module/testsuite/lang/zh-tw.php b/module/testsuite/lang/zh-tw.php
index 44e345f2f2..2ce0b38183 100644
--- a/module/testsuite/lang/zh-tw.php
+++ b/module/testsuite/lang/zh-tw.php
@@ -25,10 +25,12 @@ $lang->testsuite->successSaved = '保存成功';
$lang->testsuite->id = '編號';
$lang->testsuite->common = '套件';
+$lang->testsuite->project = '所屬項目';
$lang->testsuite->product = '所屬' . $lang->productCommon;
$lang->testsuite->name = '名稱';
$lang->testsuite->type = '類型';
$lang->testsuite->desc = '描述';
+$lang->testsuite->mailto = '抄送給';
$lang->testsuite->author = '訪問權限';
$lang->testsuite->addedBy = '由誰創建';
$lang->testsuite->addedDate = '創建時間';
diff --git a/module/testtask/lang/zh-tw.php b/module/testtask/lang/zh-tw.php
index 38fb65d520..379b8a88c8 100644
--- a/module/testtask/lang/zh-tw.php
+++ b/module/testtask/lang/zh-tw.php
@@ -47,6 +47,12 @@ $lang->testtask->all = "全部" . $lang->productCommon;
$lang->testtask->allTasks = '所有測試';
$lang->testtask->collapseAll = '全部摺疊';
$lang->testtask->expandAll = '全部展開';
+$lang->testtask->auto = '自動化';
+$lang->testtask->task = '測試單';
+$lang->testtask->run = '執行編號';
+$lang->testtask->job = '構建任務';
+$lang->testtask->compile = '構建';
+$lang->testtask->duration = '持續時間';
$lang->testtask->viewAction = "測試單概況";
$lang->testtask->casesAction = '查看用例';
diff --git a/module/todo/lang/zh-tw.php b/module/todo/lang/zh-tw.php
index 3a354cf692..ae09ab15b9 100644
--- a/module/todo/lang/zh-tw.php
+++ b/module/todo/lang/zh-tw.php
@@ -56,6 +56,7 @@ $lang->todo->pri = '優先順序';
$lang->todo->name = '待辦名稱';
$lang->todo->status = '狀態';
$lang->todo->desc = '描述';
+$lang->todo->config = '配置';
$lang->todo->private = '私人事務';
$lang->todo->cycleDay = '天';
$lang->todo->cycleWeek = '周';
diff --git a/module/tutorial/lang/zh-tw.php b/module/tutorial/lang/zh-tw.php
index e11059ab03..e926425113 100644
--- a/module/tutorial/lang/zh-tw.php
+++ b/module/tutorial/lang/zh-tw.php
@@ -52,25 +52,25 @@ $lang->tutorial->tasks['createStory'] = array('title' => "創建{$lang->
$lang->tutorial->tasks['createStory']['nav'] = array('app' => 'product', 'module' => 'story', 'method' => 'create', 'menuModule' => 'story', 'menu' => '#productTableList>tr:not(.has-nest-child):first>.c-name>a,#heading>.header-btn:first,#navbar>.nav>li[data-id="all"],.create-story-btn', 'target' => '.create-story-btn', 'form' => '#dataform', 'submit' => '#submit', 'targetPageName' => "提{$lang->SRCommon}");
$lang->tutorial->tasks['createStory']['desc'] = "在系統創建一個新的{$lang->SRCommon}:
- 打開 {$lang->productCommon} {$lang->SRCommon} 提{$lang->SRCommon} 頁面;
- 在{$lang->productCommon}表單中填寫要創建的{$lang->SRCommon}信息;
- 保存{$lang->SRCommon}信息。
";
-$lang->tutorial->tasks['createProject'] = array('title' => '創建' . $lang->projectCommon);
+$lang->tutorial->tasks['createProject'] = array('title' => '創建項目');
$lang->tutorial->tasks['createProject']['mode'] = 'new';
-$lang->tutorial->tasks['createProject']['nav'] = array('app' => 'project', 'module' => 'project', 'method' => 'create', 'menuModule' => 'browse', 'menu' => '', 'form' => '#dataform', 'submit' => '#submit', 'target' => '.create-project-btn', 'targetPageName' => '添加' . $lang->projectCommon);
-$lang->tutorial->tasks['createProject']['desc'] = "在系統創建一個新的{$lang->projectCommon}:
- 打開 {$lang->projectCommon} {$lang->projectCommon}列表 創建{$lang->projectCommon} 頁面;
- 在{$lang->projectCommon}表單中填寫要創建的{$lang->projectCommon}信息;
- 保存{$lang->projectCommon}信息。
";
+$lang->tutorial->tasks['createProject']['nav'] = array('app' => 'project', 'module' => 'project', 'method' => 'create', 'menuModule' => 'browse', 'menu' => '', 'form' => '#dataform', 'submit' => '#submit', 'target' => '.create-project-btn', 'targetPageName' => '添加項目');
+$lang->tutorial->tasks['createProject']['desc'] = "在系統創建一個新的項目:
- 打開 項目 項目列表 創建項目 頁面;
- 在項目表單中填寫要創建的項目信息;
- 保存項目信息。
";
-$lang->tutorial->tasks['manageTeam'] = array('title' => "管理{$lang->projectCommon}團隊");
+$lang->tutorial->tasks['manageTeam'] = array('title' => "管理項目團隊");
$lang->tutorial->tasks['manageTeam']['mode'] = 'new';
$lang->tutorial->tasks['manageTeam']['nav'] = array('app' => 'project', 'module' => 'project', 'method' => 'managemembers', 'menuModule' => '', 'menu' => '#navbar>.nav>li[data-id="browse"],#cards>.col>.panel:first .project-name,#projectTableList>tr:first>.c-name a,#navbar>.nav>li[data-id="settings"],#subNavbar>.nav>li[data-id="members"],.manage-team-btn', 'target' => '.manage-team-btn', 'vars' => 'projectID=0', 'form' => '#teamForm', 'requiredFields' => 'accounts1', 'submit' => '#submit', 'targetPageName' => '團隊管理');
-$lang->tutorial->tasks['manageTeam']['desc'] = "管理{$lang->projectCommon}團隊成員:
- 打開 {$lang->projectCommon} 設置 團隊 團隊管理 頁面;
- 選擇要加入{$lang->projectCommon}團隊的成員;
- 保存團隊成員信息。
";
+$lang->tutorial->tasks['manageTeam']['desc'] = "管理項目團隊成員:
- 打開 項目 設置 團隊 團隊管理 頁面;
- 選擇要加入項目團隊的成員;
- 保存團隊成員信息。
";
$lang->tutorial->tasks['createProjectExecution'] = array('title' => '添加' . $lang->executionCommon);
$lang->tutorial->tasks['createProjectExecution']['mode'] = 'new';
$lang->tutorial->tasks['createProjectExecution']['nav'] = array('app' => 'project', 'module' => 'execution', 'method' => 'create', 'menuModule' => 'browse', 'menu' => '#navbar>.nav>li[data-id="browse"],#cards>.col>.panel:first .project-name,#projectTableList>tr:first>.c-name a,#navbar>.nav>li[data-id="execution"],.create-execution-btn', 'form' => '#dataform', 'submit' => '#submit', 'target' => '.create-execution-btn', 'targetPageName' => '添加' . $lang->executionCommon);
-$lang->tutorial->tasks['createProjectExecution']['desc'] = "在系統創建一個新的{$lang->executionCommon}:
- 打開 {$lang->projectCommon} {$lang->executionCommon} 添加{$lang->executionCommon} 頁面;
- 在{$lang->executionCommon}表單中填寫要創建的{$lang->executionCommon}信息;
- 保存{$lang->executionCommon}信息。
";
+$lang->tutorial->tasks['createProjectExecution']['desc'] = "在系統創建一個新的{$lang->executionCommon}:
- 打開 項目 {$lang->executionCommon} 添加{$lang->executionCommon} 頁面;
- 在{$lang->executionCommon}表單中填寫要創建的{$lang->executionCommon}信息;
- 保存{$lang->executionCommon}信息。
";
$lang->tutorial->tasks['createExecution'] = array('title' => '創建' . $lang->executionCommon);
$lang->tutorial->tasks['createExecution']['mode'] = 'classic';
$lang->tutorial->tasks['createExecution']['nav'] = array('app' => 'execution', 'module' => 'execution', 'method' => 'create', 'menuModule' => 'browse', 'menu' => '#heading>.header-btn:first,#navbar>.nav>li[data-id="all"],.create-execution-btn', 'form' => '#dataform', 'submit' => '#submit', 'target' => '.create-execution-btn', 'targetPageName' => '添加' . $lang->executionCommon);
-$lang->tutorial->tasks['createExecution']['desc'] = "在系統創建一個新的{$lang->executionCommon}:
- 打開 {$lang->projectCommon} {$lang->executionCommon}列表 添加{$lang->executionCommon} 頁面;
- 在表單中填寫要創建的{$lang->executionCommon}信息;
- 保存{$lang->executionCommon}信息。
";
+$lang->tutorial->tasks['createExecution']['desc'] = "在系統創建一個新的{$lang->executionCommon}:
- 打開 項目 {$lang->executionCommon}列表 添加{$lang->executionCommon} 頁面;
- 在表單中填寫要創建的{$lang->executionCommon}信息;
- 保存{$lang->executionCommon}信息。
";
$lang->tutorial->tasks['manageExecutionTeam'] = array('title' => "管理團隊");
$lang->tutorial->tasks['manageExecutionTeam']['mode'] = 'classic';
diff --git a/module/upgrade/lang/version.php b/module/upgrade/lang/version.php
index 1e343452b6..1f29435766 100644
--- a/module/upgrade/lang/version.php
+++ b/module/upgrade/lang/version.php
@@ -143,3 +143,4 @@ $lang->upgrade->fromVersions['15_0_3'] = '15.0.3';
$lang->upgrade->fromVersions['15_2'] = '15.2';
$lang->upgrade->fromVersions['15_3'] = '15.3';
$lang->upgrade->fromVersions['15_4'] = '15.4';
+$lang->upgrade->fromVersions['15_5'] = '15.5';
diff --git a/module/upgrade/model.php b/module/upgrade/model.php
index 0e46dee10e..3548c10896 100644
--- a/module/upgrade/model.php
+++ b/module/upgrade/model.php
@@ -923,6 +923,7 @@ class upgradeModel extends model
$xuanxuanSql = $this->app->getAppRoot() . 'db' . DS . 'upgradexuanxuan4.4.sql';
$confirmContent .= file_get_contents($xuanxuanSql);
}
+ case '15_5': $confirmContent .= file_get_contents($this->getUpgradeFile('15.5'));
}
return str_replace('zt_', $this->config->db->prefix, $confirmContent);
}
diff --git a/module/user/lang/zh-tw.php b/module/user/lang/zh-tw.php
index 192eb115f2..2172e95219 100644
--- a/module/user/lang/zh-tw.php
+++ b/module/user/lang/zh-tw.php
@@ -57,6 +57,21 @@ $lang->user->cropAvatar = '剪切頭像';
$lang->user->cropAvatarTip = '拖拽選框來選擇頭像剪切範圍';
$lang->user->cropImageTip = '所使用的頭像圖片過小,建議圖片大小至少為 48x48,當前圖片大小為 %s';
$lang->user->captcha = '驗證碼';
+$lang->user->avatar = '用戶頭像';
+$lang->user->birthday = '生日';
+$lang->user->nature = '性格特徵';
+$lang->user->analysis = '影響分析';
+$lang->user->strategy = '應對策略';
+$lang->user->fails = '失敗次數';
+$lang->user->locked = '鎖住日期';
+$lang->user->scoreLevel = '積分等級';
+$lang->user->clientStatus = '登錄狀態';
+$lang->user->clientLang = '客戶端語言';
+$lang->user->programs = '項目集';
+$lang->user->products = $lang->productCommon;
+$lang->user->projects = '項目';
+$lang->user->sprints = $lang->execution->common;
+$lang->user->identity = '身份';
$lang->user->legendBasic = '基本資料';
$lang->user->legendContribution = '個人貢獻';
diff --git a/module/webhook/lang/zh-tw.php b/module/webhook/lang/zh-tw.php
index 739603b945..0bc8745994 100644
--- a/module/webhook/lang/zh-tw.php
+++ b/module/webhook/lang/zh-tw.php
@@ -36,6 +36,11 @@ $lang->webhook->editedDate = '編輯時間';
$lang->webhook->date = '發送時間';
$lang->webhook->data = '數據';
$lang->webhook->result = '結果';
+$lang->webhook->products = $lang->productCommon;
+$lang->webhook->executions = $lang->execution->common;
+$lang->webhook->actions = '系統日誌';
+$lang->webhook->editedBy = '由誰編輯';
+$lang->webhook->deleted = '已刪除';
$lang->webhook->typeList[''] = '';
$lang->webhook->typeList['dinggroup'] = '釘釘群通知機器人';