diff --git a/VERSION b/VERSION index 38256ab5a0..563f2f6bc4 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -15.7.1 +15.8 diff --git a/config/config.php b/config/config.php index 7b3e49956b..07a836a83c 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.7.1'; // ZenTaoPHP的版本。 The version of ZenTaoPHP. Don't change it. +$config->version = '15.8'; // 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.8.sql b/db/standard/zentao15.8.sql new file mode 100644 index 0000000000..15fd6015a3 --- /dev/null +++ b/db/standard/zentao15.8.sql @@ -0,0 +1,1362 @@ +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_api_lib_release` +( + `id` int UNSIGNED NOT NULL AUTO_INCREMENT, + `lib` int UNSIGNED NOT NULL DEFAULT 0, + `desc` varchar(255) NOT NULL DEFAULT '', + `version` varchar(255) NOT NULL DEFAULT '', + `snap` mediumtext NOT NULL, + `addedBy` varchar(30) NOT NULL DEFAULT 0, + `addedDate` datetime NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_api` +( + `id` int UNSIGNED NOT NULL AUTO_INCREMENT, + `product` varchar(255) NOT NULL DEFAULT '', + `lib` int UNSIGNED NOT NULL DEFAULT 0, + `module` int UNSIGNED NOT NULL DEFAULT 0, + `title` varchar(100) NOT NULL DEFAULT '', + `path` varchar(255) NOT NULL DEFAULT '', + `protocol` varchar(10) NOT NULL DEFAULT '', + `method` varchar(10) NOT NULL DEFAULT '', + `requestType` varchar(100) NOT NULL DEFAULT '', + `responseType` varchar(100) NOT NULL DEFAULT '', + `status` varchar(20) NOT NULL DEFAULT '', + `owner` varchar(30) NOT NULl DEFAULT 0, + `desc` text NULL, + `version` smallint UNSIGNED NOT NULL DEFAULT 0, + `params` text NULL, + `paramsExample` text NUll, + `responseExample` text NUll, + `response` text NULL, + `commonParams` text NULL, + `addedBy` varchar(30) NOT NULL DEFAULT 0, + `addedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT 0, + `editedDate` datetime NOT NULL, + `deleted` enum ('0', '1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_apispec` +( + `id` int UNSIGNED NOT NULL AUTO_INCREMENT, + `doc` int UNSIGNED NOT NULL DEFAULT 0, + `module` int UNSIGNED NOT NULL DEFAULT 0, + `title` varchar(100) NOT NULL DEFAULT '', + `path` varchar(255) NOT NULL DEFAULT '', + `protocol` varchar(10) NOT NULL DEFAULT '', + `method` varchar(10) NOT NULL DEFAULT '', + `requestType` varchar(100) NOT NULL DEFAULT '', + `responseType` varchar(100) NOT NULL DEFAULT '', + `status` varchar(20) NOT NULL DEFAULT '', + `owner` varchar(255) NOT NULl DEFAULT 0, + `desc` text NULL, + `version` smallint UNSIGNED NOT NULL DEFAULT 0, + `params` text NULL, + `paramsExample` text NUll, + `responseExample` text NUll, + `response` text NULL, + `addedBy` varchar(30) NOT NULL DEFAULT 0, + `addedDate` datetime NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_apistruct` +( + `id` int unsigned NOT NULL AUTO_INCREMENT, + `lib` int UNSIGNED NOT NULL DEFAULT 0, + `name` varchar(30) NOT NULL DEFAULT '', + `type` varchar(50) NOT NULL DEFAULT '', + `desc` text NOT NULL DEFAULT '', + `version` smallint unsigned NOT NULL DEFAULT 0, + `attribute` text NULL, + `addedBy` varchar(30) NOT NULL DEFAULT 0, + `addedDate` datetime NOT NULL, + `editEdBy` varchar(30) NOT NULL DEFAULT 0, + `editedDate` datetime NOT NULL, + `deleted` enum ('0', '1') NOT NULL DEFAULT '0', + primary key (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_apistruct_spec` +( + `id` int UNSIGNED NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL DEFAULT '', + `type` varchar(50) NOT NULL DEFAULT '', + `desc` varchar(255) NOT NULL DEFAULT '', + `attribute` text NULL, + `version` smallint unsigned NOT NULL DEFAULT 0, + `addedBy` varchar(30) NOT NULL DEFAULT 0, + `addedDate` datetime NOT NULL, + primary key (`id`) +) 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, + `default` enum ('0', '1') NOT NULL DEFAULT '0', + `status` enum ('active', 'closed') NOT NULL DEFAULT 'active', + `desc` varchar(255) NOT NULL, + `createdDate` date NOT NULL, + `closedDate` date NOT NULL, + `order` smallint 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, + `baseUrl` varchar(255) 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, + `desc` 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`, `branch`) +) 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, + `branch` 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/db/zentao.sql b/db/zentao.sql index ca974e649e..e113ddc7dc 100644 --- a/db/zentao.sql +++ b/db/zentao.sql @@ -837,7 +837,7 @@ CREATE TABLE IF NOT EXISTS `zt_projectproduct` ( `product` mediumint(8) unsigned NOT NULL, `branch` mediumint(8) unsigned NOT NULL, `plan` mediumint(8) unsigned NOT NULL, - PRIMARY KEY (`project`,`product`, `branch`) + PRIMARY KEY (`project`, `product`, `branch`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- DROP TABLE IF EXISTS `zt_projectspec`; CREATE TABLE IF NOT EXISTS `zt_projectspec` ( diff --git a/doc/CHANGELOG b/doc/CHANGELOG index 0526c57547..04b9c75f2c 100644 --- a/doc/CHANGELOG +++ b/doc/CHANGELOG @@ -1,3 +1,73 @@ +2021-11-19 15.8 +完成的需求 +28965 实现分支的新增/编辑操作 +28941 重新登陆系统后产品下拉菜单应当保持上次选中的产品名称 +28932 实现分支的批量操作 +28931 调整分支管理功能 +28904 优化项目列表“我参与的”筛选结果 +28833 创建执行页面可以直接维护相关负责人信息 +28819 调整项目集/产品/项目/执行重名规则 +28510 项目列表中增加项目代号字段显示 +28509 项目概况中增加项目代号的显示 +28466 测试Bug列表中增加按所属项目的搜索条件 +28138 员工负载表中增加项目名称信息 +28131 待处理任务列表中子任务名称前显示父任务 +28098 需求批量转任务时对已经转换过任务的需求进行提示 +25673 分支增加排序功能 +25670 多分支产品浏览需求的时候将所有和主干区分开 +25667 将所有分支概念改为主干并处理历史数据 +25666 可以将某一个分支关闭 +25665 梳理项目和执行关联产品分支的逻辑 +15478 我的地盘bug列表增加确认字段 +14877 根据分支提示上次版本计划名称 +14778 分支设置默认分支功能 +14772 需求修改所属分支时如果有冲突给出提示 +14771 启用多分支功能后增加分支字样显示的控制 +14761 选择某一个分支之后点击其他菜单希望能够保持分支下拉菜单状态 +14005 能够按照平台分支浏览用户需求 +29147 产品下软件需求列表需求名称前显示主干的分支名 +29145 项目和执行关联了产品的多个分支及计划时调整概况页面显示方式 +29144 所有分支下批量编辑需求/BUG/用例,所属模块数据默认为所有分支的模块时,需要处理分支与模块不一致的问题 +29143 批量创建需求/BUG/用例时所属模块选择同上,需要检测上一行数据的所属分支和当前行的所属分支是否一致 +29142 启用多分支功能后要Bug增加分支字样显示的控制 +29141 启用多分支功能后要用例增加分支字样显示的控制 +29059 多分支产品批量创建需求时分支字段设为默认项 +28974 产品列表批量调整计划时在计划名称前显示分支信息 +28973 提交Bug时分支与影响版本要跟着联动 +28972 产品列表左侧的模块设置调整为显示设置 +28310 未开始的项目集有项目开始的时候自动将项目集状态设置为开始 +28309 未开始的项目有执行开始的时候自动将项目状态设置为开始 +28308 未开始的执行有任务开始的时候自动将执行状态设置为开始 +修复的BUG +15826 后台评审流程开启后产品中批量创建研发需求没有默认需要评审 +15798 报告导出之后不展示饼状图 +15780 更改项目集的父项目集时,下面的产品线不能变更到顶层项目集 +15695 建用例,有默认所属模块可选择所有需求 +15694 执行下创建用例,可以选择产品所有的模块和需求 +15693 卡片展示项目时,项目状态显示不正确 +15691 套件的用例列表右上角的操作按钮样式不一致 +15690 切换产品后,新建用例未显示在用例列表中 +15689 测试单的报表百分比换行 +15688 新建用例,模块和需求对应错误 +15687 自定义任务优先级展示问题 +15686 创建项目填充数据后,再选择项目集数据被清空 +15665 维护目录和版本管理前的icon图标一样 +12023 产品下分支页面建议优化 +11290 邮件列表中主题字段内容部分遮挡 +16302 项目软件需求下搜索下拉列中所属分支显示为%s +16257 创建执行的时候已经关闭的项目仍然可以选择 +16139 设为分支为默认分支icon没有显示完全 +16130 项目下创建测试用例时相关需求列出的数据不对 +16018 项目-测试-BUG界面提交BUG不显示多分支/平台 +16000 执行测试用例下用例标题换行显示 +15828 项目集列表中删除顶级项目,跳转错误 +15781 项目创建版本时选择不到产品分支 +15675 版本下解决又激活的bug,重新解决的时候,应该带有之前版本信息 +14101 青春蓝-引导页国际版配图为中文 +13756 提bug页面没有正常显示所属产品分支的控件 +6978 多分支产品bug搜索影响版本不太清晰 +6917 用例转bug编号会变化 + 2021-11-02 15.7.1 修复的BUG 15835 创建产品选择产品线选中样式不对 diff --git a/module/action/lang/zh-cn.php b/module/action/lang/zh-cn.php index e8873fc3b1..11744bc835 100755 --- a/module/action/lang/zh-cn.php +++ b/module/action/lang/zh-cn.php @@ -168,7 +168,6 @@ $lang->action->desc->syncprogram = '$date, 由 $actor 启 $lang->action->desc->syncproject = '$date, 系统判断由于执行开始,将项目状态置为进行中。' . "\n"; $lang->action->desc->syncexecution = '$date, 系统判断由于任务开始,将执行状态置为进行中。' . "\n"; - /* 用来描述和父子任务相关的操作历史记录。*/ $lang->action->desc->createchildren = '$date, 由 $actor 创建子任务 $extra。' . "\n"; $lang->action->desc->linkchildtask = '$date, 由 $actor 关联子任务 $extra。' . "\n"; diff --git a/module/action/lang/zh-tw.php b/module/action/lang/zh-tw.php index a12cf989c6..b33ac8d1f5 100755 --- a/module/action/lang/zh-tw.php +++ b/module/action/lang/zh-tw.php @@ -282,6 +282,7 @@ $lang->action->label->reviewrejected = '拒絶'; $lang->action->label->reviewclarified = '有待明確'; $lang->action->label->commitsummary = '提交培訓總結'; $lang->action->label->updatetrainee = '更新培訓人員'; +$lang->action->label->setdefaultbranch = '設置了預設分支'; $lang->action->label->syncprogram = '開始了'; $lang->action->label->syncproject = '開始了'; $lang->action->label->syncexecution = '開始了'; @@ -319,6 +320,12 @@ $lang->action->dynamicAction->product['closed'] = '關閉' . $lang->productCo $lang->action->dynamicAction->product['undeleted'] = '還原' . $lang->productCommon; $lang->action->dynamicAction->product['hidden'] = '隱藏' . $lang->productCommon; +$lang->action->dynamicAction->branch['opened'] = '創建分支'; +$lang->action->dynamicAction->branch['edited'] = '編輯分支'; +$lang->action->dynamicAction->branch['closed'] = '關閉分支'; +$lang->action->dynamicAction->branch['activated'] = '激活分支'; +$lang->action->dynamicAction->branch['setdefaultbranch'] = '設置預設分支'; + $lang->action->dynamicAction->productplan['opened'] = "創建計劃"; $lang->action->dynamicAction->productplan['edited'] = "編輯計劃"; diff --git a/module/api/lang/zh-tw.php b/module/api/lang/zh-tw.php index 860652c6c9..d08741fd90 100644 --- a/module/api/lang/zh-tw.php +++ b/module/api/lang/zh-tw.php @@ -148,15 +148,18 @@ $lang->api->methodOptions = array( 'OPTIONS' => 'OPTIONS', 'HEAD' => 'HEAD' ); -$lang->api->protocalOptions = array( - 'HTTP' => 'HTTP', - 'HTTPS' => 'HTTPS', -); -$lang->api->requestTypeOptions = array( - 'application/json' => 'application/json', - 'application/x-www-form-urlencoded' => 'application/x-www-form-urlencoded', - 'multipart/form-data' => 'multipart/form-data' -); + +$lang->api->protocalOptions = array(); +$lang->api->protocalOptions['HTTP'] = 'HTTP'; +$lang->api->protocalOptions['HTTPS'] = 'HTTPS'; +$lang->api->protocalOptions['WS'] = 'WS'; +$lang->api->protocalOptions['WSS'] = 'WSS'; + +$lang->api->requestTypeOptions = array(); +$lang->api->requestTypeOptions['application/json'] = 'application/json'; +$lang->api->requestTypeOptions['application/x-www-form-urlencoded'] = 'application/x-www-form-urlencoded'; +$lang->api->requestTypeOptions['multipart/form-data'] = 'multipart/form-data'; + $lang->api->statusOptions = array( 'done' => '開發完成', 'doing' => '開發中', @@ -173,6 +176,7 @@ $lang->api->paramsScopeOptions = array( /* Api global common params */ $lang->api->paramsTypeOptions = array( 'object' => 'object', + 'array' => 'array', 'string' => 'string', 'date' => 'date', 'datetime' => 'datetime', @@ -184,11 +188,10 @@ $lang->api->paramsTypeOptions = array( 'decimal' => 'decimal' ); +$lang->api->boolList = array(false => '否', true => '是', '' => '否'); + /* Api params */ -$lang->api->paramsTypeCustomOptions = array( - 'file' => 'file', - 'ref' => 'ref', -); +$lang->api->paramsTypeCustomOptions = array('file' => 'file', 'ref' => 'ref'); $lang->api->structParamsOptons = array_merge($lang->api->paramsTypeOptions, array('file' => 'file', 'ref' => 'ref')); $lang->api->allParamsTypeOptions = array_merge($lang->api->paramsTypeOptions, $lang->api->paramsTypeCustomOptions); diff --git a/module/block/lang/zh-tw.php b/module/block/lang/zh-tw.php index 7350ddb8c9..d8269557e5 100644 --- a/module/block/lang/zh-tw.php +++ b/module/block/lang/zh-tw.php @@ -585,3 +585,20 @@ $lang->block->flowchart['project'] = array('項目經理', '創建' . $lang->exe if($config->systemMode == 'new') $lang->block->flowchart['project'] = array('項目經理', '創建項目、' . $lang->executionCommon, '維護團隊', "關聯需求", '分解任務', '跟蹤進度'); $lang->block->flowchart['dev'] = array('研發人員', '領取任務和Bug', '設計實現方案', '更新狀態', '完成任務和Bug', '提交代碼'); $lang->block->flowchart['tester'] = array('測試人員', '撰寫用例', '執行用例', '提交Bug', '驗證Bug', '關閉Bug'); + +$lang->block->zentaoapp = new stdclass(); +$lang->block->zentaoapp->thisYearInvestment = '今年投入'; +$lang->block->zentaoapp->sinceTotalInvestment = '從使用至今,總投入'; +$lang->block->zentaoapp->myStory = '我的需求'; +$lang->block->zentaoapp->allStorySum = '需求總數'; +$lang->block->zentaoapp->storyCompleteRate = '需求完成率'; +$lang->block->zentaoapp->latestExecution = '近期執行'; +$lang->block->zentaoapp->involvedExecution = '我參與的執行'; +$lang->block->zentaoapp->mangedProduct = '負責產品'; +$lang->block->zentaoapp->involvedProject = '參與項目'; +$lang->block->zentaoapp->customIndexCard = '定製首頁卡片'; +$lang->block->zentaoapp->createStory = '提需求'; +$lang->block->zentaoapp->createEffort = '記日誌'; +$lang->block->zentaoapp->createDoc = '建文檔'; +$lang->block->zentaoapp->createTodo = '建待辦'; +$lang->block->zentaoapp->workbench = '工作台'; diff --git a/module/branch/lang/zh-tw.php b/module/branch/lang/zh-tw.php index 679c34eb1a..f9c0468a67 100644 --- a/module/branch/lang/zh-tw.php +++ b/module/branch/lang/zh-tw.php @@ -7,39 +7,49 @@ $lang->branch->add = '添加'; $lang->branch->manageTitle = '%s管理'; $lang->branch->all = '所有'; +$lang->branch->main = '主幹'; -$lang->branch->edit = '編輯'; -$lang->branch->editAction = '編輯分支'; -$lang->branch->activate = '啟動'; -$lang->branch->activateAction = '啟動分支'; -$lang->branch->close = '關閉'; -$lang->branch->closeAction = '關閉分支'; -$lang->branch->create = '新增分支'; -$lang->branch->merge = '合併'; +$lang->branch->edit = '編輯%s'; +$lang->branch->editAction = '編輯分支'; +$lang->branch->activate = '激活'; +$lang->branch->activateAction = '激活分支'; +$lang->branch->close = '關閉'; +$lang->branch->closeAction = '關閉分支'; +$lang->branch->create = '新增%s'; +$lang->branch->createAction = '新增分支'; +$lang->branch->merge = '合併'; +$lang->branch->batchEdit = '批量編輯'; +$lang->branch->defaultBranch = '預設分支'; +$lang->branch->setDefault = '設為預設分支'; +$lang->branch->setDefaultAction = '設置預設分支'; -$lang->branch->id = '編號'; +$lang->branch->id = 'ID'; $lang->branch->product = '所屬產品'; -$lang->branch->name = '名稱'; +$lang->branch->name = '%s名稱'; $lang->branch->status = '狀態'; $lang->branch->createdDate = '創建時間'; $lang->branch->closedDate = '關閉時間'; -$lang->branch->desc = '分支描述'; +$lang->branch->desc = '%s描述'; $lang->branch->order = '排序'; $lang->branch->deleted = '已刪除'; +$lang->branch->closed = '已關閉'; +$lang->branch->default = '預設'; -$lang->branch->confirmDelete = '是否刪除該@branch@?'; -$lang->branch->canNotDelete = '該@branch@下已經有數據,不能刪除!'; -$lang->branch->nameNotEmpty = '名稱不能為空!'; -$lang->branch->confirmClose = '是否關閉该@branch@?'; -$lang->branch->confirmActivate = '是否啟動该@branch@?'; +$lang->branch->confirmDelete = '是否刪除該@branch@?'; +$lang->branch->confirmSetDefault = '請確認是否需要將該@branch@設置為預設@branch@,設置成功後計劃和發佈列表將預設選中預設@branch@。'; +$lang->branch->canNotDelete = '該@branch@下已經有數據,不能刪除!'; +$lang->branch->nameNotEmpty = '名稱不能為空!'; +$lang->branch->confirmClose = '是否關閉該@branch@?'; +$lang->branch->confirmActivate = '是否激活該@branch@?'; +$lang->branch->existName = '@branch@名稱已存在'; $lang->branch->noData = '暫時沒有分支。'; -$lang->branch->mainBranch = '產品默認主幹分支。'; +$lang->branch->mainBranch = '產品預設主幹%s。'; $lang->branch->statusList = array(); -$lang->branch->statusList['active'] = '啟動'; -$lang->branch->statusList['closed'] = '關閉'; +$lang->branch->statusList['active'] = '激活'; +$lang->branch->statusList['closed'] = '已關閉'; $lang->branch->featureBar['manage']['all'] = '所有'; -$lang->branch->featureBar['manage']['active'] = '啟動'; -$lang->branch->featureBar['manage']['closed'] = '關閉'; +$lang->branch->featureBar['manage']['active'] = '激活'; +$lang->branch->featureBar['manage']['closed'] = '已關閉'; diff --git a/module/bug/lang/en.php b/module/bug/lang/en.php index 1a37219fd3..0155f909ba 100644 --- a/module/bug/lang/en.php +++ b/module/bug/lang/en.php @@ -151,12 +151,16 @@ $lang->bug->assignToMeAB = 'AssignedToMe'; $lang->bug->openedByMeAB = 'ReportedByMe'; $lang->bug->resolvedByMeAB = 'ResolvedByMe'; -$lang->bug->ditto = 'Ditto'; -$lang->bug->dittoNotice = 'This bug is not linked to the same product as the last one is!'; -$lang->bug->noAssigned = 'Unassigned'; -$lang->bug->noBug = 'No bugs yet.'; -$lang->bug->noModule = '
You have no modules.
Manage now
'; -$lang->bug->delayWarning = " Delay %s days "; +$lang->bug->ditto = 'Ditto'; +$lang->bug->dittoNotice = 'This bug is not linked to the same product as the last one is!'; +$lang->bug->noAssigned = 'Unassigned'; +$lang->bug->noBug = 'No bugs yet.'; +$lang->bug->noModule = '
You have no modules.
Manage now
'; +$lang->bug->delayWarning = " Delay %s days "; +$lang->bug->labelConfirmed = 'Confirmed'; +$lang->bug->labelPostponed = 'Postponed'; +$lang->bug->changed = 'Changed'; +$lang->bug->storyChanged = 'Story Changed'; /* Page tags. */ $lang->bug->lblAssignedTo = 'AssignTo'; diff --git a/module/bug/lang/zh-tw.php b/module/bug/lang/zh-tw.php index 2534098a79..e67518485c 100644 --- a/module/bug/lang/zh-tw.php +++ b/module/bug/lang/zh-tw.php @@ -151,12 +151,16 @@ $lang->bug->assignToMeAB = '指派給我'; $lang->bug->openedByMeAB = '由我創建'; $lang->bug->resolvedByMeAB = '由我解決'; -$lang->bug->ditto = '同上'; -$lang->bug->dittoNotice = '該bug與上一bug不屬於同一產品!'; -$lang->bug->noAssigned = '未指派'; -$lang->bug->noBug = '暫時沒有Bug。'; -$lang->bug->noModule = '
您現在還沒有模組信息
請維護測試模組
'; -$lang->bug->delayWarning = " 延期%s天 "; +$lang->bug->ditto = '同上'; +$lang->bug->dittoNotice = '該bug與上一bug不屬於同一產品!'; +$lang->bug->noAssigned = '未指派'; +$lang->bug->noBug = '暫時沒有Bug。'; +$lang->bug->noModule = '
您現在還沒有模組信息
請維護測試模組
'; +$lang->bug->delayWarning = " 延期%s天 "; +$lang->bug->labelConfirmed = '已確認'; +$lang->bug->labelPostponed = '被延期'; +$lang->bug->changed = '已變動'; +$lang->bug->storyChanged = '需求變動'; /* 頁面標籤。*/ $lang->bug->lblAssignedTo = '當前指派'; @@ -192,6 +196,7 @@ $lang->bug->skipClose = 'Bug %s 不是已解決狀態,不能關閉 $lang->bug->executionAccessDenied = "您無權訪問該Bug所屬的{$lang->executionCommon}!"; $lang->bug->stepsNotEmpty = "重現步驟不能為空。"; $lang->bug->confirmUnlinkBuild = "更換解決版本將取消與舊版本的關聯,您確定取消該bug與%s的關聯嗎?"; +$lang->bug->noSwitchBranch = 'Bug%s所屬模組不在當前分支下,將自動忽略。'; /* 模板。*/ $lang->bug->tplStep = "

