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.2'; // ZenTaoPHP的版本。 The version of ZenTaoPHP. Don't change it.
|
||||
$config->version = '11.3'; // 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.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
DROP TABLE IF EXISTS `zt_action`;
|
||||
CREATE TABLE `zt_action` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`objectType` varchar(30) NOT NULL DEFAULT '',
|
||||
@@ -17,7 +16,6 @@ CREATE TABLE `zt_action` (
|
||||
KEY `project` (`project`),
|
||||
KEY `objectID` (`objectID`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_block`;
|
||||
CREATE TABLE `zt_block` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`account` char(30) NOT NULL,
|
||||
@@ -34,7 +32,6 @@ CREATE TABLE `zt_block` (
|
||||
UNIQUE KEY `accountModuleOrder` (`account`,`module`,`order`),
|
||||
KEY `account` (`account`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_branch`;
|
||||
CREATE TABLE `zt_branch` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`product` mediumint(8) unsigned NOT NULL,
|
||||
@@ -44,7 +41,6 @@ CREATE TABLE `zt_branch` (
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `product` (`product`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_bug`;
|
||||
CREATE TABLE `zt_bug` (
|
||||
`id` mediumint(8) NOT NULL AUTO_INCREMENT,
|
||||
`product` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
@@ -103,7 +99,6 @@ CREATE TABLE `zt_bug` (
|
||||
KEY `case` (`case`),
|
||||
KEY `assignedTo` (`assignedTo`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_build`;
|
||||
CREATE TABLE `zt_build` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`product` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
@@ -122,7 +117,6 @@ CREATE TABLE `zt_build` (
|
||||
KEY `product` (`product`),
|
||||
KEY `project` (`project`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_burn`;
|
||||
CREATE TABLE `zt_burn` (
|
||||
`project` mediumint(8) unsigned NOT NULL,
|
||||
`date` date NOT NULL,
|
||||
@@ -131,7 +125,6 @@ CREATE TABLE `zt_burn` (
|
||||
`consumed` float NOT NULL,
|
||||
PRIMARY KEY (`project`,`date`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_case`;
|
||||
CREATE TABLE `zt_case` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`product` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
@@ -175,7 +168,6 @@ CREATE TABLE `zt_case` (
|
||||
KEY `story` (`story`),
|
||||
KEY `module` (`module`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_casestep`;
|
||||
CREATE TABLE `zt_casestep` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`parent` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
@@ -188,7 +180,6 @@ CREATE TABLE `zt_casestep` (
|
||||
KEY `case` (`case`),
|
||||
KEY `version` (`version`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_company`;
|
||||
CREATE TABLE `zt_company` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`name` char(120) DEFAULT NULL,
|
||||
@@ -203,7 +194,6 @@ CREATE TABLE `zt_company` (
|
||||
`deleted` enum('0','1') NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_config`;
|
||||
CREATE TABLE `zt_config` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`owner` char(30) NOT NULL DEFAULT '',
|
||||
@@ -214,7 +204,6 @@ CREATE TABLE `zt_config` (
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `unique` (`owner`,`module`,`section`,`key`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_cron`;
|
||||
CREATE TABLE `zt_cron` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`m` varchar(20) NOT NULL,
|
||||
@@ -231,7 +220,6 @@ CREATE TABLE `zt_cron` (
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `lastTime` (`lastTime`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_dept`;
|
||||
CREATE TABLE `zt_dept` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`name` char(60) NOT NULL,
|
||||
@@ -246,7 +234,6 @@ CREATE TABLE `zt_dept` (
|
||||
KEY `parent` (`parent`),
|
||||
KEY `path` (`path`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_doc`;
|
||||
CREATE TABLE `zt_doc` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`product` mediumint(8) unsigned NOT NULL,
|
||||
@@ -272,7 +259,6 @@ CREATE TABLE `zt_doc` (
|
||||
KEY `project` (`project`),
|
||||
KEY `lib` (`lib`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_doccontent`;
|
||||
CREATE TABLE `zt_doccontent` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`doc` mediumint(8) unsigned NOT NULL,
|
||||
@@ -285,7 +271,6 @@ CREATE TABLE `zt_doccontent` (
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `doc_version` (`doc`,`version`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_doclib`;
|
||||
CREATE TABLE `zt_doclib` (
|
||||
`id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`type` varchar(30) NOT NULL,
|
||||
@@ -303,7 +288,6 @@ CREATE TABLE `zt_doclib` (
|
||||
KEY `product` (`product`),
|
||||
KEY `project` (`project`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_effort`;
|
||||
CREATE TABLE `zt_effort` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`user` char(30) NOT NULL DEFAULT '',
|
||||
@@ -319,7 +303,6 @@ CREATE TABLE `zt_effort` (
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `user` (`user`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_entry`;
|
||||
CREATE TABLE `zt_entry` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(50) NOT NULL,
|
||||
@@ -335,7 +318,6 @@ CREATE TABLE `zt_entry` (
|
||||
`deleted` enum('0','1') NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_extension`;
|
||||
CREATE TABLE `zt_extension` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(150) NOT NULL,
|
||||
@@ -357,7 +339,6 @@ CREATE TABLE `zt_extension` (
|
||||
KEY `name` (`name`),
|
||||
KEY `installedTime` (`installedTime`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_file`;
|
||||
CREATE TABLE `zt_file` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`pathname` char(50) NOT NULL,
|
||||
@@ -375,7 +356,6 @@ CREATE TABLE `zt_file` (
|
||||
KEY `objectType` (`objectType`),
|
||||
KEY `objectID` (`objectID`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_group`;
|
||||
CREATE TABLE `zt_group` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`name` char(30) NOT NULL,
|
||||
@@ -384,14 +364,12 @@ CREATE TABLE `zt_group` (
|
||||
`acl` text,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_grouppriv`;
|
||||
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;
|
||||
DROP TABLE IF EXISTS `zt_history`;
|
||||
CREATE TABLE `zt_history` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`action` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
@@ -402,7 +380,6 @@ CREATE TABLE `zt_history` (
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `action` (`action`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_lang`;
|
||||
CREATE TABLE `zt_lang` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`lang` varchar(30) NOT NULL,
|
||||
@@ -414,7 +391,6 @@ CREATE TABLE `zt_lang` (
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `lang` (`lang`,`module`,`section`,`key`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_log`;
|
||||
CREATE TABLE `zt_log` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`objectType` varchar(30) NOT NULL,
|
||||
@@ -429,7 +405,6 @@ CREATE TABLE `zt_log` (
|
||||
KEY `objectType` (`objectType`),
|
||||
KEY `obejctID` (`objectID`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_module`;
|
||||
CREATE TABLE `zt_module` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`root` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
@@ -449,7 +424,6 @@ CREATE TABLE `zt_module` (
|
||||
KEY `type` (`type`),
|
||||
KEY `path` (`path`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_notify`;
|
||||
CREATE TABLE `zt_notify` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`objectType` varchar(50) NOT NULL,
|
||||
@@ -466,7 +440,6 @@ CREATE TABLE `zt_notify` (
|
||||
`failReason` text NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_product`;
|
||||
CREATE TABLE `zt_product` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(90) NOT NULL,
|
||||
@@ -488,7 +461,6 @@ CREATE TABLE `zt_product` (
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `order` (`order`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_productplan`;
|
||||
CREATE TABLE `zt_productplan` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`product` mediumint(8) unsigned NOT NULL,
|
||||
@@ -503,7 +475,6 @@ CREATE TABLE `zt_productplan` (
|
||||
KEY `product` (`product`),
|
||||
KEY `end` (`end`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_project`;
|
||||
CREATE TABLE `zt_project` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`isCat` enum('1','0') NOT NULL DEFAULT '0',
|
||||
@@ -542,7 +513,6 @@ CREATE TABLE `zt_project` (
|
||||
KEY `status` (`status`),
|
||||
KEY `order` (`order`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_projectproduct`;
|
||||
CREATE TABLE `zt_projectproduct` (
|
||||
`project` mediumint(8) unsigned NOT NULL,
|
||||
`product` mediumint(8) unsigned NOT NULL,
|
||||
@@ -550,7 +520,6 @@ CREATE TABLE `zt_projectproduct` (
|
||||
`plan` mediumint(8) unsigned NOT NULL,
|
||||
PRIMARY KEY (`project`,`product`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_projectstory`;
|
||||
CREATE TABLE `zt_projectstory` (
|
||||
`project` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`product` mediumint(8) unsigned NOT NULL,
|
||||
@@ -559,7 +528,6 @@ CREATE TABLE `zt_projectstory` (
|
||||
`order` smallint(6) unsigned NOT NULL,
|
||||
UNIQUE KEY `project` (`project`,`story`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_release`;
|
||||
CREATE TABLE `zt_release` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`product` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
@@ -578,7 +546,6 @@ CREATE TABLE `zt_release` (
|
||||
KEY `product` (`product`),
|
||||
KEY `build` (`build`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_score`;
|
||||
CREATE TABLE `zt_score` (
|
||||
`id` bigint(12) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`account` varchar(30) NOT NULL,
|
||||
@@ -594,7 +561,6 @@ CREATE TABLE `zt_score` (
|
||||
KEY `model` (`module`),
|
||||
KEY `method` (`method`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_story`;
|
||||
CREATE TABLE `zt_story` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`product` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
@@ -635,7 +601,6 @@ CREATE TABLE `zt_story` (
|
||||
KEY `status` (`status`),
|
||||
KEY `assignedTo` (`assignedTo`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_storyspec`;
|
||||
CREATE TABLE `zt_storyspec` (
|
||||
`story` mediumint(9) NOT NULL,
|
||||
`version` smallint(6) NOT NULL,
|
||||
@@ -644,14 +609,12 @@ CREATE TABLE `zt_storyspec` (
|
||||
`verify` text NOT NULL,
|
||||
UNIQUE KEY `story` (`story`,`version`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_storystage`;
|
||||
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;
|
||||
DROP TABLE IF EXISTS `zt_suitecase`;
|
||||
CREATE TABLE `zt_suitecase` (
|
||||
`suite` mediumint(8) unsigned NOT NULL,
|
||||
`product` mediumint(8) unsigned NOT NULL,
|
||||
@@ -659,7 +622,6 @@ CREATE TABLE `zt_suitecase` (
|
||||
`version` smallint(5) unsigned NOT NULL,
|
||||
UNIQUE KEY `suitecase` (`suite`,`case`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_task`;
|
||||
CREATE TABLE `zt_task` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`parent` mediumint(8) NOT NULL DEFAULT '0',
|
||||
@@ -701,7 +663,6 @@ CREATE TABLE `zt_task` (
|
||||
KEY `story` (`story`),
|
||||
KEY `assignedTo` (`assignedTo`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_taskestimate`;
|
||||
CREATE TABLE `zt_taskestimate` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`task` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
@@ -713,7 +674,6 @@ CREATE TABLE `zt_taskestimate` (
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `task` (`task`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_team`;
|
||||
CREATE TABLE `zt_team` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`root` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
@@ -731,7 +691,6 @@ CREATE TABLE `zt_team` (
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `team` (`root`,`type`,`account`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_testreport`;
|
||||
CREATE TABLE `zt_testreport` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`product` mediumint(8) unsigned NOT NULL,
|
||||
@@ -754,7 +713,6 @@ CREATE TABLE `zt_testreport` (
|
||||
`deleted` enum('0','1') NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_testresult`;
|
||||
CREATE TABLE `zt_testresult` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`run` mediumint(8) unsigned NOT NULL,
|
||||
@@ -769,7 +727,6 @@ CREATE TABLE `zt_testresult` (
|
||||
KEY `version` (`version`),
|
||||
KEY `run` (`run`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_testrun`;
|
||||
CREATE TABLE `zt_testrun` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`task` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
@@ -783,7 +740,6 @@ CREATE TABLE `zt_testrun` (
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `task` (`task`,`case`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_testsuite`;
|
||||
CREATE TABLE `zt_testsuite` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`product` mediumint(8) unsigned NOT NULL,
|
||||
@@ -798,7 +754,6 @@ CREATE TABLE `zt_testsuite` (
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `product` (`product`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_testtask`;
|
||||
CREATE TABLE `zt_testtask` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`name` char(90) NOT NULL,
|
||||
@@ -818,7 +773,6 @@ CREATE TABLE `zt_testtask` (
|
||||
KEY `product` (`product`),
|
||||
KEY `build` (`build`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_todo`;
|
||||
CREATE TABLE `zt_todo` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`account` char(30) NOT NULL,
|
||||
@@ -847,7 +801,6 @@ CREATE TABLE `zt_todo` (
|
||||
KEY `finishedBy` (`finishedBy`),
|
||||
KEY `date` (`date`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_user`;
|
||||
CREATE TABLE `zt_user` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`dept` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
@@ -886,7 +839,6 @@ CREATE TABLE `zt_user` (
|
||||
KEY `email` (`email`),
|
||||
KEY `commiter` (`commiter`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_usercontact`;
|
||||
CREATE TABLE `zt_usercontact` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`account` char(30) NOT NULL,
|
||||
@@ -895,13 +847,11 @@ CREATE TABLE `zt_usercontact` (
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `account` (`account`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_usergroup`;
|
||||
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;
|
||||
DROP TABLE IF EXISTS `zt_userquery`;
|
||||
CREATE TABLE `zt_userquery` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`account` char(30) NOT NULL,
|
||||
@@ -914,7 +864,6 @@ CREATE TABLE `zt_userquery` (
|
||||
KEY `account` (`account`),
|
||||
KEY `module` (`module`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_usertpl`;
|
||||
CREATE TABLE `zt_usertpl` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`account` char(30) NOT NULL,
|
||||
@@ -925,14 +874,12 @@ CREATE TABLE `zt_usertpl` (
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `account` (`account`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `zt_userview`;
|
||||
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;
|
||||
DROP TABLE IF EXISTS `zt_webhook`;
|
||||
CREATE TABLE `zt_webhook` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`type` varchar(10) NOT NULL DEFAULT 'default',
|
||||
|
||||
@@ -0,0 +1,903 @@
|
||||
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,
|
||||
`date` date NOT NULL,
|
||||
`estimate` float NOT NULL,
|
||||
`left` float NOT NULL,
|
||||
`consumed` float NOT NULL,
|
||||
PRIMARY KEY (`project`,`date`)
|
||||
) 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,
|
||||
`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,
|
||||
`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;
|
||||
+2
-1
@@ -5,7 +5,7 @@ CREATE TABLE IF NOT EXISTS `zt_action` (
|
||||
`objectID` mediumint(8) unsigned NOT NULL default '0',
|
||||
`product` varchar(255) NOT NULL,
|
||||
`project` mediumint(9) NOT NULL,
|
||||
`actor` varchar(30) NOT NULL default '',
|
||||
`actor` varchar(100) NOT NULL default '',
|
||||
`action` varchar(30) NOT NULL default '',
|
||||
`date` datetime NOT NULL,
|
||||
`comment` text NOT NULL,
|
||||
@@ -461,6 +461,7 @@ CREATE TABLE IF NOT EXISTS `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,
|
||||
|
||||
@@ -1,3 +1,51 @@
|
||||
2019-02-27 11.3.stable
|
||||
完成的需求
|
||||
3579 发信的时候增加环境变量避免dns解析超时
|
||||
3578 优化chosen控件下拉之后的交互
|
||||
3577 搜索表单展开多项条件搜索之后应当保持表单状态
|
||||
3576 里程碑发布增加文字提示
|
||||
3575 增加时区设置
|
||||
3574 产品、项目文档库和文档权限控制增加文字提示
|
||||
3572 增加父子计划之后增加调整路线图的呈现方式
|
||||
3571 计划增加子计划概念
|
||||
3567 自定义文档库和手册可以进行排序
|
||||
3563 优化应用集成禅道功能
|
||||
3562 任务工时管理中录入的备份信息过长可以悬浮显示
|
||||
3548 需求详情页面相关信息不以剧中方式显示
|
||||
3538 去掉雅虎通、旺旺的字段
|
||||
3536 项目没有创建版本,在项目下提交测试单可以提示创建版本
|
||||
3511 补充完整文档库设置按钮的菜单
|
||||
3504 组织-用户下查看任务,延期的任务会标记显示
|
||||
3501 需求详情等页面的删除icon调整
|
||||
3499 创建文档的时候引导用户创建文档的类型
|
||||
3490 文档库左侧的列表和产品项目视图的下拉菜单保持一致
|
||||
3489 优化文档库创建的页面
|
||||
3488 没有文档库时在左侧导航增加添加文档库的入口
|
||||
3483 产品视图左上角产品下拉框宽度增加一些
|
||||
3466 添加编辑区块时新增状态选择
|
||||
3464 浏览文档列表时时间显示完整年份
|
||||
3463 预览图片类的文档的时候会出现两个删除按钮
|
||||
3462 文档详情页面的全屏按钮增加文字并记录状态
|
||||
3458 bug列表页面将严重程度放到优先级前面
|
||||
3457 解决bug的时候将closed帐号从指派给列表中去掉
|
||||
3454 评审需求时优先级和工时信息应当将现在的值读取出来
|
||||
3453 梳理windows和linux一键安装包里面的链接地址
|
||||
3446 需求变更时光标到需求名称无需title
|
||||
3420 延期bug在详情页面截止日期后显示延期几天
|
||||
3419 bug延期后在列表页面截止日期字段标红提示
|
||||
2920 用例库的用例更改之后自动更新其关联的测试用例
|
||||
修复的Bug
|
||||
2311 开源版集成git,git用户名过长无法正常同步
|
||||
2332 取消浏览器自动填充信息
|
||||
2410 批量分解需求,同需求按钮位置需要优化
|
||||
2413 附件上传安全限制功能异常
|
||||
2421 用户有组织视图权限访问company-browse.json会显示所有用户密码md5值
|
||||
2424 每日任务提醒邮件中不显示任务的截止时间
|
||||
2425 需求关联需求后,无法取消
|
||||
2426 升级的时候提示错误信息
|
||||
2427 树状图展示数据错误
|
||||
2440 二级子模块不可以调整为一级父模块
|
||||
|
||||
2019-01-29 11.2.stable
|
||||
完成的需求
|
||||
3553 集成喧喧2.4版本,国际版企业版集成喧喧2.4,国内和国际的版本升级程序要区分处理
|
||||
|
||||
@@ -128,11 +128,12 @@ $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 = '<div>您現在還沒有模組信息</div><div>請維護測試模組</div>';
|
||||
$lang->bug->ditto = '同上';
|
||||
$lang->bug->dittoNotice = '該bug與上一bug不屬於同一產品!';
|
||||
$lang->bug->noAssigned = '未指派';
|
||||
$lang->bug->noBug = '暫時沒有Bug。';
|
||||
$lang->bug->noModule = '<div>您現在還沒有模組信息</div><div>請維護測試模組</div>';
|
||||
$lang->bug->delayWarning = " <strong class='text-danger'> 延期%s天 </strong>";
|
||||
|
||||
/* 頁面標籤。*/
|
||||
$lang->bug->lblAssignedTo = '當前指派';
|
||||
|
||||
@@ -99,10 +99,11 @@
|
||||
</ul>
|
||||
<div class='tab-content'>
|
||||
<div class='tab-pane active' id='legendBasicInfo'>
|
||||
<?php $widthClass = $app->getClientLang() == 'en' ? 'w-80px' : 'w-70px';?>
|
||||
<table class="table table-data">
|
||||
<tbody>
|
||||
<tr valign='middle'>
|
||||
<th class='w-70px'><?php echo $lang->bug->product;?></th>
|
||||
<th class='<?php echo $widthClass;?>'><?php echo $lang->bug->product;?></th>
|
||||
<td><?php if(!common::printLink('bug', 'browse', "productID=$bug->product", $productName)) echo $productName;?></td>
|
||||
</tr>
|
||||
<?php if($this->session->currentProductType != 'normal'):?>
|
||||
@@ -267,10 +268,11 @@
|
||||
</ul>
|
||||
<div class='tab-content'>
|
||||
<div class='tab-pane active' id='legendLife'>
|
||||
<?php $widthClass = $app->getClientLang() == 'en' ? 'w-100px' : 'w-90px';?>
|
||||
<table class="table table-data">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class='w-90px'><?php echo $lang->bug->openedBy;?></th>
|
||||
<th class='<?php echo $widthClass;?>'><?php echo $lang->bug->openedBy;?></th>
|
||||
<td> <?php echo zget($users, $bug->openedBy) . $lang->at . $bug->openedDate;?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
@@ -400,7 +400,8 @@ $lang->admin->subMenu->data->backup = array('link' => 'Backup|backup|index', 'su
|
||||
$lang->admin->subMenu->data->trash = 'Recycle|action|trash';
|
||||
|
||||
$lang->admin->subMenu->system = new stdclass();
|
||||
$lang->admin->subMenu->system->cron = array('link' => 'Cron|cron|index', 'subModule' => 'cron');
|
||||
$lang->admin->subMenu->system->cron = array('link' => 'Cron|cron|index', 'subModule' => 'cron');
|
||||
$lang->admin->subMenu->system->timezone = array('link' => 'Timezone|custom|timezone', 'subModule' => 'custom');
|
||||
|
||||
$lang->convert = new stdclass();
|
||||
$lang->upgrade = new stdclass();
|
||||
|
||||
@@ -80,7 +80,7 @@ $lang->ipLimited = "<html><head><meta http-equiv='Content-Type' content='t
|
||||
$lang->unfold = '+';
|
||||
$lang->fold = '-';
|
||||
$lang->homepage = '設為模組首頁';
|
||||
$lang->tutorial = '新手教程';
|
||||
$lang->noviceTutorial = '新手教程';
|
||||
$lang->changeLog = '修改日誌';
|
||||
$lang->manual = '手冊';
|
||||
$lang->manualUrl = 'https://www.zentao.net/book/zentaopmshelp.html?fullScreen=zentao';
|
||||
@@ -400,7 +400,8 @@ $lang->admin->subMenu->data->backup = array('link' => '備份|backup|index', 'su
|
||||
$lang->admin->subMenu->data->trash = '資源回收筒|action|trash';
|
||||
|
||||
$lang->admin->subMenu->system = new stdclass();
|
||||
$lang->admin->subMenu->system->cron = array('link' => '定時|cron|index', 'subModule' => 'cron');
|
||||
$lang->admin->subMenu->system->cron = array('link' => '定時|cron|index', 'subModule' => 'cron');
|
||||
$lang->admin->subMenu->system->timezone = array('link' => '時區|custom|timezone', 'subModule' => 'custom');
|
||||
|
||||
$lang->convert = new stdclass();
|
||||
$lang->upgrade = new stdclass();
|
||||
|
||||
@@ -72,9 +72,10 @@ $lang->custom->todo->fields['typeList'] = 'Type';
|
||||
$lang->custom->todo->fields['statusList'] = 'Status';
|
||||
|
||||
$lang->custom->user = new stdClass();
|
||||
$lang->custom->user->fields['roleList'] = 'Role';
|
||||
$lang->custom->user->fields['statusList'] = 'Status';
|
||||
$lang->custom->user->fields['deleted'] = 'Deleted User';
|
||||
$lang->custom->user->fields['roleList'] = 'Role';
|
||||
$lang->custom->user->fields['statusList'] = 'Status';
|
||||
$lang->custom->user->fields['contactField'] = 'Available Contact';
|
||||
$lang->custom->user->fields['deleted'] = 'Deleted User';
|
||||
|
||||
$lang->custom->block->fields['closed'] = 'Closed Block';
|
||||
|
||||
@@ -91,6 +92,7 @@ $lang->custom->notice->forceNotReview = "%s Review is NOT required for cer
|
||||
$lang->custom->notice->longlife = 'Define longlife bugs.';
|
||||
$lang->custom->notice->invalidNumberKey = 'The key should be =< 255.';
|
||||
$lang->custom->notice->invalidStringKey = 'The key should be a combination of lowercase letters, numbers or underlines.';
|
||||
$lang->custom->notice->cannotSetTimezone = 'date_default_timezone_set does not exist or is disabled. Time zone cannot be set.';
|
||||
|
||||
$lang->custom->notice->indexPage['product'] = "ZenTao 8.2+ has Product Homepage. Do you want to go to Product Homepage?";
|
||||
$lang->custom->notice->indexPage['project'] = "ZenTao 8.2+ has Project Homepage. Do you want to go to Project Homepage?";
|
||||
|
||||
@@ -16,6 +16,7 @@ $lang->custom->lang = '所屬語言';
|
||||
$lang->custom->setPublic = '設為公共';
|
||||
$lang->custom->required = '必填項';
|
||||
$lang->custom->score = '積分';
|
||||
$lang->custom->timezone = '時區';
|
||||
$lang->custom->scoreReset = '重置積分';
|
||||
|
||||
$lang->custom->object['story'] = '需求';
|
||||
@@ -71,9 +72,10 @@ $lang->custom->todo->fields['typeList'] = '類型';
|
||||
$lang->custom->todo->fields['statusList'] = '狀態';
|
||||
|
||||
$lang->custom->user = new stdClass();
|
||||
$lang->custom->user->fields['roleList'] = '職位';
|
||||
$lang->custom->user->fields['statusList'] = '狀態';
|
||||
$lang->custom->user->fields['deleted'] = '列出已刪除用戶';
|
||||
$lang->custom->user->fields['roleList'] = '職位';
|
||||
$lang->custom->user->fields['statusList'] = '狀態';
|
||||
$lang->custom->user->fields['contactField'] = '可用聯繫方式';
|
||||
$lang->custom->user->fields['deleted'] = '列出已刪除用戶';
|
||||
|
||||
$lang->custom->block->fields['closed'] = '關閉的區塊';
|
||||
|
||||
@@ -83,12 +85,14 @@ $lang->custom->allLang = '適用所有語言';
|
||||
$lang->custom->confirmRestore = '是否要恢復預設配置?';
|
||||
|
||||
$lang->custom->notice = new stdclass();
|
||||
$lang->custom->notice->userFieldNotice = '控制以上欄位在用戶相關頁面是否顯示,留空則全部顯示';
|
||||
$lang->custom->notice->canNotAdd = '該項參與運算,不提供自定義添加功能';
|
||||
$lang->custom->notice->forceReview = "指定人提交的%s必須評審。";
|
||||
$lang->custom->notice->forceNotReview = "指定人提交的%s不需要評審。";
|
||||
$lang->custom->notice->longlife = 'Bug列表頁面的久未處理標籤中,列出設置天數之前未處理的Bug。';
|
||||
$lang->custom->notice->invalidNumberKey = '鍵值應為不大於255的數字';
|
||||
$lang->custom->notice->invalidStringKey = '鍵值應當為小寫英文字母、數字或下劃線的組合';
|
||||
$lang->custom->notice->cannotSetTimezone = 'date_default_timezone_set方法不存在或禁用,不能設置時區。';
|
||||
|
||||
$lang->custom->notice->indexPage['product'] = "從8.2版本起增加了產品主頁視圖,是否預設進入產品主頁?";
|
||||
$lang->custom->notice->indexPage['project'] = "從8.2版本起增加了項目主頁視圖,是否預設進入項目主頁?";
|
||||
|
||||
@@ -3,3 +3,6 @@ form{margin-bottom:100px; padding-left:65px}
|
||||
table{width:90% !important}
|
||||
|
||||
#whiteListBox div.input-group {margin-bottom: 2px;}
|
||||
|
||||
#product_chosen{width: 50%!important}
|
||||
#project_chosen{width: 50%!important}
|
||||
|
||||
@@ -16,7 +16,7 @@ function toggleAcl(acl, type)
|
||||
}
|
||||
if(type == 'lib')
|
||||
{
|
||||
var libType = $('input[name="type"]').val();
|
||||
var libType = $('input[name="type"]:checked').val();
|
||||
var notice = typeof(noticeAcl[libType][acl]) != 'undefined' ? noticeAcl[libType][acl] : '';
|
||||
$('#noticeAcl').html(notice);
|
||||
}
|
||||
|
||||
@@ -5,8 +5,8 @@ $(function()
|
||||
var libType = $(this).val();
|
||||
changeByLibType(libType);
|
||||
})
|
||||
changeByLibType($('input[name="type"]').val());
|
||||
toggleAcl($('[name=acl]').val(), 'lib');
|
||||
changeByLibType($('input[name="type"]:checked').val());
|
||||
toggleAcl($('form [name=acl]:checked').val(), 'lib');
|
||||
});
|
||||
|
||||
function changeByLibType(libType)
|
||||
@@ -15,19 +15,34 @@ function changeByLibType(libType)
|
||||
{
|
||||
$('table tr.product').removeClass('hidden');
|
||||
$('table tr.project').addClass('hidden');
|
||||
changeDoclibAcl(libType);
|
||||
}
|
||||
else if(libType == 'project')
|
||||
{
|
||||
$('table tr.product').addClass('hidden');
|
||||
$('table tr.project').removeClass('hidden');
|
||||
changeDoclibAcl(libType);
|
||||
}
|
||||
else
|
||||
{
|
||||
$('table tr.product').addClass('hidden');
|
||||
$('table tr.project').addClass('hidden');
|
||||
changeDoclibAcl(libType);
|
||||
}
|
||||
|
||||
var acl = $('[name=acl]').val();
|
||||
var acl = $('form [name=acl]').val();
|
||||
var notice = typeof(noticeAcl[libType][acl]) != 'undefined' ? noticeAcl[libType][acl] : '';
|
||||
$('#noticeAcl').html(notice);
|
||||
}
|
||||
|
||||
function changeDoclibAcl(libType)
|
||||
{
|
||||
if(libType == 'product' || libType == 'project')
|
||||
{
|
||||
$('form input[name="acl"]').closest('td').find('span:first').html($('#aclBoxA td').html());
|
||||
}
|
||||
else
|
||||
{
|
||||
$('form input[name="acl"]').closest('td').find('span:first').html($('#aclBoxB td').html());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
$(function()
|
||||
{
|
||||
toggleAcl($('input[name="acl"]').val(), 'lib');
|
||||
toggleAcl($('form input[name="acl"]:checked').val(), 'lib');
|
||||
})
|
||||
|
||||
+29
-1
@@ -78,7 +78,7 @@ $lang->doc->addType = 'Add';
|
||||
$lang->doc->childType = 'Child';
|
||||
$lang->doc->collect = 'Add Favorites';
|
||||
$lang->doc->cancelCollection = 'Remove Favorites';
|
||||
$lang->doc->deleteFile = 'Detele File'
|
||||
$lang->doc->deleteFile = 'Detele File';
|
||||
|
||||
$lang->doc->libName = 'Name';
|
||||
$lang->doc->libType = 'Category';
|
||||
@@ -119,6 +119,13 @@ $lang->doc->aclList['open'] = 'Public';
|
||||
$lang->doc->aclList['custom'] = 'Custom';
|
||||
$lang->doc->aclList['private'] = 'Private';
|
||||
|
||||
$lang->doc->typeList['html'] = 'Html';
|
||||
$lang->doc->typeList['markdown'] = 'Markdown';
|
||||
$lang->doc->typeList['url'] = 'Url';
|
||||
$lang->doc->typeList['word'] = 'Word';
|
||||
$lang->doc->typeList['ppt'] = 'PPT';
|
||||
$lang->doc->typeList['excel'] = 'Excel';
|
||||
|
||||
$lang->doc->types['text'] = 'Text';
|
||||
$lang->doc->types['url'] = 'URL';
|
||||
|
||||
@@ -142,6 +149,7 @@ $lang->doc->fastMenuIconList['collectedbyme'] = 'icon-folder-star';
|
||||
$lang->doc->customObjectLibs['files'] = 'Show File Library';
|
||||
$lang->doc->customObjectLibs['customFiles'] = 'Show Custom Library';
|
||||
|
||||
$lang->doc->orderLib = 'Library order settings';
|
||||
$lang->doc->customShowLibs = 'Library display settings';
|
||||
$lang->doc->customShowLibsList['zero'] = 'Display empty library';
|
||||
$lang->doc->customShowLibsList['unclosed'] = 'Only display projects that are not closed';
|
||||
@@ -155,11 +163,24 @@ $lang->doc->errorMainSysLib = "This library cannot be deleted.";
|
||||
$lang->doc->accessDenied = "Access denied!";
|
||||
$lang->doc->versionNotFount = 'It does not exist in this build.';
|
||||
$lang->doc->noDoc = 'No docs. ';
|
||||
$lang->doc->cannotCreateOffice = 'Sorry, %s can only be created in ZenTao Enterprise. Contact renee@easysoft.ltd to try ZenTao Enterprise.';
|
||||
$lang->doc->noSearchedDoc = 'Nothing searched.';
|
||||
$lang->doc->noEditedDoc = 'You have not edited any document.';
|
||||
$lang->doc->noOpenedDoc = 'You have not created any document.';
|
||||
$lang->doc->noCollectedDoc = 'You have not collected any document.';
|
||||
|
||||
$lang->doc->noticeAcl['lib']['product']['default'] = 'Users with privileges to access the selected products have access to it.';
|
||||
$lang->doc->noticeAcl['lib']['product']['custom'] = 'Users with privileges to access the selected products or users in the whiltelist have access to visit it.';
|
||||
$lang->doc->noticeAcl['lib']['project']['default'] = 'Users with privileges to access the selected projects have access to it.';
|
||||
$lang->doc->noticeAcl['lib']['project']['custom'] = 'Users with privileges to access the selected projects or users in the whiltelist have access to it.';
|
||||
$lang->doc->noticeAcl['lib']['custom']['open'] = 'All users have access to it.';
|
||||
$lang->doc->noticeAcl['lib']['custom']['custom'] = 'Users in the whitelist have access to it.';
|
||||
$lang->doc->noticeAcl['lib']['custom']['private'] = 'Only the one who created it has access to it.';
|
||||
|
||||
$lang->doc->noticeAcl['doc']['open'] = 'Users with privileges to access the doc lib which the doc belongs to have access to it.';
|
||||
$lang->doc->noticeAcl['doc']['custom'] = 'Users in the whiltelist have access to visit it.';
|
||||
$lang->doc->noticeAcl['doc']['private'] = 'Only the one who created it has access to it.';
|
||||
|
||||
$lang->doc->placeholder = new stdclass();
|
||||
$lang->doc->placeholder->url = 'Url';
|
||||
|
||||
@@ -174,6 +195,13 @@ $lang->doclib->select = 'Select';
|
||||
$lang->doclib->project = $lang->projectCommon . ' Library';
|
||||
$lang->doclib->product = $lang->productCommon . ' Library';
|
||||
|
||||
$lang->doclib->aclListA['default'] = 'Default';
|
||||
$lang->doclib->aclListA['custom'] = 'Custom';
|
||||
|
||||
$lang->doclib->aclListB['open'] = 'Public';
|
||||
$lang->doclib->aclListB['custom'] = 'Custom';
|
||||
$lang->doclib->aclListB['private'] = 'Private';
|
||||
|
||||
$lang->doclib->create['product'] = 'Create ' . $lang->productCommon . ' Library';
|
||||
$lang->doclib->create['project'] = 'Create ' . $lang->projectCommon . ' Library';
|
||||
$lang->doclib->create['custom'] = 'Create Custom Library';
|
||||
|
||||
+17
-12
@@ -149,8 +149,8 @@ $lang->doc->fastMenuIconList['collectedbyme'] = 'icon-folder-star';
|
||||
$lang->doc->customObjectLibs['files'] = '显示附件库';
|
||||
$lang->doc->customObjectLibs['customFiles'] = '显示自定义文档库';
|
||||
|
||||
$lang->doc->orderLib = '文档库排序';
|
||||
$lang->doc->customShowLibs = '显示设置';
|
||||
$lang->doc->orderLib = '文档库排序';
|
||||
$lang->doc->customShowLibs = '显示设置';
|
||||
$lang->doc->customShowLibsList['zero'] = '显示空文档的库';
|
||||
$lang->doc->customShowLibsList['unclosed'] = '只显示未关闭的项目';
|
||||
|
||||
@@ -163,25 +163,23 @@ $lang->doc->errorMainSysLib = "该系统文档库不能删除!";
|
||||
$lang->doc->accessDenied = "您没有权限访问!";
|
||||
$lang->doc->versionNotFount = '该版本文档不存在';
|
||||
$lang->doc->noDoc = '暂时没有文档。';
|
||||
$lang->doc->cannotCreateOffice = '对不起,企业版才能创建%s文档。';
|
||||
$lang->doc->cannotCreateOffice = '<p>对不起,企业版才能创建%s文档。<p><p>试用企业版,请联系我们:4006-8899-23 0532-86893032。</p>';
|
||||
$lang->doc->noSearchedDoc = '没有搜索到任何文档。';
|
||||
$lang->doc->noEditedDoc = '您还没有编辑任何文档。';
|
||||
$lang->doc->noOpenedDoc = '您还没有创建任何文档。';
|
||||
$lang->doc->noCollectedDoc = '您还没有收藏任何文档。';
|
||||
|
||||
$lang->doc->noticeAcl['lib']['product']['open'] = '除了没有关联产品权限的用户,都可以访问。';
|
||||
$lang->doc->noticeAcl['lib']['product']['custom'] = '白名单和有关联产品权限的用户可以访问。';
|
||||
$lang->doc->noticeAcl['lib']['product']['private'] = '创建人和有关联产品权限的用户可以访问。';
|
||||
$lang->doc->noticeAcl['lib']['project']['open'] = '除了没有关联项目权限的用户,都可以访问。';
|
||||
$lang->doc->noticeAcl['lib']['project']['custom'] = '白名单和有关联项目权限的用户可以访问。';
|
||||
$lang->doc->noticeAcl['lib']['project']['private'] = '创建人和有关联项目权限的用户可以访问。';
|
||||
$lang->doc->noticeAcl['lib']['product']['default'] = '有所选产品访问权限的用户可以访问。';
|
||||
$lang->doc->noticeAcl['lib']['product']['custom'] = '有所选产品访问权限或白名单里的用户可以访问。';
|
||||
$lang->doc->noticeAcl['lib']['project']['default'] = '有所选项目访问权限的用户可以访问。';
|
||||
$lang->doc->noticeAcl['lib']['project']['custom'] = '有所选项目访问权限或白名单里的用户可以访问。';
|
||||
$lang->doc->noticeAcl['lib']['custom']['open'] = '所有人都可以访问。';
|
||||
$lang->doc->noticeAcl['lib']['custom']['custom'] = '白名单的用户可以访问。';
|
||||
$lang->doc->noticeAcl['lib']['custom']['private'] = '只有创建人可以访问。';
|
||||
$lang->doc->noticeAcl['lib']['custom']['private'] = '只有创建者自己可以访问。';
|
||||
|
||||
$lang->doc->noticeAcl['doc']['open'] = '除了没有所属文档库权限的用户,都可以访问。';
|
||||
$lang->doc->noticeAcl['doc']['open'] = '有文档所属文档库访问权限的,都可以访问。';
|
||||
$lang->doc->noticeAcl['doc']['custom'] = '白名单的用户可以访问。';
|
||||
$lang->doc->noticeAcl['doc']['private'] = '只有自己可以访问。';
|
||||
$lang->doc->noticeAcl['doc']['private'] = '只有创建者自己可以访问。';
|
||||
|
||||
$lang->doc->placeholder = new stdclass();
|
||||
$lang->doc->placeholder->url = '相应的链接地址';
|
||||
@@ -197,6 +195,13 @@ $lang->doclib->select = '选择文档库';
|
||||
$lang->doclib->project = $lang->projectCommon . '库';
|
||||
$lang->doclib->product = $lang->productCommon . '库';
|
||||
|
||||
$lang->doclib->aclListA['default'] = '默认';
|
||||
$lang->doclib->aclListA['custom'] = '自定义';
|
||||
|
||||
$lang->doclib->aclListB['open'] = '公开';
|
||||
$lang->doclib->aclListB['custom'] = '自定义';
|
||||
$lang->doclib->aclListB['private'] = '私有';
|
||||
|
||||
$lang->doclib->create['product'] = '创建' . $lang->productCommon . '文档库';
|
||||
$lang->doclib->create['project'] = '创建' . $lang->projectCommon . '文档库';
|
||||
$lang->doclib->create['custom'] = '创建自定义文档库';
|
||||
|
||||
@@ -78,6 +78,7 @@ $lang->doc->addType = '增加分類';
|
||||
$lang->doc->childType = '子分類';
|
||||
$lang->doc->collect = '收藏';
|
||||
$lang->doc->cancelCollection = '取消收藏';
|
||||
$lang->doc->deleteFile = '刪除附件';
|
||||
|
||||
$lang->doc->libName = '文檔庫名稱';
|
||||
$lang->doc->libType = '文檔庫類型';
|
||||
@@ -118,6 +119,13 @@ $lang->doc->aclList['open'] = '公開';
|
||||
$lang->doc->aclList['custom'] = '自定義';
|
||||
$lang->doc->aclList['private'] = '私有';
|
||||
|
||||
$lang->doc->typeList['html'] = '富文本';
|
||||
$lang->doc->typeList['markdown'] = 'Markdown';
|
||||
$lang->doc->typeList['url'] = '連結';
|
||||
$lang->doc->typeList['word'] = 'Word';
|
||||
$lang->doc->typeList['ppt'] = 'PPT';
|
||||
$lang->doc->typeList['excel'] = 'Excel';
|
||||
|
||||
$lang->doc->types['text'] = '文檔';
|
||||
$lang->doc->types['url'] = '連結';
|
||||
|
||||
@@ -141,7 +149,8 @@ $lang->doc->fastMenuIconList['collectedbyme'] = 'icon-folder-star';
|
||||
$lang->doc->customObjectLibs['files'] = '顯示附件庫';
|
||||
$lang->doc->customObjectLibs['customFiles'] = '顯示自定義文檔庫';
|
||||
|
||||
$lang->doc->customShowLibs = '文檔庫顯示設置';
|
||||
$lang->doc->orderLib = '文檔庫排序';
|
||||
$lang->doc->customShowLibs = '顯示設置';
|
||||
$lang->doc->customShowLibsList['zero'] = '顯示空文檔的庫';
|
||||
$lang->doc->customShowLibsList['unclosed'] = '只顯示未關閉的項目';
|
||||
|
||||
@@ -154,11 +163,24 @@ $lang->doc->errorMainSysLib = "該系統文檔庫不能刪除!";
|
||||
$lang->doc->accessDenied = "您沒有權限訪問!";
|
||||
$lang->doc->versionNotFount = '該版本文檔不存在';
|
||||
$lang->doc->noDoc = '暫時沒有文檔。';
|
||||
$lang->doc->cannotCreateOffice = '<p>對不起,企業版才能創建%s文檔。<p><p>試用企業版,請聯繫我們:4006-8899-23 0532-86893032。</p>';
|
||||
$lang->doc->noSearchedDoc = '沒有搜索到任何文檔。';
|
||||
$lang->doc->noEditedDoc = '您還沒有編輯任何文檔。';
|
||||
$lang->doc->noOpenedDoc = '您還沒有創建任何文檔。';
|
||||
$lang->doc->noCollectedDoc = '您還沒有收藏任何文檔。';
|
||||
|
||||
$lang->doc->noticeAcl['lib']['product']['default'] = '有所選產品訪問權限的用戶可以訪問。';
|
||||
$lang->doc->noticeAcl['lib']['product']['custom'] = '有所選產品訪問權限或白名單裡的用戶可以訪問。';
|
||||
$lang->doc->noticeAcl['lib']['project']['default'] = '有所選項目訪問權限的用戶可以訪問。';
|
||||
$lang->doc->noticeAcl['lib']['project']['custom'] = '有所選項目訪問權限或白名單裡的用戶可以訪問。';
|
||||
$lang->doc->noticeAcl['lib']['custom']['open'] = '所有人都可以訪問。';
|
||||
$lang->doc->noticeAcl['lib']['custom']['custom'] = '白名單的用戶可以訪問。';
|
||||
$lang->doc->noticeAcl['lib']['custom']['private'] = '只有創建者自己可以訪問。';
|
||||
|
||||
$lang->doc->noticeAcl['doc']['open'] = '有文檔所屬文檔庫訪問權限的,都可以訪問。';
|
||||
$lang->doc->noticeAcl['doc']['custom'] = '白名單的用戶可以訪問。';
|
||||
$lang->doc->noticeAcl['doc']['private'] = '只有創建者自己可以訪問。';
|
||||
|
||||
$lang->doc->placeholder = new stdclass();
|
||||
$lang->doc->placeholder->url = '相應的連結地址';
|
||||
|
||||
@@ -173,6 +195,18 @@ $lang->doclib->select = '選擇文檔庫';
|
||||
$lang->doclib->project = $lang->projectCommon . '庫';
|
||||
$lang->doclib->product = $lang->productCommon . '庫';
|
||||
|
||||
$lang->doclib->aclListA['default'] = '預設';
|
||||
$lang->doclib->aclListA['custom'] = '自定義';
|
||||
|
||||
$lang->doclib->aclListB['open'] = '公開';
|
||||
$lang->doclib->aclListB['custom'] = '自定義';
|
||||
$lang->doclib->aclListB['private'] = '私有';
|
||||
|
||||
|
||||
$lang->doclib->create['product'] = '創建' . $lang->productCommon . '文檔庫';
|
||||
$lang->doclib->create['project'] = '創建' . $lang->projectCommon . '文檔庫';
|
||||
$lang->doclib->create['custom'] = '創建自定義文檔庫';
|
||||
|
||||
$lang->doclib->main['product'] = $lang->productCommon . '主庫';
|
||||
$lang->doclib->main['project'] = $lang->projectCommon . '主庫';
|
||||
|
||||
|
||||
+11
-8
@@ -847,12 +847,6 @@ class docModel extends model
|
||||
{
|
||||
if($this->app->user->admin) return true;
|
||||
|
||||
$acls = $this->app->user->rights['acls'];
|
||||
if(!empty($object->product) and !empty($acls['products']) and !in_array($object->product, $acls['products'])) return false;
|
||||
if(!empty($object->project) and !empty($acls['projects']) and !in_array($object->project, $acls['projects'])) return false;
|
||||
|
||||
if($object->acl == 'open') return true;
|
||||
|
||||
$account = ',' . $this->app->user->account . ',';
|
||||
if(isset($object->addedBy) and $object->addedBy == $this->app->user->account) return true;
|
||||
if(isset($object->users) and strpos(",{$object->users},", $account) !== false) return true;
|
||||
@@ -872,8 +866,17 @@ class docModel extends model
|
||||
if(isset($extraDocLibs[$object->id])) return true;
|
||||
}
|
||||
|
||||
if(!empty($object->project)) return $this->loadModel('project')->checkPriv($object->project);
|
||||
if(!empty($object->product)) return $this->loadModel('product')->checkPriv($object->product);
|
||||
if(!empty($object->product) or !empty($object->project))
|
||||
{
|
||||
$acls = $this->app->user->rights['acls'];
|
||||
if(!empty($object->product) and !empty($acls['products']) and !in_array($object->product, $acls['products'])) return false;
|
||||
if(!empty($object->project) and !empty($acls['projects']) and !in_array($object->project, $acls['projects'])) return false;
|
||||
if(!empty($object->project)) return $this->loadModel('project')->checkPriv($object->project);
|
||||
if(!empty($object->product)) return $this->loadModel('product')->checkPriv($object->product);
|
||||
}
|
||||
|
||||
if($object->acl == 'open') return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,8 @@
|
||||
<button class='btn btn-primary' type='button' data-toggle='dropdown'><i class='icon icon-plus'></i> <?php echo $lang->doc->create;?> <span class='caret'></span></button>
|
||||
<ul class='dropdown-menu'>
|
||||
<?php foreach($lang->doc->typeList as $typeKey => $typeName):?>
|
||||
<li><?php echo html::a($this->createLink('doc', 'create', "libID=$libID&moduleID=$moduleID&type=$typeKey"), $typeName);?></li>
|
||||
<?php $class = strpos($config->doc->officeTypes, $typeKey) !== false ? 'iframe' : '';?>
|
||||
<li><?php echo html::a($this->createLink('doc', 'create', "libID=$libID&moduleID=$moduleID&type=$typeKey"), $typeName, '', "class='$class'");?></li>
|
||||
<?php endforeach;?>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -23,33 +23,31 @@
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<th class='w-80px'><?php echo $lang->doc->libType?></th>
|
||||
<td colspan='2'><?php echo html::radio('type', $libTypeList, $type ? $type : 'product')?></td>
|
||||
<td><?php echo html::radio('type', $libTypeList, $type ? $type : 'product')?></td>
|
||||
</tr>
|
||||
<tr class='product'>
|
||||
<th><?php echo $lang->doc->product?></th>
|
||||
<td><?php echo html::select('product', $products, $type == 'product' ? $objectID : '', "class='form-control chosen' data-drop_direction='down'")?></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr class='project hidden'>
|
||||
<th><?php echo $lang->doc->project?></th>
|
||||
<td><?php echo html::select('project', $projects, $type == 'project' ? $objectID : '', "class='form-control chosen' data-drop_direction='down'")?></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->doclib->name?></th>
|
||||
<td><?php echo html::input('name', '', "class='form-control'")?></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->doclib->control;?></th>
|
||||
<td colspan='2'>
|
||||
<?php echo html::radio('acl', $lang->doc->aclList, 'open', "onchange='toggleAcl(this.value, \"lib\")'")?>
|
||||
</td>
|
||||
<td>
|
||||
<span><?php echo html::radio('acl', $lang->doc->aclList, 'open', "onchange='toggleAcl(this.value, \"lib\")'")?></span>
|
||||
<span class='text-warning' id='noticeAcl'><?php echo $lang->doc->noticeAcl['lib']['product']['default'];?></span>
|
||||
</td>
|
||||
</tr>
|
||||
</tr>
|
||||
<tr id='whiteListBox' class='hidden'>
|
||||
<th><?php echo $lang->doc->whiteList;?></th>
|
||||
<td colspan='2'>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<span class='input-group-addon groups-addon'><?php echo $lang->doclib->group?></span>
|
||||
<?php echo html::select('groups[]', $groups, '', "class='form-control chosen' multiple")?>
|
||||
@@ -61,11 +59,7 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th></th>
|
||||
<td colspan='2'><span class='text-warning' id='noticeAcl'><?php echo $lang->doc->noticeAcl['lib']['product']['open'];?></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='text-center form-actions' colspan='3'><?php echo html::submitButton();?></td>
|
||||
<td class='text-center form-actions' colspan='2'><?php echo html::submitButton();?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
@@ -73,5 +67,21 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='hidden'>
|
||||
<table>
|
||||
<tr id='aclBoxA'>
|
||||
<th><?php echo $lang->doclib->control;?></th>
|
||||
<td>
|
||||
<?php echo html::radio('acl', $lang->doclib->aclListA, 'default', "onchange='toggleAcl(this.value, \"lib\")'")?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='aclBoxB'>
|
||||
<th><?php echo $lang->doclib->control;?></th>
|
||||
<td>
|
||||
<?php echo html::radio('acl', $lang->doclib->aclListB, 'open', "onchange='toggleAcl(this.value, \"lib\")'")?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<?php js::set('noticeAcl', $lang->doc->noticeAcl['lib']);?>
|
||||
<?php include '../../common/view/footer.lite.html.php';?>
|
||||
|
||||
@@ -45,10 +45,17 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->doclib->control;?></th>
|
||||
<?php if($lib->type == 'product' or $lib->type == 'project'):?>
|
||||
<td>
|
||||
<?php echo html::radio('acl', $lang->doc->aclList, $lib->acl, "onchange='toggleAcl(this.value, \"lib\")'")?>
|
||||
<?php echo html::radio('acl', $lang->doclib->aclListA, $lib->acl, "onchange='toggleAcl(this.value, \"lib\")'")?>
|
||||
<span class='text-warning' id='noticeAcl'><?php echo $lang->doc->noticeAcl['lib'][$lib->type][$lib->acl];?></span>
|
||||
</td>
|
||||
<?php else:?>
|
||||
<td>
|
||||
<?php echo html::radio('acl', $lang->doclib->aclListB, $lib->acl, "onchange='toggleAcl(this.value, \"lib\")'")?>
|
||||
<span class='text-warning' id='noticeAcl'><?php echo $lang->doc->noticeAcl['lib'][$lib->type][$lib->acl];?></span>
|
||||
</td>
|
||||
<?php endif;?>
|
||||
</tr>
|
||||
<tr id='whiteListBox' class='hidden'>
|
||||
<th><?php echo $lang->doc->whiteList?></th>
|
||||
|
||||
@@ -324,7 +324,7 @@ class gitModel extends model
|
||||
list($hash, $account, $date) = $log;
|
||||
|
||||
$account = preg_replace('/^Author:/', '', $account);
|
||||
$account = trim(preg_replace('/<[\w\-\.]+@[\w\-]+>/', '', $account));
|
||||
$account = trim(preg_replace('/<[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9_\-\.]+>/', '', $account));
|
||||
$date = trim(preg_replace('/^Date:/', '', $date));
|
||||
|
||||
$count = count($log);
|
||||
|
||||
@@ -557,6 +557,7 @@ $lang->resource->testcase->review = 'review';
|
||||
$lang->resource->testcase->batchReview = 'batchReview';
|
||||
$lang->resource->testcase->importFromLib = 'importFromLib';
|
||||
$lang->resource->testcase->batchCaseTypeChange = 'batchCaseTypeChange';
|
||||
$lang->resource->testcase->confirmLibcaseChange = 'confirmLibcaseChange';
|
||||
$lang->resource->testcase->batchConfirmStoryChange = 'batchConfirmStoryChange';
|
||||
|
||||
$lang->testcase->methodOrder[0] = 'index';
|
||||
@@ -752,6 +753,7 @@ $lang->resource->custom->restore = 'restore';
|
||||
$lang->resource->custom->flow = 'flow';
|
||||
$lang->resource->custom->working = 'working';
|
||||
$lang->resource->custom->setPublic = 'setPublic';
|
||||
$lang->resource->custom->timezone = 'timezone';
|
||||
|
||||
$lang->custom->methodOrder[5] = 'index';
|
||||
$lang->custom->methodOrder[10] = 'set';
|
||||
@@ -759,6 +761,7 @@ $lang->custom->methodOrder[15] = 'restore';
|
||||
$lang->custom->methodOrder[20] = 'flow';
|
||||
$lang->custom->methodOrder[25] = 'working';
|
||||
$lang->custom->methodOrder[30] = 'setPublic';
|
||||
$lang->custom->methodOrder[35] = 'timezone';
|
||||
|
||||
$lang->resource->datatable = new stdclass();
|
||||
$lang->resource->datatable->setGlobal = 'setGlobal';
|
||||
|
||||
@@ -88,6 +88,7 @@ $lang->install->chmodWin = '需要修改目錄 "%s" 的權限。';
|
||||
$lang->install->mkdirLinux = '<p>需要創建目錄%s。<br /> 命令為:<br /> mkdir -p %s</p>';
|
||||
$lang->install->chmodLinux = '需要修改目錄 "%s" 的權限。<br />命令為:<br />chmod o=rwx -R %s';
|
||||
|
||||
$lang->install->timezone = '時區設置';
|
||||
$lang->install->defaultLang = '預設語言';
|
||||
$lang->install->dbHost = '資料庫伺服器';
|
||||
$lang->install->dbHostNote = '如果127.0.0.1無法訪問,嘗試使用localhost';
|
||||
|
||||
@@ -76,6 +76,7 @@ $lang->misc->feature = new stdclass();
|
||||
$lang->misc->feature->lastest = 'Latest Version';
|
||||
$lang->misc->feature->detailed = 'Details';
|
||||
|
||||
$lang->misc->releaseDate['11.3.stable'] = '2019-02-27';
|
||||
$lang->misc->releaseDate['11.2.stable'] = '2019-01-30';
|
||||
$lang->misc->releaseDate['11.1.stable'] = '2019-01-04';
|
||||
$lang->misc->releaseDate['11.0.stable'] = '2018-12-21';
|
||||
@@ -99,6 +100,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.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>');
|
||||
|
||||
$lang->misc->feature->all['11.2.stable'][] = array('title'=>'Optimize details and fix bug.', 'desc' => '<p>Add upgrade logs and database checkup after upgrading</p><p>Fixed ZenTao client and other bugs, and optimized details.</p>');
|
||||
|
||||
$lang->misc->feature->all['11.1.stable'][] = array('title'=>'Fix Bug.');
|
||||
|
||||
@@ -76,6 +76,7 @@ $lang->misc->feature = new stdclass();
|
||||
$lang->misc->feature->lastest = '最新版本';
|
||||
$lang->misc->feature->detailed = '详情';
|
||||
|
||||
$lang->misc->releaseDate['11.3.stable'] = '2019-02-27';
|
||||
$lang->misc->releaseDate['11.2.stable'] = '2019-01-30';
|
||||
$lang->misc->releaseDate['11.1.stable'] = '2019-01-04';
|
||||
$lang->misc->releaseDate['11.0.stable'] = '2018-12-21';
|
||||
@@ -99,6 +100,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.3.stable'][] = array('title'=>'完善细节,修复Bug', 'desc' => '<p>计划添加子计划功能</p><p>优化chosen交互</p><p>添加时区设置</p><p>优化文档库和文档</p>');
|
||||
|
||||
$lang->misc->feature->all['11.2.stable'][] = array('title'=>'完善细节,修复Bug', 'desc' => '<p>增加升级日志和升级后数据库检查的功能</p><p>修复禅道集成客户端和其他若干bug,完善细节</p>');
|
||||
|
||||
$lang->misc->feature->all['11.1.stable'][] = array('title'=>'主要修复Bug。');
|
||||
|
||||
@@ -76,6 +76,7 @@ $lang->misc->feature = new stdclass();
|
||||
$lang->misc->feature->lastest = '最新版本';
|
||||
$lang->misc->feature->detailed = '詳情';
|
||||
|
||||
$lang->misc->releaseDate['11.3.stable'] = '2019-02-27';
|
||||
$lang->misc->releaseDate['11.2.stable'] = '2019-01-30';
|
||||
$lang->misc->releaseDate['11.1.stable'] = '2019-01-04';
|
||||
$lang->misc->releaseDate['11.0.stable'] = '2018-12-21';
|
||||
@@ -99,6 +100,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.3.stable'][] = array('title'=>'完善細節,修復Bug', 'desc' => '<p>計劃添加子計劃功能</p><p>優化chosen交互</p><p>添加時區設置</p><p>優化文檔庫和文檔</p>');
|
||||
|
||||
$lang->misc->feature->all['11.2.stable'][] = array('title'=>'完善細節,修復Bug', 'desc' => '<p>增加升級日誌和升級後資料庫檢查的功能</p><p>修復禪道整合客戶端和其他若干bug,完善細節</p>');
|
||||
|
||||
$lang->misc->feature->all['11.1.stable'][] = array('title'=>'主要修復Bug。');
|
||||
|
||||
@@ -27,6 +27,7 @@ $lang->productplan->batchUnlinkStory = "批量移除需求";
|
||||
$lang->productplan->linkedStories = '需求';
|
||||
$lang->productplan->unlinkedStories = '未關聯需求';
|
||||
$lang->productplan->updateOrder = '排序';
|
||||
$lang->productplan->createChildren = "創建子計劃";
|
||||
|
||||
$lang->productplan->linkBug = "關聯Bug";
|
||||
$lang->productplan->unlinkBug = "移除Bug";
|
||||
@@ -54,6 +55,8 @@ $lang->productplan->stories = '需求數';
|
||||
$lang->productplan->bugs = 'Bug數';
|
||||
$lang->productplan->hour = '工時';
|
||||
$lang->productplan->project = $lang->projectCommon;
|
||||
$lang->productplan->parent = "父計劃";
|
||||
$lang->productplan->children= "子計劃";
|
||||
|
||||
$lang->productplan->endList[7] = '一星期';
|
||||
$lang->productplan->endList[14] = '兩星期';
|
||||
|
||||
@@ -228,10 +228,11 @@
|
||||
</table>
|
||||
</div>
|
||||
<div class='tab-pane' id='legendLifeTime'>
|
||||
<?php $widthClass = $app->getClientLang() == 'en' ? 'w-90px' : 'w-70px';?>
|
||||
<table class="table table-data">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class='w-70px'><?php echo $lang->story->openedBy;?></th>
|
||||
<th class='<?php echo $widthClass;?>'><?php echo $lang->story->openedBy;?></th>
|
||||
<td><?php echo $users[$story->openedBy] . $lang->at . $story->openedDate;?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -309,12 +310,13 @@
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<div class="tab-pane <?php if($config->global->flow == 'onlyStory') echo 'active';?>" id='legendRelated'>
|
||||
<?php $widthClass = $app->getClientLang() == 'en' ? 'w-120px' : 'w-70px';?>
|
||||
<table class="table table-data">
|
||||
<tbody>
|
||||
<?php if($config->global->flow != 'onlyStory'):?>
|
||||
<?php if(!empty($fromBug)):?>
|
||||
<tr class='text-top'>
|
||||
<th class='w-70px'><?php echo $lang->story->legendFromBug;?></th>
|
||||
<th class='<?php echo $widthClass;?>'><?php echo $lang->story->legendFromBug;?></th>
|
||||
<td class='pd-0'>
|
||||
<ul class='list-unstyled'>
|
||||
<?php echo "<li title='#$fromBug->id $fromBug->title'>" . html::a($this->createLink('bug', 'view', "bugID=$fromBug->id", '', true), "#$fromBug->id $fromBug->title", '', "class='iframe' data-width='80%'") . '</li>';?>
|
||||
@@ -323,7 +325,7 @@
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<tr>
|
||||
<th class='text-top' class='w-70px'><?php echo $lang->story->legendBugs;?></th>
|
||||
<th class='text-top <?php echo $widthClass;?>'><?php echo $lang->story->legendBugs;?></th>
|
||||
<td class='pd-0'>
|
||||
<ul class='list-unstyled'>
|
||||
<?php
|
||||
@@ -350,7 +352,7 @@
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<tr>
|
||||
<th class='text-top' class='w-80px'><?php echo $lang->story->legendLinkStories;?></th>
|
||||
<th class='text-top <?php echo $widthClass;?>'><?php echo $lang->story->legendLinkStories;?></th>
|
||||
<td class='pd-0'>
|
||||
<ul class='list-unstyled'>
|
||||
<?php
|
||||
|
||||
@@ -65,7 +65,7 @@ function copyStoryTitle(num)
|
||||
|
||||
$('#name\\[' + num + '\\]').val(storyTitle);
|
||||
$('#estimate\\[' + num + '\\]').val($('#storyEstimate' + num).val());
|
||||
$('#desc\\[' + num + '\\]').val(($('#storyDesc' + num).val()).replace(/<[^>]+>/g,'').replace(/(\n)+\n/g, "\n").replace(/^\n/g, ''));
|
||||
$('#desc\\[' + num + '\\]').val(($('#storyDesc' + num).val()).replace(/<[^>]+>/g,'').replace(/(\n)+\n/g, "\n").replace(/^\n/g, '').replace(/\t/g, ''));
|
||||
|
||||
var storyPri = $('#storyPri' + num).val();
|
||||
if(storyPri == 0) $('#pri' + num ).val('3');
|
||||
|
||||
@@ -82,7 +82,7 @@ $lang->task->openedBy = 'Created by';
|
||||
$lang->task->openedDate = 'Created';
|
||||
$lang->task->openedDateAB = 'Add';
|
||||
$lang->task->finishedBy = 'Finished by';
|
||||
$lang->task->finishedByAB = 'Finished';
|
||||
$lang->task->finishedByAB = 'Finisher';
|
||||
$lang->task->finishedDate = 'Finished';
|
||||
$lang->task->finishedDateAB = 'Finished';
|
||||
$lang->task->finishedList = 'FinishedBy list';
|
||||
|
||||
@@ -282,9 +282,10 @@
|
||||
</table>
|
||||
</div>
|
||||
<div class='tab-pane' id='legendLife'>
|
||||
<?php $widthClass = $app->getClientLang() == 'en' ? 'w-100px' : 'w-70px';?>
|
||||
<table class='table table-data'>
|
||||
<tr>
|
||||
<th><?php echo $lang->task->openedBy;?></th>
|
||||
<th class='<?php echo $widthClass;?>'><?php echo $lang->task->openedBy;?></th>
|
||||
<td><?php echo $task->openedBy ? zget($users, $task->openedBy, $task->openedBy) . $lang->at . $task->openedDate : $lang->noData;?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -337,8 +338,9 @@
|
||||
<summary class="detail-title"><?php echo $lang->task->legendEffort;?></summary>
|
||||
<div class="detail-content">
|
||||
<table class='table table-data'>
|
||||
<?php $widthClass = $app->getClientLang() == 'en' ? 'w-90px' : 'w-70px';?>
|
||||
<tr>
|
||||
<th><?php echo $lang->task->estStarted;?></th>
|
||||
<th class='<?php echo $widthClass;?>'><?php echo $lang->task->estStarted;?></th>
|
||||
<td><?php echo $task->estStarted;?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
@@ -85,6 +85,7 @@ $lang->testcase->batchReview = "Batch Review";
|
||||
$lang->testcase->edit = "Edit";
|
||||
$lang->testcase->batchEdit = "Batch Edit ";
|
||||
$lang->testcase->batchChangeModule = "Batch Change Module";
|
||||
$lang->testcase->confirmLibcaseChange = "Confirm Library Case Change";
|
||||
$lang->testcase->batchChangeBranch = "Batch Change Branch";
|
||||
$lang->testcase->groupByStories = 'Group by Story';
|
||||
$lang->testcase->delete = "Delete";
|
||||
|
||||
@@ -85,6 +85,7 @@ $lang->testcase->batchReview = "批量评审";
|
||||
$lang->testcase->edit = "编辑";
|
||||
$lang->testcase->batchEdit = "批量编辑 ";
|
||||
$lang->testcase->batchChangeModule = "批量修改模块";
|
||||
$lang->testcase->confirmLibcaseChange = "同步用例库用例修改";
|
||||
$lang->testcase->batchChangeBranch = "批量修改分支";
|
||||
$lang->testcase->groupByStories = '需求分组';
|
||||
$lang->testcase->delete = "删除";
|
||||
|
||||
@@ -54,7 +54,7 @@ $lang->testcase->expect = '預期';
|
||||
$lang->testcase->allProduct = "所有{$lang->productCommon}";
|
||||
$lang->testcase->fromBug = '來源Bug';
|
||||
$lang->testcase->toBug = '生成Bug';
|
||||
$lang->testcase->changed = '用例變更';
|
||||
$lang->testcase->changed = '原用例更新';
|
||||
$lang->testcase->bugs = '產生Bug數';
|
||||
$lang->testcase->bugsAB = 'B';
|
||||
$lang->testcase->results = '執行結果數';
|
||||
@@ -64,6 +64,9 @@ $lang->testcase->stepNumberAB = 'S';
|
||||
$lang->testcase->createBug = '轉Bug';
|
||||
$lang->testcase->fromModule = '來源模組';
|
||||
$lang->testcase->fromCase = '來源用例';
|
||||
$lang->testcase->sync = '同步';
|
||||
$lang->testcase->fromTesttask = '測試單用例';
|
||||
$lang->testcase->fromCaselib = '用例庫用例';
|
||||
$lang->case = $lang->testcase; // 用於DAO檢查時使用。因為case是系統關鍵字,所以無法定義該模組為case,只能使用testcase,但表還是使用的case。
|
||||
|
||||
$lang->testcase->stepID = '編號';
|
||||
@@ -82,6 +85,7 @@ $lang->testcase->batchReview = "批量評審";
|
||||
$lang->testcase->edit = "編輯";
|
||||
$lang->testcase->batchEdit = "批量編輯 ";
|
||||
$lang->testcase->batchChangeModule = "批量修改模組";
|
||||
$lang->testcase->confirmLibcaseChange = "同步用例庫用例修改";
|
||||
$lang->testcase->batchChangeBranch = "批量修改分支";
|
||||
$lang->testcase->groupByStories = '需求分組';
|
||||
$lang->testcase->delete = "刪除";
|
||||
|
||||
@@ -128,15 +128,16 @@
|
||||
<details class="detail" open>
|
||||
<summary class="detail-title"><?php echo $lang->testcase->legendBasicInfo;?></summary>
|
||||
<div class="detail-content">
|
||||
<?php $widthClass = $app->getClientLang() == 'en' ? 'w-90px' : 'w-60px';?>
|
||||
<table class='table table-data'>
|
||||
<?php if($isLibCase):?>
|
||||
<tr>
|
||||
<th class='w-80px'><?php echo $lang->testcase->lib;?></th>
|
||||
<th class='<?php echo $widthClass;?>'><?php echo $lang->testcase->lib;?></th>
|
||||
<td><?php if(!common::printLink('testsuite', 'library', "libID=$case->lib", $libName)) echo $libName;?></td>
|
||||
</tr>
|
||||
<?php else:?>
|
||||
<tr>
|
||||
<th class='w-80px'><?php echo $lang->testcase->product;?></th>
|
||||
<th class='<?php echo $widthClass;?>'><?php echo $lang->testcase->product;?></th>
|
||||
<td><?php if(!common::printLink('testcase', 'browse', "productID=$case->product", $productName)) echo $productName;?></td>
|
||||
</tr>
|
||||
<?php if($this->session->currentProductType != 'normal'):?>
|
||||
@@ -270,16 +271,17 @@
|
||||
<details class="detail" open>
|
||||
<summary class="detail-title"><?php echo $lang->testcase->legendLinkBugs;?></summary>
|
||||
<div class="detail-content">
|
||||
<?php $widthClass = $app->getClientLang() == 'en' ? 'w-90px' : 'w-60px';?>
|
||||
<table class='table table-data'>
|
||||
<?php if($case->fromBug):?>
|
||||
<tr>
|
||||
<th class='w-60px'><?php echo $lang->testcase->fromBug;?></th>
|
||||
<th class='<?php echo $widthClass;?>'><?php echo $lang->testcase->fromBug;?></th>
|
||||
<td><?php echo html::a($this->createLink('bug', 'view', "bugID=$case->fromBug", '', true), $case->fromBugTitle, '', "class='iframe' data-width='80%'");?></td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<?php if($case->toBugs):?>
|
||||
<tr>
|
||||
<th class='w-60px' valign="top"><?php echo $lang->testcase->toBug;?></th>
|
||||
<th class='<?php echo $widthClass;?>' valign="top"><?php echo $lang->testcase->toBug;?></th>
|
||||
<td>
|
||||
<?php
|
||||
foreach($case->toBugs as $bugID => $bugTitle)
|
||||
@@ -299,9 +301,10 @@
|
||||
<details class="detail" open>
|
||||
<summary class="detail-title"><?php echo $lang->testcase->legendOpenAndEdit;?></summary>
|
||||
<div class="detail-content">
|
||||
<?php $widthClass = $app->getClientLang() == 'en' ? 'w-90px' : 'w-60px';?>
|
||||
<table class='table table-data'>
|
||||
<tr>
|
||||
<th class='w-60px'><?php echo $lang->testcase->openedBy;?></th>
|
||||
<th class='<?php echo $widthClass;?>'><?php echo $lang->testcase->openedBy;?></th>
|
||||
<td><?php echo $users[$case->openedBy] . $lang->at . $case->openedDate;?></td>
|
||||
</tr>
|
||||
<?php if($config->testcase->needReview or !empty($config->testcase->forceReview)):?>
|
||||
|
||||
@@ -162,4 +162,12 @@ $(function()
|
||||
{
|
||||
$('[data-toggle=tooltip]').tooltip();
|
||||
initSteps();
|
||||
|
||||
$('#pri').on('change', function()
|
||||
{
|
||||
var $select = $(this);
|
||||
var $selector = $select.closest('.pri-selector');
|
||||
var value = $select.val();
|
||||
$selector.find('.pri-text').html('<span class="label-pri label-pri-' + value + '" title="' + value + '">' + value + '</span>');
|
||||
});
|
||||
})
|
||||
|
||||
@@ -102,3 +102,4 @@ $lang->upgrade->fromVersions['10_5_1'] = '10.5.1';
|
||||
$lang->upgrade->fromVersions['10_6'] = '10.6';
|
||||
$lang->upgrade->fromVersions['11_0'] = '11.0';
|
||||
$lang->upgrade->fromVersions['11_1'] = '11.1';
|
||||
$lang->upgrade->fromVersions['11_2'] = '11.2';
|
||||
|
||||
@@ -363,6 +363,10 @@ class upgradeModel extends model
|
||||
$this->dao->update(TABLE_CONFIG)->set('value')->eq('off')->where('`key`')->eq('isHttps')->andWhere('`section`')->eq('xuanxuan')->andWhere('`value`')->eq('0')->exec();
|
||||
$this->dao->update(TABLE_CONFIG)->set('value')->eq('on')->where('`key`')->eq('isHttps')->andWhere('`section`')->eq('xuanxuan')->andWhere('`value`')->eq('1')->exec();
|
||||
}
|
||||
case '11_2':
|
||||
$this->saveLogs('Execute 11_2');
|
||||
$this->execSQL($this->getUpgradeFile('11.2'));
|
||||
$this->processDocLibAcl();
|
||||
}
|
||||
|
||||
$this->deletePatch();
|
||||
@@ -486,11 +490,13 @@ class upgradeModel extends model
|
||||
$confirmContent .= file_get_contents($this->app->getAppRoot() . 'db' . DS . 'upgradexuanxuan2.2.0.sql');
|
||||
case '11_0':
|
||||
case '11_1':
|
||||
$confirmContent .= file_get_contents($this->getUpgradeFile('11.1'));
|
||||
if(!isset($this->config->isINT) or !($this->config->isINT))
|
||||
{
|
||||
$xuanxuanSql = $this->app->getAppRoot() . 'db' . DS . 'upgradexuanxuan2.3.0.sql';
|
||||
$confirmContent .= file_get_contents($xuanxuanSql);
|
||||
}
|
||||
case '11_2': $confirmContent .= file_get_contents($this->getUpgradeFile('11.2'));
|
||||
}
|
||||
return str_replace('zt_', $this->config->db->prefix, $confirmContent);
|
||||
}
|
||||
@@ -2966,6 +2972,19 @@ class upgradeModel extends model
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Process doc lib acl.
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function processDocLibAcl()
|
||||
{
|
||||
$this->dao->update(TABLE_DOCLIB)->set('acl')->eq('default')->where('type')->in('product,project')->andWhere('acl')->in('open,private')->exec();
|
||||
$this->saveLogs($this->dao->get());
|
||||
return !dao::isError();
|
||||
}
|
||||
|
||||
/**
|
||||
* Save Logs.
|
||||
*
|
||||
|
||||
+13
-4
@@ -30,12 +30,12 @@ $lang->user->verify = 'Verification';
|
||||
$lang->user->contactInfo = 'Contact';
|
||||
$lang->user->skype = 'Skype';
|
||||
$lang->user->qq = 'QQ';
|
||||
$lang->user->wechat = 'Wechat';
|
||||
$lang->user->dingding = 'Dingding';
|
||||
$lang->user->slack = 'Slack';
|
||||
$lang->user->whatsapp = 'WhatsApp';
|
||||
$lang->user->mobile = 'Mobile';
|
||||
$lang->user->phone = 'Phone';
|
||||
$lang->user->weixin = 'Wechat';
|
||||
$lang->user->dingding = 'Ding Ding';
|
||||
$lang->user->slack = 'Slack';
|
||||
$lang->user->whatsapp = 'WhatsApp';
|
||||
$lang->user->address = 'Address';
|
||||
$lang->user->zipcode = 'Zip Code';
|
||||
$lang->user->join = 'Join Date';
|
||||
@@ -152,6 +152,15 @@ $lang->user->error->reserved = "ID %s,account is reserved.";
|
||||
$lang->user->error->verifyPassword = "Verification failed. Please enter your Login Password.";
|
||||
$lang->user->error->originalPassword = "Old password is incorrect.";
|
||||
|
||||
$lang->user->contactFieldList['skype'] = $lang->user->skype;
|
||||
$lang->user->contactFieldList['qq'] = $lang->user->qq;
|
||||
$lang->user->contactFieldList['dingding'] = $lang->user->dingding;
|
||||
$lang->user->contactFieldList['weixin'] = $lang->user->weixin;
|
||||
$lang->user->contactFieldList['mobile'] = $lang->user->mobile;
|
||||
$lang->user->contactFieldList['slack'] = $lang->user->slack;
|
||||
$lang->user->contactFieldList['whatsapp'] = $lang->user->whatsapp;
|
||||
$lang->user->contactFieldList['phone'] = $lang->user->phone;
|
||||
|
||||
$lang->user->contacts = new stdclass();
|
||||
$lang->user->contacts->common = 'Contact';
|
||||
$lang->user->contacts->listName = 'List Name';
|
||||
|
||||
@@ -32,6 +32,10 @@ $lang->user->skype = 'Skype';
|
||||
$lang->user->qq = 'QQ';
|
||||
$lang->user->mobile = '手機';
|
||||
$lang->user->phone = '電話';
|
||||
$lang->user->weixin = '微信';
|
||||
$lang->user->dingding = '釘釘';
|
||||
$lang->user->slack = 'Slack';
|
||||
$lang->user->whatsapp = 'WhatsApp';
|
||||
$lang->user->address = '通訊地址';
|
||||
$lang->user->zipcode = '郵編';
|
||||
$lang->user->join = '入職日期';
|
||||
@@ -148,6 +152,15 @@ $lang->user->error->reserved = "【ID %s】的用戶名已被系統預留";
|
||||
$lang->user->error->verifyPassword = "驗證失敗,請檢查您的系統登錄密碼是否正確";
|
||||
$lang->user->error->originalPassword = "原密碼不正確";
|
||||
|
||||
$lang->user->contactFieldList['skype'] = $lang->user->skype;
|
||||
$lang->user->contactFieldList['qq'] = $lang->user->qq;
|
||||
$lang->user->contactFieldList['dingding'] = $lang->user->dingding;
|
||||
$lang->user->contactFieldList['weixin'] = $lang->user->weixin;
|
||||
$lang->user->contactFieldList['mobile'] = $lang->user->mobile;
|
||||
$lang->user->contactFieldList['slack'] = $lang->user->slack;
|
||||
$lang->user->contactFieldList['whatsapp'] = $lang->user->whatsapp;
|
||||
$lang->user->contactFieldList['phone'] = $lang->user->phone;
|
||||
|
||||
$lang->user->contacts = new stdclass();
|
||||
$lang->user->contacts->common = '聯繫人';
|
||||
$lang->user->contacts->listName = '列表名稱';
|
||||
|
||||
Reference in New Issue
Block a user