Merge branch 'master' of https://github.com/easysoft/zentaopms
This commit is contained in:
+1
-1
@@ -16,7 +16,7 @@ if(!class_exists('config')){class config{}}
|
||||
if(!function_exists('getWebRoot')){function getWebRoot(){}}
|
||||
|
||||
/* 基本设置。Basic settings. */
|
||||
$config->version = '11.4'; // ZenTaoPHP的版本。 The version of ZenTaoPHP. Don't change it.
|
||||
$config->version = '11.4.1'; // 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.
|
||||
|
||||
@@ -0,0 +1,906 @@
|
||||
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(9) NOT NULL,
|
||||
`actor` varchar(30) 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 `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,
|
||||
`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 `accountModuleOrder` (`account`,`module`,`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,
|
||||
`product` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`branch` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`module` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`project` 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',
|
||||
`color` char(7) NOT NULL,
|
||||
`confirmed` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`activatedCount` smallint(6) NOT NULL,
|
||||
`activatedDate` datetime NOT NULL,
|
||||
`mailto` text,
|
||||
`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,
|
||||
`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 `project` (`project`),
|
||||
KEY `status` (`status`),
|
||||
KEY `plan` (`plan`),
|
||||
KEY `story` (`story`),
|
||||
KEY `case` (`case`),
|
||||
KEY `assignedTo` (`assignedTo`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
CREATE TABLE `zt_build` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`product` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`branch` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`project` 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 `project` (`project`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
CREATE TABLE `zt_burn` (
|
||||
`project` 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,
|
||||
PRIMARY KEY (`project`,`date`,`task`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
CREATE TABLE `zt_case` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`product` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`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',
|
||||
`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',
|
||||
`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,
|
||||
`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 `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_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` text NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `unique` (`owner`,`module`,`section`,`key`)
|
||||
) ENGINE=MyISAM 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 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` tinyint(3) 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,
|
||||
`product` mediumint(8) unsigned NOT NULL,
|
||||
`project` 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,
|
||||
`collector` text NOT NULL,
|
||||
`addedBy` varchar(30) NOT NULL,
|
||||
`addedDate` datetime NOT NULL,
|
||||
`editedBy` varchar(30) NOT NULL,
|
||||
`editedDate` datetime NOT 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 `project` (`project`),
|
||||
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` text 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,
|
||||
`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 `project` (`project`)
|
||||
) 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,
|
||||
`ip` varchar(100) 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;
|
||||
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(100) 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,
|
||||
`name` char(30) NOT NULL,
|
||||
`role` char(30) NOT NULL DEFAULT '',
|
||||
`desc` char(255) NOT NULL DEFAULT '',
|
||||
`acl` text,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM 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_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 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_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`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
CREATE TABLE `zt_product` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(90) NOT NULL,
|
||||
`code` varchar(45) NOT NULL,
|
||||
`line` mediumint(8) NOT NULL,
|
||||
`type` varchar(30) NOT NULL DEFAULT 'normal',
|
||||
`status` 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 `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,
|
||||
`isCat` enum('1','0') NOT NULL DEFAULT '0',
|
||||
`catID` mediumint(8) unsigned NOT NULL,
|
||||
`type` varchar(20) NOT NULL DEFAULT 'sprint',
|
||||
`parent` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`name` varchar(90) NOT NULL,
|
||||
`code` varchar(45) NOT NULL,
|
||||
`begin` date NOT NULL,
|
||||
`end` date NOT NULL,
|
||||
`days` smallint(5) unsigned NOT NULL,
|
||||
`status` varchar(10) NOT NULL,
|
||||
`statge` enum('1','2','3','4','5') NOT NULL DEFAULT '1',
|
||||
`pri` enum('1','2','3','4') NOT NULL DEFAULT '1',
|
||||
`desc` text NOT NULL,
|
||||
`openedBy` varchar(30) NOT NULL DEFAULT '',
|
||||
`openedDate` datetime NOT NULL,
|
||||
`openedVersion` varchar(20) 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` enum('open','private','custom') 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 `order` (`order`)
|
||||
) 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_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_release` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`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,
|
||||
`status` varchar(20) NOT NULL DEFAULT 'normal',
|
||||
`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_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_story` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`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,
|
||||
`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 '',
|
||||
`pri` tinyint(3) unsigned NOT NULL DEFAULT '3',
|
||||
`estimate` float unsigned NOT NULL,
|
||||
`status` enum('','changed','active','draft','closed') NOT NULL DEFAULT '',
|
||||
`color` char(7) NOT NULL,
|
||||
`stage` enum('','wait','planned','projected','developing','developed','testing','tested','verified','released','closed') NOT NULL DEFAULT 'wait',
|
||||
`mailto` text,
|
||||
`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` date NOT NULL,
|
||||
`closedBy` varchar(30) NOT NULL DEFAULT '',
|
||||
`closedDate` datetime NOT NULL,
|
||||
`closedReason` varchar(30) NOT NULL,
|
||||
`toBug` mediumint(9) 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',
|
||||
`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_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,
|
||||
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,
|
||||
`parent` mediumint(8) NOT NULL DEFAULT '0',
|
||||
`project` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`module` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`story` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`storyVersion` smallint(6) NOT NULL DEFAULT '1',
|
||||
`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',
|
||||
`color` char(7) NOT NULL,
|
||||
`mailto` text,
|
||||
`desc` text 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` date 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,
|
||||
`closedReason` varchar(30) NOT NULL,
|
||||
`lastEditedBy` varchar(30) NOT NULL,
|
||||
`lastEditedDate` datetime NOT NULL,
|
||||
`deleted` enum('0','1') NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `project` (`project`),
|
||||
KEY `story` (`story`),
|
||||
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,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `task` (`task`)
|
||||
) 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') 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(2,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,
|
||||
`product` mediumint(8) unsigned NOT NULL,
|
||||
`project` 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,
|
||||
`caseResult` char(30) NOT NULL,
|
||||
`stepResults` text NOT NULL,
|
||||
`lastRunner` varchar(30) NOT NULL,
|
||||
`date` datetime 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,
|
||||
`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,
|
||||
`name` char(90) NOT NULL,
|
||||
`product` mediumint(8) unsigned NOT NULL,
|
||||
`project` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`build` char(30) NOT NULL,
|
||||
`owner` varchar(30) NOT NULL,
|
||||
`pri` tinyint(3) unsigned NOT NULL DEFAULT '0',
|
||||
`begin` date NOT NULL,
|
||||
`end` date NOT NULL,
|
||||
`mailto` text,
|
||||
`desc` text NOT NULL,
|
||||
`report` text NOT NULL,
|
||||
`status` enum('blocked','doing','wait','done') NOT NULL DEFAULT 'wait',
|
||||
`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,
|
||||
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,
|
||||
`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` char(30) NOT NULL DEFAULT '',
|
||||
`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 '',
|
||||
`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`)
|
||||
) 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',
|
||||
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,
|
||||
`products` mediumtext NOT NULL,
|
||||
`projects` 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(10) NOT NULL DEFAULT 'default',
|
||||
`name` varchar(50) NOT NULL,
|
||||
`url` varchar(255) NOT NULL,
|
||||
`domain` varchar(255) NOT NULL,
|
||||
`contentType` varchar(30) NOT NULL DEFAULT 'application/json',
|
||||
`sendType` enum('sync','async') NOT NULL DEFAULT 'sync',
|
||||
`products` text NOT NULL,
|
||||
`projects` 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;
|
||||
@@ -1,3 +1,7 @@
|
||||
2019-03-25 11.4.1
|
||||
完善细节,修复bug。
|
||||
完成相关调整支持专业版里相关功能。
|
||||
|
||||
2019-03-25 11.4.stable
|
||||
完成的需求:
|
||||
2584 国际版本去掉用户列表的首字母功能
|
||||
|
||||
@@ -332,6 +332,10 @@ class backup extends control
|
||||
if(strtolower($this->server->request_method) == "post")
|
||||
{
|
||||
$data = fixer::input('post')->join('setting', ',')->get();
|
||||
|
||||
/*save change*/
|
||||
if(isset($data->holdDays)) $this->loadModel('setting')->setItem('system.backup.holdDays', $data->holdDays);
|
||||
|
||||
$setting = '';
|
||||
if(isset($data->setting)) $setting = $data->setting;
|
||||
$this->loadModel('setting')->setItem('system.backup.setting', $setting);
|
||||
|
||||
@@ -3,7 +3,7 @@ $lang->backup->common = 'Backup';
|
||||
$lang->backup->index = 'Home';
|
||||
$lang->backup->history = 'History';
|
||||
$lang->backup->delete = 'Delete';
|
||||
$lang->backup->backup = 'Backup';
|
||||
$lang->backup->backup = 'Start backup';
|
||||
$lang->backup->restore = 'Restore';
|
||||
$lang->backup->change = 'Modify expiration';
|
||||
$lang->backup->changeAB = 'Modify';
|
||||
|
||||
@@ -3,9 +3,9 @@ $lang->backup->common = '备份';
|
||||
$lang->backup->index = '备份首页';
|
||||
$lang->backup->history = '备份历史';
|
||||
$lang->backup->delete = '删除备份';
|
||||
$lang->backup->backup = '备份';
|
||||
$lang->backup->backup = '开始备份';
|
||||
$lang->backup->restore = '还原';
|
||||
$lang->backup->change = '修改保留时间';
|
||||
$lang->backup->change = '保留时间';
|
||||
$lang->backup->changeAB = '修改';
|
||||
$lang->backup->rmPHPHeader = '去除安全设置';
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@ $lang->backup->common = '備份';
|
||||
$lang->backup->index = '備份首頁';
|
||||
$lang->backup->history = '備份歷史';
|
||||
$lang->backup->delete = '刪除備份';
|
||||
$lang->backup->backup = '備份';
|
||||
$lang->backup->backup = '開始備份';
|
||||
$lang->backup->restore = '還原';
|
||||
$lang->backup->change = '修改保留時間';
|
||||
$lang->backup->change = '保留時間';
|
||||
$lang->backup->changeAB = '修改';
|
||||
$lang->backup->rmPHPHeader = '去除安全設置';
|
||||
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* The change view file of backup module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Yidong Wang <yidong@cnezsoft.com>
|
||||
* @package backup
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.lite.html.php';?>
|
||||
<div id='mainContent' class='main-content'>
|
||||
<div class='main-header'>
|
||||
<h2><?php echo $lang->backup->change;?></h2>
|
||||
</div>
|
||||
<form method='post' target='hiddenwin' style='padding:10px 5%'>
|
||||
<table class='w-p100'>
|
||||
<tr>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<?php echo html::input('holdDays', $config->backup->holdDays, "class='form-control'");?>
|
||||
<strong class='input-group-addon'><?php echo $lang->day;?></strong>
|
||||
</div>
|
||||
</td>
|
||||
<td><?php echo html::submitButton('', '', 'btn btn-primary');?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.lite.html.php';?>
|
||||
|
||||
@@ -18,21 +18,16 @@
|
||||
<?php endif;?>
|
||||
<div id='mainMenu' class='clearfix'>
|
||||
<div class='btn-toolbar pull-left'><?php common::printAdminSubMenu('data');?></div>
|
||||
<div class='btn-toolbar pull-right'>
|
||||
<?php common::printLink('backup', 'setting', '', "<i class='icon icon-cog'></i>" . $lang->backup->setting, '', "data-width='400' class='iframe btn btn-primary'");?>
|
||||
<?php common::printLink('backup', 'backup', 'reload=yes', "<i class='icon icon-copy'></i>" . $lang->backup->backup, 'hiddenwin', "class='iframe btn btn-primary backup'");?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id='mainContent' class='main-content'>
|
||||
<div class='main-header'>
|
||||
<h2>
|
||||
<?php echo $lang->backup->history?>
|
||||
<span class='label label-info'><?php echo $lang->backup->restoreTip;?></span>
|
||||
</h2>
|
||||
<div class='pull-right'>
|
||||
<?php printf($lang->backup->holdDays, $config->backup->holdDays)?>
|
||||
<?php if(common::hasPriv('backup', 'change')) echo html::a(inlink('change'), $lang->backup->changeAB, '', "class='iframe btn btn-sm btn-info' data-width='300'");?>
|
||||
<?php common::printLink('backup', 'setting', '', "<i class='icon icon-cog'></i>" . $lang->backup->setting, '', "data-width='400' class='iframe btn btn-primary'");?>
|
||||
<?php common::printLink('backup', 'backup', 'reload=yes', "<i class='icon icon-copy'></i> " . $lang->backup->backup, 'hiddenwin', "class='btn btn-primary backup'");?>
|
||||
</div>
|
||||
</div>
|
||||
<table class='table table-condensed table-bordered active-disabled table-fixed'>
|
||||
@@ -76,6 +71,12 @@
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
</table>
|
||||
<h2>
|
||||
<span class='label label-info'>
|
||||
<?php echo $lang->backup->restoreTip;?>
|
||||
<?php printf($lang->backup->holdDays, $config->backup->holdDays)?>
|
||||
</span>
|
||||
</h2>
|
||||
</div>
|
||||
<div class="modal fade" id="waitting" tabindex="-1" role="dialog" aria-hidden="true">
|
||||
<div class="modal-dialog w-300px">
|
||||
@@ -87,7 +88,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php js::set('backup', $lang->backup->backup);?>
|
||||
<?php js::set('backup', $lang->backup->common);?>
|
||||
<?php js::set('rmPHPHeader', $lang->backup->rmPHPHeader);?>
|
||||
<?php js::set('confirmRestore', $lang->backup->confirmRestore);?>
|
||||
<?php js::set('restore', $lang->backup->restore);?>
|
||||
|
||||
@@ -32,6 +32,17 @@
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php if(common::hasPriv('backup', 'change')):?>
|
||||
<tr>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<span class='input-group-addon'><?php echo $lang->backup->change;?></span>
|
||||
<?php echo html::input('holdDays', $config->backup->holdDays, "class='form-control'");?>
|
||||
<span class='input-group-addon'><?php echo $lang->day;?></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<tr><td><?php echo html::submitButton('', '', 'btn btn-primary');?></td></tr>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
@@ -38,6 +38,17 @@ class blockModel extends model
|
||||
->remove('uid,actionLink,modules,moduleBlock')
|
||||
->get();
|
||||
|
||||
if($this->post->moduleBlock)
|
||||
{
|
||||
$data->source = $this->post->modules;
|
||||
$data->block = $this->post->moduleBlock;
|
||||
}
|
||||
else
|
||||
{
|
||||
$data->source = '';
|
||||
$data->block = $this->post->modules;
|
||||
}
|
||||
|
||||
if($block) $data->height = $block->height;
|
||||
if($type == 'html')
|
||||
{
|
||||
|
||||
@@ -77,6 +77,8 @@ $lang->custom->user->fields['statusList'] = 'Status';
|
||||
$lang->custom->user->fields['contactField'] = 'Available Contact';
|
||||
$lang->custom->user->fields['deleted'] = 'Deleted User';
|
||||
|
||||
$lang->custom->system = array('flow', 'working', 'required', 'score');
|
||||
|
||||
$lang->custom->block->fields['closed'] = 'Closed Block';
|
||||
|
||||
$lang->custom->currentLang = 'Current Language';
|
||||
|
||||
@@ -77,6 +77,8 @@ $lang->custom->user->fields['statusList'] = '状态';
|
||||
$lang->custom->user->fields['contactField'] = '可用联系方式';
|
||||
$lang->custom->user->fields['deleted'] = '列出已删除用户';
|
||||
|
||||
$lang->custom->system = array('flow', 'working', 'required', 'score');
|
||||
|
||||
$lang->custom->block->fields['closed'] = '关闭的区块';
|
||||
|
||||
$lang->custom->currentLang = '适用当前语言';
|
||||
|
||||
@@ -77,6 +77,8 @@ $lang->custom->user->fields['statusList'] = '狀態';
|
||||
$lang->custom->user->fields['contactField'] = '可用聯繫方式';
|
||||
$lang->custom->user->fields['deleted'] = '列出已刪除用戶';
|
||||
|
||||
$lang->custom->system = array('flow', 'working', 'required', 'score');
|
||||
|
||||
$lang->custom->block->fields['closed'] = '關閉的區塊';
|
||||
|
||||
$lang->custom->currentLang = '適用當前語言';
|
||||
|
||||
@@ -6,10 +6,11 @@
|
||||
{
|
||||
common::printLink('custom', 'set', "module=$object", "<span class='text'>{$name}</span>", '', "class='btn btn-link' id='{$object}Tab'");
|
||||
}
|
||||
common::printLink('custom', 'flow', "", "<span class='text'>{$lang->custom->flow}</span>", '', "class='btn btn-link' id='flowTab'");
|
||||
common::printLink('custom', 'working', '', "<span class='text'>{$lang->custom->working}</span>", '', "class='btn btn-link' id='workingTab'");
|
||||
common::printLink('custom', 'required', '', "<span class='text'>{$lang->custom->required}</span>", '', "class='btn btn-link' id='requiredTab'");
|
||||
common::printLink('custom', 'score', '', "<span class='text'>{$lang->custom->score}</span>", '', "class='btn btn-link' id='scoreTab'");
|
||||
|
||||
foreach($lang->custom->system as $sysObject)
|
||||
{
|
||||
common::printLink('custom', $sysObject, "", "<span class='text'>{$lang->custom->$sysObject}</span>", '', "class='btn btn-link' id='{$sysObject}Tab'");
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -64,7 +64,7 @@ function initPage(type)
|
||||
}
|
||||
if(type == 'word' || type == 'ppt' || type == 'excel')
|
||||
{
|
||||
if($('#contentBox')).hide();
|
||||
if($('#urlBox')).hide();
|
||||
$('#contentBox').hide();
|
||||
$('#urlBox').hide();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,6 +76,7 @@ $lang->misc->feature = new stdclass();
|
||||
$lang->misc->feature->lastest = 'Latest Version';
|
||||
$lang->misc->feature->detailed = 'Details';
|
||||
|
||||
$lang->misc->releaseDate['11.4.1'] = '2019-04-08';
|
||||
$lang->misc->releaseDate['11.4.stable'] = '2019-03-25';
|
||||
$lang->misc->releaseDate['11.3.stable'] = '2019-02-27';
|
||||
$lang->misc->releaseDate['11.2.stable'] = '2019-01-30';
|
||||
@@ -101,6 +102,8 @@ $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['11.4.1'][] = array('title'=>'Optimize details and fix bug.', 'desc' => '');
|
||||
|
||||
$lang->misc->feature->all['11.4.stable'][] = array('title'=>'Optimize details and fix bug.', 'desc' => '<p>Enhanced test management.</p><p>Optimized the UI of Plan, Release, and Build linked stories and bugs.</p><p>Customize the feature whether to display files in child category.</p><p>Optimize details and fix bug.</p>');
|
||||
|
||||
$lang->misc->feature->all['11.3.stable'][] = array('title'=>'Optimize details and fix bug.', 'desc' => '<p>Add Child Plan to a Plan</p><p>Optimize the chosen</p><p>Add Timezone setting</p><p>Optimize Doc Lib and Doc modules</p>');
|
||||
|
||||
@@ -76,6 +76,7 @@ $lang->misc->feature = new stdclass();
|
||||
$lang->misc->feature->lastest = '最新版本';
|
||||
$lang->misc->feature->detailed = '详情';
|
||||
|
||||
$lang->misc->releaseDate['11.4.1'] = '2019-04-08';
|
||||
$lang->misc->releaseDate['11.4.stable'] = '2019-03-25';
|
||||
$lang->misc->releaseDate['11.3.stable'] = '2019-02-27';
|
||||
$lang->misc->releaseDate['11.2.stable'] = '2019-01-30';
|
||||
@@ -101,6 +102,8 @@ $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['11.4.1'][] = array('title'=>'完善细节,修复Bug', 'desc' => '');
|
||||
|
||||
$lang->misc->feature->all['11.4.stable'][] = array('title'=>'完善细节,修复Bug', 'desc' => '<p>增强测试任务管理</p><p>优化计划、发布、版本关联需求和bug的交互</p><p>文档库可以自定义是否显示子分类里的文档</p><p>修复bug,完善细节</p>');
|
||||
|
||||
$lang->misc->feature->all['11.3.stable'][] = array('title'=>'完善细节,修复Bug', 'desc' => '<p>计划添加子计划功能</p><p>优化chosen交互</p><p>添加时区设置</p><p>优化文档库和文档</p>');
|
||||
|
||||
@@ -76,6 +76,7 @@ $lang->misc->feature = new stdclass();
|
||||
$lang->misc->feature->lastest = '最新版本';
|
||||
$lang->misc->feature->detailed = '詳情';
|
||||
|
||||
$lang->misc->releaseDate['11.4.1'] = '2019-04-08';
|
||||
$lang->misc->releaseDate['11.4.stable'] = '2019-03-25';
|
||||
$lang->misc->releaseDate['11.3.stable'] = '2019-02-27';
|
||||
$lang->misc->releaseDate['11.2.stable'] = '2019-01-30';
|
||||
@@ -101,6 +102,8 @@ $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['11.4.1'][] = array('title'=>'完善細節,修復Bug', 'desc' => '');
|
||||
|
||||
$lang->misc->feature->all['11.4.stable'][] = array('title'=>'完善細節,修復Bug', 'desc' => '<p>增強測試任務管理</p><p>優化計劃、發佈、版本關聯需求和bug的交互</p><p>文檔庫可以自定義是否顯示子分類裡的文檔</p><p>修復bug,完善細節</p>');
|
||||
|
||||
$lang->misc->feature->all['11.3.stable'][] = array('title'=>'完善細節,修復Bug', 'desc' => '<p>計劃添加子計劃功能</p><p>優化chosen交互</p><p>添加時區設置</p><p>優化文檔庫和文檔</p>');
|
||||
|
||||
@@ -37,8 +37,8 @@
|
||||
<?php
|
||||
$checkObject = new stdclass();
|
||||
$checkObject->project = $projectID;
|
||||
$misc = common::hasPriv('task', 'create', $checkObject) ? "class='btn btn-primary'" : "class='btn btn-primary disabled'";
|
||||
$link = common::hasPriv('task', 'create', $checkObject) ? $this->createLink('task', 'create', "project=$projectID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : '')) : '#';
|
||||
$misc = common::hasPriv('task', 'create', $checkObject) ? "class='btn btn-primary iframe' data-width='1200px'" : "class='btn btn-primary disabled'";
|
||||
$link = common::hasPriv('task', 'create', $checkObject) ? $this->createLink('task', 'create', "project=$projectID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : ''), '', true) : '#';
|
||||
echo html::a($link, "<i class='icon icon-plus'></i>" . $lang->task->create, '', $misc);
|
||||
?>
|
||||
</div>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<div data-ride='table'>
|
||||
<table class='table table-condensed table-striped table-bordered table-fixed no-margin' id='bugAssign'>
|
||||
<thead>
|
||||
<tr class='colhead'>
|
||||
<tr class='colhead text-center'>
|
||||
<th><?php echo $lang->report->user;?></th>
|
||||
<th><?php echo $lang->report->product;?></th>
|
||||
<th><?php echo $lang->report->bugTotal;?></th>
|
||||
@@ -35,11 +35,11 @@
|
||||
<tbody>
|
||||
<?php foreach($assigns as $account => $assign):?>
|
||||
<?php if(!array_key_exists($account, $users)) continue;?>
|
||||
<tr class="a-center">
|
||||
<tr class="a-center text-center">
|
||||
<td rowspan="<?php echo count($assign['bug']);?>"><?php echo $users[$account];?></td>
|
||||
<?php $id = 1;?>
|
||||
<?php foreach($assign['bug'] as $product => $count):?>
|
||||
<?php if($id != 1) echo '<tr class="a-center">';?>
|
||||
<?php if($id != 1) echo '<tr class="a-center text-center">';?>
|
||||
<td><?php echo html::a($this->createLink('product', 'view', "product={$count['productID']}"), $product);?></td>
|
||||
<td><?php echo $count['count'];?></td>
|
||||
<?php if($id == 1):?>
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
<div data-ride='table'>
|
||||
<table class='table table-condensed table-striped table-bordered table-fixed no-margin' id="bug">
|
||||
<thead>
|
||||
<tr class='colhead'>
|
||||
<tr class='colhead text-center'>
|
||||
<th><?php echo $lang->bug->openedBy;?></th>
|
||||
<th><?php echo $lang->bug->unResolved;?></th>
|
||||
<?php foreach($lang->bug->resolutionList as $resolutionType => $resolution):?>
|
||||
|
||||
@@ -158,7 +158,7 @@ class story extends control
|
||||
/* Init vars. */
|
||||
$source = '';
|
||||
$sourceNote = '';
|
||||
$pri = 0;
|
||||
$pri = 3;
|
||||
$estimate = '';
|
||||
$title = '';
|
||||
$spec = '';
|
||||
|
||||
@@ -68,7 +68,7 @@ $lang->task->datePlan = '日程規劃';
|
||||
$lang->task->estStarted = '預計開始';
|
||||
$lang->task->realStarted = '實際開始';
|
||||
$lang->task->date = '日期';
|
||||
$lang->task->deadline = '計劃完成';
|
||||
$lang->task->deadline = '截止日期';
|
||||
$lang->task->deadlineAB = '截止';
|
||||
$lang->task->status = '任務狀態';
|
||||
$lang->task->desc = '任務描述';
|
||||
|
||||
@@ -104,7 +104,7 @@
|
||||
<th class='w-80px'> <?php echo $lang->task->status;?></th>
|
||||
<th class='w-60px visible-lg'><?php echo $lang->task->consumedAB . $lang->task->lblHour;?></th>
|
||||
<th class='w-60px visible-lg'><?php echo $lang->task->leftAB . $lang->task->lblHour;?></th>
|
||||
<th class='w-250px'><?php echo $lang->actions;?></th>
|
||||
<th class='w-170px'><?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -126,12 +126,12 @@
|
||||
<td class='visible-lg'><?php echo $child->left;?></td>
|
||||
<td class='c-actions'>
|
||||
<?php
|
||||
common::printIcon('task', 'assignTo', "projectID=$child->project&taskID=$child->id", $child, 'list', '', '', 'iframe', true);
|
||||
common::printIcon('task', 'start', "taskID=$child->id", $child, 'list', '', '', 'iframe', true);
|
||||
common::printIcon('task', 'activate', "taskID=$child->id", $child, 'list', '', '', 'iframe', true);
|
||||
common::printIcon('task', 'recordEstimate', "taskID=$child->id", $child, 'list', 'time', '', 'iframe', true);
|
||||
common::printIcon('task', 'finish', "taskID=$child->id", $child, 'list', '', '', 'iframe', true);
|
||||
common::printIcon('task', 'close', "taskID=$child->id", $child, 'list', '', '', 'iframe', true);
|
||||
common::printIcon('task', 'assignTo', "projectID=$child->project&taskID=$child->id", $child, 'list', '', '', 'iframe showinonlybody', true);
|
||||
common::printIcon('task', 'start', "taskID=$child->id", $child, 'list', '', '', 'iframe showinonlybody', true);
|
||||
common::printIcon('task', 'activate', "taskID=$child->id", $child, 'list', '', '', 'iframe showinonlybody', true);
|
||||
common::printIcon('task', 'recordEstimate', "taskID=$child->id", $child, 'list', 'time', '', 'iframe showinonlybody', true);
|
||||
common::printIcon('task', 'finish', "taskID=$child->id", $child, 'list', '', '', 'iframe showinonlybody', true);
|
||||
common::printIcon('task', 'close', "taskID=$child->id", $child, 'list', '', '', 'iframe showinonlybody', true);
|
||||
common::printIcon('task', 'edit', "taskID=$child->id", $child, 'list');
|
||||
?>
|
||||
</td>
|
||||
@@ -164,7 +164,7 @@
|
||||
|
||||
if(!isonlybody()) echo "<div class='divider'></div>";
|
||||
if(empty($task->team) or empty($task->children)) common::printIcon('task', 'batchCreate', "project=$task->project&storyID=$task->story&moduleID=$task->module&taskID=$task->id", $task, 'button','plus','','','','',' ');
|
||||
common::printIcon('task', 'edit', "taskID=$task->id", $task);
|
||||
common::printIcon('task', 'edit', "taskID=$task->id", $task, 'button', '', '', 'showinonlybody');
|
||||
common::printIcon('task', 'create', "productID=0&storyID=0&moduleID=0&taskID=$task->id", $task, 'button', 'copy');
|
||||
common::printIcon('task', 'delete', "projectID=$task->project&taskID=$task->id", $task, 'button', 'trash', 'hiddenwin');
|
||||
|
||||
|
||||
@@ -257,7 +257,7 @@ class testcase extends control
|
||||
/* Init vars. */
|
||||
$type = 'feature';
|
||||
$stage = '';
|
||||
$pri = 0;
|
||||
$pri = 3;
|
||||
$caseTitle = '';
|
||||
$precondition = '';
|
||||
$keywords = '';
|
||||
|
||||
@@ -155,6 +155,14 @@ class tree extends control
|
||||
$title = $this->lang->tree->manageLine;
|
||||
$position[] = $this->lang->tree->manageLine;
|
||||
}
|
||||
elseif($viewType == 'trainskill')
|
||||
{
|
||||
$this->lang->set('menugroup.tree', 'train');
|
||||
$this->lang->tree->menu = $this->lang->trainskill->menu;
|
||||
|
||||
$title = $this->lang->tree->manageTrainskill;
|
||||
$position[] = $this->lang->tree->manageTrainskill;
|
||||
}
|
||||
|
||||
$parentModules = $this->tree->getParents($currentModuleID);
|
||||
$this->view->title = $title;
|
||||
|
||||
@@ -982,6 +982,32 @@ class treeModel extends model
|
||||
return html::a(helper::createLink('feedback', $this->app->methodName, "type=byModule¶m={$module->id}"), $module->name, '_self', "id='module{$module->id}'");
|
||||
}
|
||||
|
||||
/**
|
||||
* Create link of trainskill.
|
||||
*
|
||||
* @param string $type
|
||||
* @param object $module
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function createTrainSkillLink($type, $module, $extra = '')
|
||||
{
|
||||
return html::a(helper::createLink('trainskill', 'browse', "type=byModule¶m={$module->id}"), $module->name, '', "id='module{$module->id}'");
|
||||
}
|
||||
|
||||
/**
|
||||
* Create link of trainskill.
|
||||
*
|
||||
* @param string $type
|
||||
* @param object $module
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function createTrainCourseLink($type, $module, $extra = '')
|
||||
{
|
||||
return html::a(helper::createLink('traincourse', 'browse', "type=byModule¶m={$module->id}"), $module->name, '', "id='module{$module->id}'");
|
||||
}
|
||||
|
||||
/**
|
||||
* Get sons of a module.
|
||||
*
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<?php $this->app->loadLang('doc');?>
|
||||
<?php $hasBranch = (strpos('story|bug|case', $viewType) !== false and (!empty($root->type) && $root->type != 'normal')) ? true : false;?>
|
||||
<?php $name = $viewType == 'line' ? $lang->tree->line : (($viewType == 'doc' or $viewType == 'feedback') ? $lang->tree->cate : $lang->tree->name);?>
|
||||
<?php $title = $viewType == 'line' ? '' : ((strpos($viewType, 'doc') !== false || strpos($viewType, 'feedback') !== false) ? $lang->doc->childType : $lang->tree->child);?>
|
||||
<?php $title = $viewType == 'line' or $viewType == 'trainskill' ? '' : ((strpos($viewType, 'doc') !== false || strpos($viewType, 'feedback') !== false) ? $lang->doc->childType : $lang->tree->child);?>
|
||||
<div id="mainMenu" class="clearfix">
|
||||
<div class="btn-toolbar pull-left">
|
||||
<?php $backLink = $this->session->{$viewType . 'List'} ? $this->session->{$viewType . 'List'} : 'javascript:history.go(-1)';?>
|
||||
@@ -24,7 +24,7 @@
|
||||
</a>
|
||||
<div class="divider"></div>
|
||||
<div class="page-title">
|
||||
<?php $rootName = $viewType == 'line' ? '' : $root->name;?>
|
||||
<?php $rootName = $viewType == 'line' or $viewType == 'trainskill' ? '' : $root->name;?>
|
||||
<span class="text" title='<?php echo $rootName;?>'>
|
||||
<?php
|
||||
if($viewType == 'doc')
|
||||
@@ -39,6 +39,10 @@
|
||||
{
|
||||
echo $lang->tree->manageLine;
|
||||
}
|
||||
elseif($viewType == 'trainskill')
|
||||
{
|
||||
echo $lang->tree->manageTrainskill;
|
||||
}
|
||||
else
|
||||
{
|
||||
echo $lang->tree->common . $lang->colon . $root->name;
|
||||
@@ -64,7 +68,7 @@
|
||||
<div class="panel-heading">
|
||||
<div class="panel-title">
|
||||
<?php $manageChild = 'manage' . ucfirst($viewType) . 'Child';?>
|
||||
<?php echo strpos($viewType, 'doc') !== false ? $lang->doc->manageType : $lang->tree->$manageChild;?>
|
||||
<?php if(strpos($viewType, 'trainskill') === false ) echo strpos($viewType, 'doc') !== false ? $lang->doc->manageType : $lang->tree->$manageChild;?>
|
||||
</div>
|
||||
<?php if($viewType == 'story' and $allProduct):?>
|
||||
<div class="panel-actions btn-toolbar"><?php echo html::a('javascript:toggleCopy()', $lang->tree->syncFromProduct, '', "class='btn btn-sm'")?></div>
|
||||
@@ -74,7 +78,7 @@
|
||||
<form id='childrenForm' method='post' target='hiddenwin' action='<?php echo $this->createLink('tree', 'manageChild', "root=$rootID&viewType=$viewType");?>'>
|
||||
<table class='table table-form table-auto'>
|
||||
<tr>
|
||||
<?php if($viewType != 'line'):?>
|
||||
<?php if($viewType != 'line' && $viewType != 'trainskill'):?>
|
||||
<td class="text-middle text-right with-padding">
|
||||
<?php
|
||||
echo "<span>" . html::a($this->createLink('tree', 'browse', "root=$rootID&viewType=$viewType"), empty($root->name) ? '' : $root->name) . "<i class='icon icon-angle-right muted'></i></span>";
|
||||
@@ -141,7 +145,7 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<?php if($viewType != 'line'):?>
|
||||
<?php if($viewType != 'line' && $viewType != 'trainskill'):?>
|
||||
<td></td>
|
||||
<?php endif;?>
|
||||
<td colspan="2" class="form-actions">
|
||||
|
||||
@@ -104,3 +104,4 @@ $lang->upgrade->fromVersions['11_0'] = '11.0';
|
||||
$lang->upgrade->fromVersions['11_1'] = '11.1';
|
||||
$lang->upgrade->fromVersions['11_2'] = '11.2';
|
||||
$lang->upgrade->fromVersions['11_3'] = '11.3';
|
||||
$lang->upgrade->fromVersions['11_4'] = '11.4';
|
||||
|
||||
@@ -371,6 +371,9 @@ class upgradeModel extends model
|
||||
$this->saveLogs('Execute 11_3');
|
||||
$this->execSQL($this->getUpgradeFile('11.3'));
|
||||
$this->addPriv11_4();
|
||||
case '11_4':
|
||||
$this->saveLogs('Execute 11_4');
|
||||
$this->execSQL($this->getUpgradeFile('11.4'));
|
||||
}
|
||||
|
||||
$this->deletePatch();
|
||||
@@ -502,6 +505,7 @@ class upgradeModel extends model
|
||||
}
|
||||
case '11_2': $confirmContent .= file_get_contents($this->getUpgradeFile('11.2'));
|
||||
case '11_3': $confirmContent .= file_get_contents($this->getUpgradeFile('11.3'));
|
||||
case '11_4': $confirmContent .= file_get_contents($this->getUpgradeFile('11.4'));
|
||||
}
|
||||
return str_replace('zt_', $this->config->db->prefix, $confirmContent);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user