[步驟]


"; diff --git a/module/common/lang/en.php b/module/common/lang/en.php index 07325531e5..adc6163ad9 100644 --- a/module/common/lang/en.php +++ b/module/common/lang/en.php @@ -34,6 +34,7 @@ $lang->logout = 'Logout'; $lang->login = 'Login'; $lang->help = 'Help'; $lang->aboutZenTao = 'About'; +$lang->ztWebsite = 'ZenTao Address'; $lang->profile = 'Profile'; $lang->changePassword = 'Password'; $lang->unfoldMenu = 'Unfold'; @@ -104,9 +105,10 @@ $lang->customField = 'Custom Field'; $lang->lineNumber = 'Line No.'; $lang->tutorialConfirm = 'You are using ZenTao tutorial. Do you want to quit right now?'; -$lang->preShortcutKey = '[Shortcut:←]'; -$lang->nextShortcutKey = '[Shortcut:→]'; -$lang->backShortcutKey = '[Shortcut:Alt+↑]'; +$lang->preShortcutKey = '[Shortcut:←]'; +$lang->nextShortcutKey = '[Shortcut:→]'; +$lang->backShortcutKey = '[Shortcut:Alt+↑]'; +$lang->shortcutOperation = 'Quick Start'; $lang->select = 'Select'; $lang->selectAll = 'Select All'; @@ -307,7 +309,8 @@ $lang->createObjects['program'] = 'Program'; $lang->createObjects['doc'] = 'Doc'; /* Language. */ -$lang->lang = 'Language'; +$lang->lang = 'Language'; +$lang->setLang = 'Language Setting'; /* Theme style. */ $lang->theme = 'Theme'; diff --git a/module/common/lang/zh-tw.php b/module/common/lang/zh-tw.php index c155a317a0..bde2294f99 100644 --- a/module/common/lang/zh-tw.php +++ b/module/common/lang/zh-tw.php @@ -34,6 +34,7 @@ $lang->logout = '退出'; $lang->login = '登錄'; $lang->help = '幫助'; $lang->aboutZenTao = '關於禪道'; +$lang->ztWebsite = '禪道系統網址'; $lang->profile = '個人檔案'; $lang->changePassword = '修改密碼'; $lang->unfoldMenu = '展開導航'; @@ -104,9 +105,10 @@ $lang->customField = '自定義表單項'; $lang->lineNumber = '行號'; $lang->tutorialConfirm = '檢測到你尚未退出新手教程模式,是否現在退出?'; -$lang->preShortcutKey = '[快捷鍵:←]'; -$lang->nextShortcutKey = '[快捷鍵:→]'; -$lang->backShortcutKey = '[快捷鍵:Alt+↑]'; +$lang->preShortcutKey = '[快捷鍵:←]'; +$lang->nextShortcutKey = '[快捷鍵:→]'; +$lang->backShortcutKey = '[快捷鍵:Alt+↑]'; +$lang->shortcutOperation = '快捷操作'; $lang->select = '選擇'; $lang->selectAll = '全選'; @@ -307,7 +309,8 @@ $lang->createObjects['program'] = '項目集'; $lang->createObjects['doc'] = '文檔'; /* 語言 */ -$lang->lang = 'Language'; +$lang->lang = 'Language'; +$lang->setLang = '語言設置'; /* 風格列表。*/ $lang->theme = '主題'; @@ -402,18 +405,19 @@ $lang->pasteImgFail = "貼圖失敗,請稍後重試。"; $lang->pasteImgUploading = "正在上傳圖片,請稍後..."; /* 時間格式設置。*/ -if(!defined('DT_DATETIME1')) define('DT_DATETIME1', 'Y-m-d H:i:s'); -if(!defined('DT_DATETIME2')) define('DT_DATETIME2', 'y-m-d H:i'); +if(!defined('DT_DATETIME1')) define('DT_DATETIME1', 'Y-m-d H:i:s'); +if(!defined('DT_DATETIME2')) define('DT_DATETIME2', 'y-m-d H:i'); if(!defined('DT_MONTHTIME1')) define('DT_MONTHTIME1', 'n/d H:i'); if(!defined('DT_MONTHTIME2')) define('DT_MONTHTIME2', 'n月d日 H:i'); -if(!defined('DT_DATE1')) define('DT_DATE1', 'Y-m-d'); -if(!defined('DT_DATE2')) define('DT_DATE2', 'Ymd'); -if(!defined('DT_DATE3')) define('DT_DATE3', 'Y年m月d日'); -if(!defined('DT_DATE4')) define('DT_DATE4', 'n月j日'); -if(!defined('DT_DATE5')) define('DT_DATE5', 'j/n'); -if(!defined('DT_TIME1')) define('DT_TIME1', 'H:i:s'); -if(!defined('DT_TIME2')) define('DT_TIME2', 'H:i'); -if(!defined('LONG_TIME')) define('LONG_TIME', '2059-12-31'); +if(!defined('DT_DATE1')) define('DT_DATE1', 'Y-m-d'); +if(!defined('DT_DATE2')) define('DT_DATE2', 'Ymd'); +if(!defined('DT_DATE3')) define('DT_DATE3', 'Y年m月d日'); +if(!defined('DT_DATE4')) define('DT_DATE4', 'n月j日'); +if(!defined('DT_DATE5')) define('DT_DATE5', 'j/n'); +if(!defined('DT_TIME1')) define('DT_TIME1', 'H:i:s'); +if(!defined('DT_TIME2')) define('DT_TIME2', 'H:i'); +if(!defined('LONG_TIME')) define('LONG_TIME', '2059-12-31'); +if(!defined('BRANCH_MAIN')) define('BRANCH_MAIN', '0'); /* datepicker 時間*/ $lang->datepicker = new stdclass(); diff --git a/module/datatable/lang/zh-tw.php b/module/datatable/lang/zh-tw.php index 1b2cb048de..57578b67bd 100644 --- a/module/datatable/lang/zh-tw.php +++ b/module/datatable/lang/zh-tw.php @@ -18,12 +18,15 @@ $lang->datatable->resetGlobal = '全局恢復預設'; $lang->datatable->branch = '分支'; $lang->datatable->platform = '平台'; -$lang->datatable->displaySetting = '顯示設定'; $lang->datatable->moduleSetting = '模組設置'; +$lang->datatable->displaySetting = '顯示設置'; $lang->datatable->showModule = '列表頁是否顯示模組名'; +$lang->datatable->showBranch = '列表頁是否顯示%s名'; $lang->datatable->showAllModule = '是否顯示完整產品模組'; $lang->datatable->showModuleList[] = '不顯示'; $lang->datatable->showModuleList['base'] = '只顯示一級模組'; $lang->datatable->showModuleList['end'] = '只顯示最後一級模組'; $lang->datatable->showAllModuleList[0] = '不顯示'; $lang->datatable->showAllModuleList[1] = '顯示'; +$lang->datatable->showBranchList[0] = '不顯示'; +$lang->datatable->showBranchList[1] = '顯示'; diff --git a/module/execution/lang/zh-tw.php b/module/execution/lang/zh-tw.php index 2098d883d7..306f90abe3 100644 --- a/module/execution/lang/zh-tw.php +++ b/module/execution/lang/zh-tw.php @@ -328,6 +328,7 @@ $lang->execution->notAllowedUnlinkStory = "該{$lang->SRCommon}已經與 $lang->execution->notAllowRemoveProducts = "該{$lang->productCommon}中的{$lang->SRCommon}已與該{$lang->executionCommon}進行了關聯,請取消關聯後再操作。"; $lang->execution->errorNoLinkedProducts = "該{$lang->executionCommon}沒有關聯的{$lang->productCommon},系統將轉到{$lang->productCommon}關聯頁面"; $lang->execution->errorSameProducts = "{$lang->executionCommon}不能關聯多個相同的{$lang->productCommon}。"; +$lang->execution->errorSameBranches = "{$lang->executionCommon}不能關聯多個相同的分支。"; $lang->execution->errorBegin = "{$lang->executionCommon}的開始時間不能小於所屬項目的開始時間%s。"; $lang->execution->errorEnd = "{$lang->executionCommon}的截止時間不能大於所屬項目的結束時間%s。"; $lang->execution->accessDenied = "您無權訪問該{$lang->executionCommon}!"; @@ -345,6 +346,7 @@ $lang->execution->unfinishedExecution = "該{$lang->executionCommon}下 $lang->execution->unfinishedTask = "[%s]個未完成的任務,"; $lang->execution->unresolvedBug = "[%s]個未解決的bug,"; $lang->execution->projectNotEmpty = '所屬項目不能為空。'; +$lang->execution->confirmStoryToTask = '%s' . $lang->SRCommon . '已經在當前' . $lang->execution->common . '中轉了任務,請確認是否重複轉任務。'; /* 統計。*/ $lang->execution->charts = new stdclass(); diff --git a/module/misc/lang/en.php b/module/misc/lang/en.php index 90afaf6003..1608e7f6d3 100644 --- a/module/misc/lang/en.php +++ b/module/misc/lang/en.php @@ -94,6 +94,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.8'] = '2021-11-19'; $lang->misc->releaseDate['15.7.1'] = '2021-11-02'; $lang->misc->releaseDate['15.7'] = '2021-10-18'; $lang->misc->releaseDate['15.6'] = '2021-10-12'; @@ -162,6 +163,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.8'][] = array('title' => 'Optimize the branch management and its details. Fix bug.', 'desc' => ''); $lang->misc->feature->all['15.7.1'][] = array('title' => 'Fix bug.', 'desc' => ''); $lang->misc->feature->all['15.7'][] = array('title' => 'Add API Lib. Fix bug.', 'desc' => ''); $lang->misc->feature->all['15.6'][] = array('title' => 'Fix bug.', 'desc' => ''); diff --git a/module/misc/lang/zh-cn.php b/module/misc/lang/zh-cn.php index bd15484124..ca0b6feaec 100644 --- a/module/misc/lang/zh-cn.php +++ b/module/misc/lang/zh-cn.php @@ -94,6 +94,7 @@ $lang->misc->feature->downloadFile = '下载新版本功能介绍文档'; $lang->misc->feature->tutorialDesc = "

禅道15系列新增了多项功能,您可以通过“新手引导教程”快速了解禅道的基本使用方法。

通过鼠标经过 [头像-新手引导],点击新手引导,即可进入新手引导教程。

"; $lang->misc->feature->themeDesc = "

禅道15系列上线了全新的“青春蓝”主题,页面呈现更加美观,体验更加友好。

通过鼠标经过 [头像-主题-青春蓝],点击青春蓝,即可设置成功。

"; +$lang->misc->releaseDate['15.8'] = '2021-11-19'; $lang->misc->releaseDate['15.7.1'] = '2021-11-02'; $lang->misc->releaseDate['15.7'] = '2021-10-18'; $lang->misc->releaseDate['15.6'] = '2021-10-12'; @@ -162,6 +163,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.8'][] = array('title' => '完善分支管理和细节。修复Bug。', 'desc' => ''); $lang->misc->feature->all['15.7.1'][] = array('title' => '修复Bug。', 'desc' => ''); $lang->misc->feature->all['15.7'][] = array('title' => '新增接口库。修复Bug。', 'desc' => ''); $lang->misc->feature->all['15.6'][] = array('title' => '修复Bug。', 'desc' => ''); diff --git a/module/misc/lang/zh-tw.php b/module/misc/lang/zh-tw.php index 94a70e0c2b..83b07b053b 100644 --- a/module/misc/lang/zh-tw.php +++ b/module/misc/lang/zh-tw.php @@ -85,13 +85,16 @@ $lang->misc->feature->lastest = '最新版本'; $lang->misc->feature->detailed = '詳情'; $lang->misc->feature->introduction = '新功能介紹'; $lang->misc->feature->tutorial = '新手引導教程'; +$lang->misc->feature->tutorialImage = 'theme/default/images/main/tutorial.png'; $lang->misc->feature->youngBlueTheme = '全新青春藍主題'; +$lang->misc->feature->youngBlueImage = 'theme/default/images/main/new_theme.png'; $lang->misc->feature->nextStep = '下一步'; $lang->misc->feature->close = '關閉'; $lang->misc->feature->downloadFile = '下載新版本功能介紹文檔'; $lang->misc->feature->tutorialDesc = "

禪道15系列新增了多項功能,您可以通過“新手引導教程”快速瞭解禪道的基本使用方法。

通過滑鼠經過 [頭像-新手引導],點擊新手引導,即可進入新手引導教程。

"; $lang->misc->feature->themeDesc = "

禪道15系列上線了全新的“青春藍”主題,頁面呈現更加美觀,體驗更加友好。

通過滑鼠經過 [頭像-主題-青春藍],點擊青春藍,即可設置成功。

"; +$lang->misc->releaseDate['15.8'] = '2021-11-19'; $lang->misc->releaseDate['15.7.1'] = '2021-11-02'; $lang->misc->releaseDate['15.7'] = '2021-10-18'; $lang->misc->releaseDate['15.6'] = '2021-10-12'; @@ -160,6 +163,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.8'][] = array('title' => '完善分支管理和細節。修復Bug。', 'desc' => ''); $lang->misc->feature->all['15.7.1'][] = array('title' => '修復Bug。', 'desc' => ''); $lang->misc->feature->all['15.7'][] = array('title' => '新增介面庫。修復Bug。', 'desc' => ''); $lang->misc->feature->all['15.6'][] = array('title' => '修復Bug。', 'desc' => ''); diff --git a/module/my/lang/en.php b/module/my/lang/en.php index 97b83bca18..27c0de437d 100644 --- a/module/my/lang/en.php +++ b/module/my/lang/en.php @@ -3,6 +3,7 @@ global $config; /* Method List。*/ $lang->my->index = 'Home'; +$lang->my->data = 'My Data'; $lang->my->todo = 'My Todos'; $lang->my->calendar = 'Schedule'; $lang->my->work = 'Work'; diff --git a/module/my/lang/zh-tw.php b/module/my/lang/zh-tw.php index 2f738aaa95..9bbe89a5ba 100644 --- a/module/my/lang/zh-tw.php +++ b/module/my/lang/zh-tw.php @@ -3,6 +3,7 @@ global $config; /* 方法列表。*/ $lang->my->index = '首頁'; +$lang->my->data = '我的數據'; $lang->my->todo = '我的待辦'; $lang->my->calendar = '日程'; $lang->my->work = '待處理'; diff --git a/module/project/lang/zh-tw.php b/module/project/lang/zh-tw.php index c16d3e81a6..e71dfdccaa 100644 --- a/module/project/lang/zh-tw.php +++ b/module/project/lang/zh-tw.php @@ -43,6 +43,7 @@ $lang->project->unbindWhitelist = '項目刪除白名單'; $lang->project->manageProducts = '關聯產品'; $lang->project->copyTitle = '請選擇要複製的項目'; $lang->project->errorSameProducts = '項目不能關聯多個相同的產品。'; +$lang->project->errorSameBranches = '項目不能關聯多個相同的分支。'; $lang->project->errorNoProducts = '最少關聯一個產品'; $lang->project->copyNoProject = '沒有可用的項目來複制'; $lang->project->searchByName = '輸入項目名稱進行檢索'; @@ -266,7 +267,7 @@ $lang->project->cannotCancelCat = "該項目下已經有子項目,無 $lang->project->parentBeginEnd = "父項目起止時間:%s ~ %s"; $lang->project->childLongTime = "子項目中有長期項目,父項目也應該是長期項目"; $lang->project->readjustTime = '重新調整項目起止時間'; -$lang->project->notAllowRemoveProducts = '該產品中的需求已與項目進行了關聯,請取消關聯後再操作。'; +$lang->project->notAllowRemoveProducts = "該產品中的需求與項目進行了關聯或者項目下的{$lang->execution->common}關聯了該產品,請取消關聯後再操作。"; $lang->project->programTitle['0'] = '不顯示'; $lang->project->programTitle['base'] = '只顯示一級項目集'; diff --git a/module/report/lang/en.php b/module/report/lang/en.php index 5123d3893a..337a4eb07c 100644 --- a/module/report/lang/en.php +++ b/module/report/lang/en.php @@ -193,6 +193,9 @@ $lang->report->annualData->actionList['assign'] = 'Assigned'; $lang->report->annualData->actionList['activate'] = 'Activated'; $lang->report->annualData->actionList['resolve'] = 'Resolved'; $lang->report->annualData->actionList['run'] = 'Execute'; +$lang->report->annualData->actionList['stop'] = 'Stop Maintenance'; +$lang->report->annualData->actionList['putoff'] = 'Postponed '; +$lang->report->annualData->actionList['suspend'] = 'Suspended'; $lang->report->annualData->actionList['change'] = 'Changed'; $lang->report->annualData->actionList['pause'] = 'Paused'; $lang->report->annualData->actionList['cancel'] = 'Canceled'; diff --git a/module/report/lang/zh-tw.php b/module/report/lang/zh-tw.php index 18839172aa..8bd704578d 100644 --- a/module/report/lang/zh-tw.php +++ b/module/report/lang/zh-tw.php @@ -193,6 +193,9 @@ $lang->report->annualData->actionList['assign'] = '指派'; $lang->report->annualData->actionList['activate'] = '激活'; $lang->report->annualData->actionList['resolve'] = '解決'; $lang->report->annualData->actionList['run'] = '執行'; +$lang->report->annualData->actionList['stop'] = '停止維護'; +$lang->report->annualData->actionList['putoff'] = '延期'; +$lang->report->annualData->actionList['suspend'] = '掛起'; $lang->report->annualData->actionList['change'] = '變更'; $lang->report->annualData->actionList['pause'] = '暫停'; $lang->report->annualData->actionList['cancel'] = '取消'; @@ -203,8 +206,25 @@ $lang->report->annualData->todoStatus['all'] = '所有待辦'; $lang->report->annualData->todoStatus['undone'] = '未完成'; $lang->report->annualData->todoStatus['done'] = '已完成'; -$lang->report->annualData->radarItems['product'] = '產品'; -$lang->report->annualData->radarItems['execution'] = $lang->executionCommon; +$lang->report->annualData->radarItems['product'] = '產品管理'; +$lang->report->annualData->radarItems['execution'] = '項目管理'; $lang->report->annualData->radarItems['devel'] = "研發"; $lang->report->annualData->radarItems['qa'] = "測試"; $lang->report->annualData->radarItems['other'] = "其他"; + +$lang->report->companyRadar = "公司能力雷達圖"; +$lang->report->outputData = "產出數據"; +$lang->report->outputTotal = "產出總數"; +$lang->report->storyOutput = "需求產出"; +$lang->report->planOutput = "計劃產出"; +$lang->report->releaseOutput = "發佈產出"; +$lang->report->executionOutput = "執行產出"; +$lang->report->taskOutput = "任務產出"; +$lang->report->bugOutput = "Bug產出"; +$lang->report->caseOutput = "用例產出"; +$lang->report->bugProgress = "Bug進展"; +$lang->report->productProgress = "產品進展"; +$lang->report->executionProgress = "執行進展"; +$lang->report->projectProgress = "項目進展"; +$lang->report->yearProjectOverview = "年度項目總覽"; +$lang->report->projectOverview = "截止目前項目總覽"; diff --git a/module/sso/lang/en.php b/module/sso/lang/en.php index 40e96a2a77..4e6dbd5754 100644 --- a/module/sso/lang/en.php +++ b/module/sso/lang/en.php @@ -33,7 +33,14 @@ $lang->sso->help = <<1. Zdoo address is required. If use PATH_INFO, it is http://YOUR ZDOO ADDRESS/sys/sso-check.html If GET, it is http://YOUR ZDOO ADDRESS/sys/index.php?m=sso&f=check

2. Code and Secret Key must be the same as set in Zdoo.

EOD; +$lang->sso->deny = 'Access Limited'; $lang->sso->bindNotice = 'User that is just added has no permissions. You have to ask ZenTao Admin to grant permissions to the User.'; $lang->sso->bindNoPassword = 'Password should not be empty.'; $lang->sso->bindNoUser = 'Password is wrong/User cannot be found!'; $lang->sso->bindHasAccount = 'This username already exists. Change your username or bind to it.'; + +$lang->sso->homeURL = 'Feishu Page Config URL:'; +$lang->sso->redirectURL = 'Feishu Redirect URL:'; +$lang->sso->feishuConfigEmpty = 'Go to [Admin]-[Notification]-[Webhook] to set ( Feishu Work Notification)'; +$lang->sso->feishuResponseEmpty = 'Request response is empty'; +$lang->sso->unbound = 'Current Feishu user is not bound in ZenTao-Wwebhook.'; diff --git a/module/sso/lang/zh-tw.php b/module/sso/lang/zh-tw.php index 49ae9aac99..16c485b13d 100644 --- a/module/sso/lang/zh-tw.php +++ b/module/sso/lang/zh-tw.php @@ -33,7 +33,14 @@ $lang->sso->help = <<1、介面地址的填寫,如果是PATH_INFO :http://ZDOO網址/sys/sso-check.html,如果是GET:http://ZDOO網址/sys/index.php?m=sso&f=check

2、代號和密鑰必須與ZDOO後台設置的一致。

EOD; +$lang->sso->deny = '訪問受限'; $lang->sso->bindNotice = '添加的新用戶暫時沒有權限,需要聯繫禪道管理員,給該用戶分配權限。'; $lang->sso->bindNoPassword = '密碼不能為空'; $lang->sso->bindNoUser = '該用戶的登錄密碼錯誤,或該用戶不存在!'; $lang->sso->bindHasAccount = '該用戶名已經存在,請更換用戶名,或直接綁定到該用戶。'; + +$lang->sso->homeURL = '飛書主頁配置URL:'; +$lang->sso->redirectURL = '飛書重定向配置URL:'; +$lang->sso->feishuConfigEmpty = '請在[後台][通知][Webhook]功能中配置(飛書工作消息通知)'; +$lang->sso->feishuResponseEmpty = '請求響應信息為空'; +$lang->sso->unbound = '當前飛書用戶未在禪道webhook功能中進行用戶關係綁定'; diff --git a/module/story/lang/zh-tw.php b/module/story/lang/zh-tw.php index c443da0a19..7f2e07f097 100644 --- a/module/story/lang/zh-tw.php +++ b/module/story/lang/zh-tw.php @@ -277,6 +277,7 @@ $lang->story->moveChildrenTips = "修改父{$lang->SRCommon}的所屬產品 $lang->story->changeTips = '該軟件需求關聯的用戶需求有變更,點擊“不變更”忽略此條變更,點擊“變更”來進行該軟件需求的變更。'; $lang->story->estimateMustBeNumber = '估算值必須是數字'; $lang->story->estimateMustBePlus = '估算值不能是負數'; +$lang->story->confirmChangeBranch = $lang->SRCommon . '%s已關聯在之前所屬分支的計劃中,調整分支後,' . $lang->SRCommon . '將從之前所屬分支的計劃中移除,請確認是否繼續修改上述' . $lang->SRCommon . '的分支。'; $lang->story->form = new stdclass(); $lang->story->form->area = "該{$lang->SRCommon}所屬範圍"; diff --git a/module/todo/lang/en.php b/module/todo/lang/en.php index 82dee1fbe0..3763a184f2 100644 --- a/module/todo/lang/en.php +++ b/module/todo/lang/en.php @@ -97,12 +97,12 @@ $lang->todo->priList[2] = 'Important'; $lang->todo->priList[3] = 'Normal'; $lang->todo->priList[4] = 'Low'; -$lang->todo->typeList['custom'] = 'Custom'; -$lang->todo->typeList['cycle'] = 'Recur'; -$lang->todo->typeList['bug'] = 'Bug'; -$lang->todo->typeList['task'] = 'Task'; -$lang->todo->typeList['story'] = 'Story'; -$lang->todo->typeList['testtask'] = 'Testtask'; +$lang->todo->typeList['custom'] = 'Custom'; +$lang->todo->typeList['cycle'] = 'Recur'; +$lang->todo->typeList['bug'] = 'Bug'; +$lang->todo->typeList['task'] = 'Task'; +$lang->todo->typeList['story'] = 'Story'; +$lang->todo->typeList['testtask'] = 'Testtask'; $lang->todo->confirmDelete = "Do you want to delete this todo?"; $lang->todo->thisIsPrivate = 'This is a private todo'; @@ -112,6 +112,7 @@ $lang->todo->lblClickCreate = "Click to Add Todo"; $lang->todo->noTodo = 'No todos of this type.'; $lang->todo->noAssignedTo = "The AssignedTo should not be empty."; $lang->todo->unfinishedTodo = 'The todos of ID %s are not finished, and can not close.'; +$lang->todo->today = 'Todo Today'; $lang->todo->periods['all'] = 'All Todos'; $lang->todo->periods['before'] = 'Unfinished'; diff --git a/module/todo/lang/zh-cn.php b/module/todo/lang/zh-cn.php index 400422870f..dd875c35b1 100644 --- a/module/todo/lang/zh-cn.php +++ b/module/todo/lang/zh-cn.php @@ -97,12 +97,12 @@ $lang->todo->priList[2] = 2; $lang->todo->priList[3] = 3; $lang->todo->priList[4] = 4; -$lang->todo->typeList['custom'] = '自定义'; -$lang->todo->typeList['cycle'] = '周期'; -$lang->todo->typeList['bug'] = 'Bug'; -$lang->todo->typeList['task'] = '任务'; -$lang->todo->typeList['story'] = $lang->SRCommon; -$lang->todo->typeList['testtask'] = '测试单'; +$lang->todo->typeList['custom'] = '自定义'; +$lang->todo->typeList['cycle'] = '周期'; +$lang->todo->typeList['bug'] = 'Bug'; +$lang->todo->typeList['task'] = '任务'; +$lang->todo->typeList['story'] = $lang->SRCommon; +$lang->todo->typeList['testtask'] = '测试单'; $lang->todo->confirmDelete = "您确定要删除这条待办吗?"; $lang->todo->thisIsPrivate = '这是一条私人事务。:)'; diff --git a/module/todo/lang/zh-tw.php b/module/todo/lang/zh-tw.php index ae09ab15b9..ca4777a325 100644 --- a/module/todo/lang/zh-tw.php +++ b/module/todo/lang/zh-tw.php @@ -97,12 +97,12 @@ $lang->todo->priList[2] = 2; $lang->todo->priList[3] = 3; $lang->todo->priList[4] = 4; -$lang->todo->typeList['custom'] = '自定義'; -$lang->todo->typeList['cycle'] = '周期'; -$lang->todo->typeList['bug'] = 'Bug'; -$lang->todo->typeList['task'] = '任務'; -$lang->todo->typeList['story'] = $lang->SRCommon; -$lang->todo->typeList['testtask'] = '測試單'; +$lang->todo->typeList['custom'] = '自定義'; +$lang->todo->typeList['cycle'] = '周期'; +$lang->todo->typeList['bug'] = 'Bug'; +$lang->todo->typeList['task'] = '任務'; +$lang->todo->typeList['story'] = $lang->SRCommon; +$lang->todo->typeList['testtask'] = '測試單'; $lang->todo->confirmDelete = "您確定要刪除這條待辦嗎?"; $lang->todo->thisIsPrivate = '這是一條私人事務。:)'; @@ -112,6 +112,7 @@ $lang->todo->lblClickCreate = "點擊添加待辦"; $lang->todo->noTodo = '該類型沒有待辦事務'; $lang->todo->noAssignedTo = '被指派人不能為空'; $lang->todo->unfinishedTodo = '待辦ID %s 不是完成狀態,不能關閉。'; +$lang->todo->today = '今日待辦'; $lang->todo->periods['all'] = '所有'; $lang->todo->periods['before'] = '未完'; diff --git a/module/upgrade/lang/version.php b/module/upgrade/lang/version.php index 6e8a47a9af..6b05bfaf8a 100644 --- a/module/upgrade/lang/version.php +++ b/module/upgrade/lang/version.php @@ -146,3 +146,4 @@ $lang->upgrade->fromVersions['15_4'] = '15.4'; $lang->upgrade->fromVersions['15_5'] = '15.5'; $lang->upgrade->fromVersions['15_6'] = '15.6'; $lang->upgrade->fromVersions['15_7'] = '15.7'; +$lang->upgrade->fromVersions['15_7_1'] = '15.7.1'; diff --git a/module/upgrade/model.php b/module/upgrade/model.php index 045570de02..22aaeede23 100644 --- a/module/upgrade/model.php +++ b/module/upgrade/model.php @@ -940,6 +940,7 @@ class upgradeModel extends model case '15_5': $confirmContent .= file_get_contents($this->getUpgradeFile('15.5')); case '15_6': $confirmContent .= file_get_contents($this->getUpgradeFile('15.6')); case '15_7': $confirmContent .= file_get_contents($this->getUpgradeFile('15.7')); + case '15_7_1': $confirmContent .= file_get_contents($this->getUpgradeFile('15.7.1')); } return str_replace('zt_', $this->config->db->prefix, $confirmContent); } diff --git a/module/user/lang/en.php b/module/user/lang/en.php index f964a41a94..55751b0aee 100644 --- a/module/user/lang/en.php +++ b/module/user/lang/en.php @@ -186,8 +186,9 @@ $lang->user->personalData['createdIssues'] = 'Issues Created'; $lang->user->personalData['resolvedIssues'] = 'Issues Resolved'; $lang->user->personalData['createdDocs'] = 'Docs Created'; -$lang->user->keepLogin['on'] = 'Keep Login'; -$lang->user->loginWithDemoUser = 'Login as Demo User:'; +$lang->user->keepLogin['on'] = 'Keep Login'; +$lang->user->loginWithDemoUser = 'Login as Demo User:'; +$lang->user->scanToLogin = 'Scan QR Code'; $lang->user->tpl = new stdclass(); $lang->user->tpl->type = 'Type'; @@ -206,6 +207,10 @@ $lang->user->placeholder->group = "Group is related to user privileges."; $lang->user->placeholder->commiter = 'SVN/Git account'; $lang->user->placeholder->verify = 'Please enter your ZenTao login password to verify..'; +$lang->user->placeholder->loginPassword = 'Enter your password'; +$lang->user->placeholder->loginAccount = 'Enter your account'; +$lang->user->placeholder->loginUrl = 'Enter your ZenTao address'; + $lang->user->placeholder->passwordStrength[1] = '>= 6 letters and numbers'; $lang->user->placeholder->passwordStrength[2] = '>= 10 letters, numbers and special characters'; @@ -219,6 +224,8 @@ $lang->user->error->reserved = "ID %s,account is reserved."; $lang->user->error->weakPassword = "ID %s,the password strength is less than the system setting."; $lang->user->error->dangerPassword = "ID %s,passwords cannot be used with [%s] these commonly used if-passwords."; +$lang->user->error->url = "Invalid address. Please contact your ZenTao Admin."; +$lang->user->error->verify = "Wrong account or password."; $lang->user->error->verifyPassword = "Verification failed. Please enter your Login Password."; $lang->user->error->originalPassword = "Old password is incorrect."; $lang->user->error->companyEmpty = "Company name must be not empty."; diff --git a/module/user/lang/zh-tw.php b/module/user/lang/zh-tw.php index 2172e95219..c721a5f308 100644 --- a/module/user/lang/zh-tw.php +++ b/module/user/lang/zh-tw.php @@ -186,8 +186,9 @@ $lang->user->personalData['createdIssues'] = '創建的問題數'; $lang->user->personalData['resolvedIssues'] = '解決的問題數'; $lang->user->personalData['createdDocs'] = '創建的文檔數'; -$lang->user->keepLogin['on'] = '保持登錄'; -$lang->user->loginWithDemoUser = '使用demo帳號登錄:'; +$lang->user->keepLogin['on'] = '保持登錄'; +$lang->user->loginWithDemoUser = '使用demo帳號登錄:'; +$lang->user->scanToLogin = '掃一掃登錄'; $lang->user->tpl = new stdclass(); $lang->user->tpl->type = '類型'; @@ -199,12 +200,16 @@ $lang->usertpl = new stdclass(); $lang->usertpl->title = '模板名稱'; $lang->user->placeholder = new stdclass(); -$lang->user->placeholder->account = '英文、數字和下劃線的組合,三位以上'; -$lang->user->placeholder->password1 = '六位以上'; -$lang->user->placeholder->role = '職位影響內容和用戶列表的順序。'; -$lang->user->placeholder->group = '分組決定用戶的權限列表。'; -$lang->user->placeholder->commiter = '版本控制系統(subversion)中的帳號'; -$lang->user->placeholder->verify = '請輸入您的系統登錄密碼'; +$lang->user->placeholder->account = '英文、數字和下劃線的組合,三位以上'; +$lang->user->placeholder->password1 = '六位以上'; +$lang->user->placeholder->role = '職位影響內容和用戶列表的順序。'; +$lang->user->placeholder->group = '分組決定用戶的權限列表。'; +$lang->user->placeholder->commiter = '版本控制系統(subversion)中的帳號'; +$lang->user->placeholder->verify = '請輸入您的系統登錄密碼'; + +$lang->user->placeholder->loginPassword = '請輸入密碼'; +$lang->user->placeholder->loginAccount = '請輸入用戶名'; +$lang->user->placeholder->loginUrl = '請輸入禪道系統網址'; $lang->user->placeholder->passwordStrength[1] = '6位以上,包含大小寫字母,數字。'; $lang->user->placeholder->passwordStrength[2] = '10位以上,包含大小寫字母,數字,特殊字元。'; @@ -219,6 +224,8 @@ $lang->user->error->reserved = "【ID %s】的用戶名已被系統預留" $lang->user->error->weakPassword = "【ID %s】的密碼強度小於系統設定。"; $lang->user->error->dangerPassword = "【ID %s】的密碼不能使用【%s】這些常用若口令。"; +$lang->user->error->url = "網址不正確,請聯繫管理員"; +$lang->user->error->verify = "用戶名或密碼錯誤"; $lang->user->error->verifyPassword = "驗證失敗,請檢查您的系統登錄密碼是否正確"; $lang->user->error->originalPassword = "原密碼不正確"; $lang->user->error->companyEmpty = "公司名稱不能為空!"; @@ -267,16 +274,19 @@ $lang->user->process4DB = "檢測到您可能在使用一鍵安裝包環境, $lang->user->mkdirWin = <<
-
不能創建臨時目錄,請確認目錄%s是否存在並有操作權限。
+
不能創建臨時目錄,請確認目錄%s是否存在並有操作權限。
Can't create tmp directory, make sure the directory %s exists and has permission to operate.
EOT; $lang->user->mkdirLinux = <<
-
不能創建臨時目錄,請確認目錄%s是否存在並有操作權限。
+
不能創建臨時目錄,請確認目錄%s是否存在並有操作權限。
命令為:chmod o=rwx -R %s
Can't create tmp directory, make sure the directory %s exists and has permission to operate.
Commond: chmod o=rwx -R %s.
EOT; + +$lang->user->zentaoapp = new stdclass(); +$lang->user->zentaoapp->logout = '退出登錄';