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.6.4'; // ZenTaoPHP的版本。 The version of ZenTaoPHP. Don't change it.
|
||||
$config->version = '11.6.5'; // ZenTaoPHP的版本。 The version of ZenTaoPHP. Don't change it.
|
||||
$config->charset = 'UTF-8'; // ZenTaoPHP的编码。 The encoding of ZenTaoPHP.
|
||||
$config->cookieLife = time() + 2592000; // Cookie的生存时间。The cookie life time.
|
||||
$config->timezone = 'Asia/Shanghai'; // 时区设置。 The time zone setting, for more see http://www.php.net/manual/en/timezones.php.
|
||||
|
||||
@@ -0,0 +1,938 @@
|
||||
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',
|
||||
`subStatus` varchar(30) NOT NULL DEFAULT '',
|
||||
`color` char(7) NOT NULL,
|
||||
`confirmed` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`activatedCount` smallint(6) NOT NULL,
|
||||
`activatedDate` datetime NOT NULL,
|
||||
`mailto` text,
|
||||
`openedBy` varchar(30) NOT NULL DEFAULT '',
|
||||
`openedDate` datetime NOT NULL,
|
||||
`openedBuild` varchar(255) NOT NULL,
|
||||
`assignedTo` varchar(30) NOT NULL DEFAULT '',
|
||||
`assignedDate` datetime NOT NULL,
|
||||
`deadline` date NOT NULL,
|
||||
`resolvedBy` varchar(30) NOT NULL DEFAULT '',
|
||||
`resolution` varchar(30) NOT NULL DEFAULT '',
|
||||
`resolvedBuild` varchar(30) NOT NULL DEFAULT '',
|
||||
`resolvedDate` datetime NOT NULL,
|
||||
`closedBy` varchar(30) NOT NULL DEFAULT '',
|
||||
`closedDate` datetime NOT NULL,
|
||||
`duplicateBug` mediumint(8) unsigned NOT NULL,
|
||||
`linkBug` varchar(255) NOT NULL,
|
||||
`case` mediumint(8) unsigned NOT NULL,
|
||||
`caseVersion` smallint(6) NOT NULL DEFAULT '1',
|
||||
`result` mediumint(8) unsigned NOT NULL,
|
||||
`testtask` mediumint(8) unsigned NOT NULL,
|
||||
`lastEditedBy` varchar(30) NOT NULL DEFAULT '',
|
||||
`lastEditedDate` datetime NOT NULL,
|
||||
`deleted` enum('0','1') NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `product` (`product`),
|
||||
KEY `project` (`project`),
|
||||
KEY `status` (`status`),
|
||||
KEY `plan` (`plan`),
|
||||
KEY `story` (`story`),
|
||||
KEY `case` (`case`),
|
||||
KEY `assignedTo` (`assignedTo`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
CREATE TABLE `zt_build` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`product` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`branch` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`project` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`name` char(150) NOT NULL,
|
||||
`scmPath` char(255) NOT NULL,
|
||||
`filePath` char(255) NOT NULL,
|
||||
`date` date NOT NULL,
|
||||
`stories` text NOT NULL,
|
||||
`bugs` text NOT NULL,
|
||||
`builder` char(30) NOT NULL DEFAULT '',
|
||||
`desc` text NOT NULL,
|
||||
`deleted` enum('0','1') NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `product` (`product`),
|
||||
KEY `project` (`project`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
CREATE TABLE `zt_burn` (
|
||||
`project` mediumint(8) unsigned NOT NULL,
|
||||
`task` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`date` date NOT NULL,
|
||||
`estimate` float NOT NULL,
|
||||
`left` float NOT NULL,
|
||||
`consumed` float NOT NULL,
|
||||
PRIMARY KEY (`project`,`date`,`task`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
CREATE TABLE `zt_case` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`product` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`branch` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`lib` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`module` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`path` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`story` mediumint(30) unsigned NOT NULL DEFAULT '0',
|
||||
`storyVersion` smallint(6) NOT NULL DEFAULT '1',
|
||||
`title` varchar(255) NOT NULL,
|
||||
`precondition` text NOT NULL,
|
||||
`keywords` varchar(255) NOT NULL,
|
||||
`pri` tinyint(3) unsigned NOT NULL DEFAULT '3',
|
||||
`type` char(30) NOT NULL DEFAULT '1',
|
||||
`stage` varchar(255) NOT NULL,
|
||||
`howRun` varchar(30) NOT NULL,
|
||||
`scriptedBy` varchar(30) NOT NULL,
|
||||
`scriptedDate` date NOT NULL,
|
||||
`scriptStatus` varchar(30) NOT NULL,
|
||||
`scriptLocation` varchar(255) NOT NULL,
|
||||
`status` char(30) NOT NULL DEFAULT '1',
|
||||
`subStatus` varchar(30) NOT NULL DEFAULT '',
|
||||
`color` char(7) NOT NULL,
|
||||
`frequency` enum('1','2','3') NOT NULL DEFAULT '1',
|
||||
`order` tinyint(30) unsigned NOT NULL DEFAULT '0',
|
||||
`openedBy` char(30) NOT NULL DEFAULT '',
|
||||
`openedDate` datetime NOT NULL,
|
||||
`reviewedBy` varchar(255) NOT NULL,
|
||||
`reviewedDate` date NOT NULL,
|
||||
`lastEditedBy` char(30) NOT NULL DEFAULT '',
|
||||
`lastEditedDate` datetime NOT NULL,
|
||||
`version` tinyint(3) unsigned NOT NULL DEFAULT '0',
|
||||
`linkCase` varchar(255) NOT NULL,
|
||||
`fromBug` mediumint(8) unsigned NOT NULL,
|
||||
`fromCaseID` mediumint(8) unsigned NOT NULL,
|
||||
`fromCaseVersion` mediumint(8) unsigned NOT NULL,
|
||||
`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 IF NOT EXISTS `zt_entry` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(50) NOT NULL,
|
||||
`account` varchar(30) NOT NULL DEFAULT '',
|
||||
`code` varchar(20) NOT NULL,
|
||||
`key` varchar(32) NOT NULL,
|
||||
`freePasswd` enum('0','1') NOT NULL DEFAULT '0',
|
||||
`ip` varchar(100) NOT NULL,
|
||||
`desc` text NOT NULL,
|
||||
`createdBy` varchar(30) NOT NULL,
|
||||
`createdDate` datetime NOT NULL,
|
||||
`calledTime` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`editedBy` varchar(30) NOT NULL,
|
||||
`editedDate` datetime NOT NULL,
|
||||
`deleted` enum('0', '1') NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY `id` (`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 '',
|
||||
`subStatus` varchar(30) NOT NULL DEFAULT '',
|
||||
`desc` text NOT NULL,
|
||||
`PO` varchar(30) NOT NULL,
|
||||
`QD` varchar(30) NOT NULL,
|
||||
`RD` varchar(30) NOT NULL,
|
||||
`acl` enum('open','private','custom') NOT NULL DEFAULT 'open',
|
||||
`whitelist` text NOT NULL,
|
||||
`createdBy` varchar(30) NOT NULL,
|
||||
`createdDate` datetime NOT NULL,
|
||||
`createdVersion` varchar(20) NOT NULL,
|
||||
`order` mediumint(8) unsigned NOT NULL,
|
||||
`deleted` enum('0','1') NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `order` (`order`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
CREATE TABLE `zt_productplan` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`product` mediumint(8) unsigned NOT NULL,
|
||||
`branch` mediumint(8) unsigned NOT NULL,
|
||||
`parent` mediumint(9) NOT NULL DEFAULT '0',
|
||||
`title` varchar(90) NOT NULL,
|
||||
`desc` text NOT NULL,
|
||||
`begin` date NOT NULL,
|
||||
`end` date NOT NULL,
|
||||
`order` text NOT NULL,
|
||||
`deleted` enum('0','1') NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `product` (`product`),
|
||||
KEY `end` (`end`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
CREATE TABLE `zt_project` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`isCat` enum('1','0') NOT NULL DEFAULT '0',
|
||||
`catID` mediumint(8) unsigned NOT NULL,
|
||||
`type` varchar(20) NOT NULL DEFAULT 'sprint',
|
||||
`parent` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`name` varchar(90) NOT NULL,
|
||||
`code` varchar(45) NOT NULL,
|
||||
`begin` date NOT NULL,
|
||||
`end` date NOT NULL,
|
||||
`days` smallint(5) unsigned NOT NULL,
|
||||
`status` varchar(10) NOT NULL,
|
||||
`subStatus` varchar(30) NOT NULL DEFAULT '',
|
||||
`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',
|
||||
`subStatus` varchar(30) NOT NULL DEFAULT '',
|
||||
`deleted` enum('0','1') NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `product` (`product`),
|
||||
KEY `build` (`build`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
CREATE TABLE `zt_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 IF NOT EXISTS `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 '',
|
||||
`subStatus` varchar(30) NOT NULL DEFAULT '',
|
||||
`color` char(7) NOT NULL,
|
||||
`stage` enum('','wait','planned','projected','developing','developed','testing','tested','verified','released', 'closed') NOT NULL DEFAULT 'wait',
|
||||
`stagedBy` char(30) NOT NULL,
|
||||
`mailto` text,
|
||||
`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(8) unsigned NOT NULL,
|
||||
`childStories` varchar(255) NOT NULL,
|
||||
`linkStories` varchar(255) NOT NULL,
|
||||
`duplicateStory` mediumint(8) unsigned NOT NULL,
|
||||
`version` smallint(6) NOT NULL default '1',
|
||||
`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 IF NOT EXISTS `zt_storystage` (
|
||||
`story` mediumint(8) unsigned NOT NULL,
|
||||
`branch` mediumint(8) unsigned NOT NULL,
|
||||
`stage` varchar(50) NOT NULL,
|
||||
`stagedBy` char(30) NOT NULL,
|
||||
UNIQUE KEY `story_branch` (`story`,`branch`),
|
||||
KEY `story` (`story`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
CREATE TABLE `zt_suitecase` (
|
||||
`suite` mediumint(8) unsigned NOT NULL,
|
||||
`product` mediumint(8) unsigned NOT NULL,
|
||||
`case` mediumint(8) unsigned NOT NULL,
|
||||
`version` smallint(5) unsigned NOT NULL,
|
||||
UNIQUE KEY `suitecase` (`suite`,`case`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
CREATE TABLE `zt_task` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`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',
|
||||
`subStatus` varchar(30) NOT NULL DEFAULT '',
|
||||
`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',
|
||||
`subStatus` varchar(30) NOT NULL DEFAULT '',
|
||||
`deleted` enum('0','1') NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `product` (`product`),
|
||||
KEY `build` (`build`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
CREATE TABLE `zt_translation` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`lang` varchar(30) NOT NULL,
|
||||
`module` varchar(30) NOT NULL,
|
||||
`key` varchar(100) NOT NULL,
|
||||
`value` text NOT NULL,
|
||||
`referer` text NOT NULL,
|
||||
`status` varchar(30) NOT NULL,
|
||||
`translator` char(30) NOT NULL,
|
||||
`translatedTime` datetime NOT NULL,
|
||||
`reviewer` char(30) NOT NULL,
|
||||
`reviewedTime` datetime NOT NULL,
|
||||
`reason` text NOT NULL,
|
||||
`version` varchar(20) NOT NULL,
|
||||
`mode` varchar(20) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `lang_module_key_mode` (`lang`,`module`,`key`,`mode`)
|
||||
) 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,
|
||||
`secret` varchar(255) NOT NULL,
|
||||
`contentType` varchar(30) NOT NULL DEFAULT 'application/json',
|
||||
`sendType` enum('sync','async') NOT NULL DEFAULT 'sync',
|
||||
`products` text NOT NULL,
|
||||
`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;
|
||||
@@ -943,6 +943,7 @@ CREATE TABLE IF NOT EXISTS `zt_webhook` (
|
||||
`name` varchar(50) NOT NULL,
|
||||
`url` varchar(255) NOT NULL,
|
||||
`domain` varchar(255) NOT NULL,
|
||||
`secret` varchar(255) NOT NULL,
|
||||
`contentType` varchar(30) NOT NULL DEFAULT 'application/json',
|
||||
`sendType` enum('sync','async') NOT NULL DEFAULT 'sync',
|
||||
`products` text NOT NULL,
|
||||
|
||||
@@ -1,3 +1,13 @@
|
||||
2019-11-08 11.6.5
|
||||
完成的需求:
|
||||
4411 优化产品汇总表中对子计划的展示
|
||||
修复的Bug:
|
||||
2821 测试单点击用例标题报错
|
||||
2822 点击用例库模块提示错误
|
||||
2824 /module/task/view/create.html.php文件语句问题,199行</td>与151行<td>导致页面出错
|
||||
2831 权限名称和菜单名称不统一
|
||||
修复WebHook对钉钉的支持
|
||||
|
||||
2019-10-17 11.6.4
|
||||
完成的需求:
|
||||
4392 维护文档分类切换所属文档库后把分类下面的文档也带到新文档库中
|
||||
|
||||
@@ -597,7 +597,7 @@ class baseRouter
|
||||
/* Change for CSRF. */
|
||||
$httpType = (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == 'on') ? 'https' : 'http';
|
||||
$httpHost = $_SERVER['HTTP_HOST'];
|
||||
if(strpos($this->server->http_referer, "$httpType://$httpHost") !== 0) $_FILES = $_POST = array();
|
||||
if((!defined('RUN_MODE') or RUN_MODE != 'api') and strpos($this->server->http_referer, "$httpType://$httpHost") !== 0) $_FILES = $_POST = array();
|
||||
|
||||
$_FILES = validater::filterFiles();
|
||||
$_POST = validater::filterSuper($_POST);
|
||||
|
||||
+41
-17
@@ -21,7 +21,7 @@ include dirname(__FILE__) . '/base/control.class.php';
|
||||
class control extends baseControl
|
||||
{
|
||||
/**
|
||||
* Set requiredFields for workflow.
|
||||
* Check requiredFields and set exportFields for workflow.
|
||||
*
|
||||
* @param string $moduleName
|
||||
* @param string $methodName
|
||||
@@ -35,27 +35,16 @@ class control extends baseControl
|
||||
|
||||
if(!isset($this->config->bizVersion)) return false;
|
||||
/* Code for task #9224. Set requiredFields for workflow. */
|
||||
$fields = $this->loadModel('workflowaction')->getFields($this->moduleName, $this->methodName);
|
||||
$layouts = $this->loadModel('workflowlayout')->getFields($this->moduleName, $this->methodName);
|
||||
$notEmptyRule = $this->loadModel('workflowrule')->getByTypeAndRule('system', 'notempty');
|
||||
|
||||
foreach($fields as $field)
|
||||
if($this->dbh and $this->moduleName != 'upgrade' and $this->moduleName != 'install')
|
||||
{
|
||||
$this->checkRequireFlowField();
|
||||
|
||||
if($notEmptyRule && strpos(",$field->rules,", ",$notEmptyRule->id,") !== false)
|
||||
if(isset($this->config->{$this->moduleName}) and isset($this->config->{$this->moduleName}->exportFields) and strpos($this->methodName, 'export') !== false)
|
||||
{
|
||||
if(!isset($this->config->{$this->moduleName})) $this->config->{$this->moduleName} = new stdclass();
|
||||
if(!isset($this->config->{$this->moduleName}->{$this->methodName})) $this->config->{$this->moduleName}->{$this->methodName} = new stdclass();
|
||||
if(!isset($this->config->{$this->moduleName}->{$this->methodName}->requiredFields)) $this->config->{$this->moduleName}->{$this->methodName}->requiredFields = '';
|
||||
$this->config->{$this->moduleName}->{$this->methodName}->requiredFields .= ",{$field->field}";
|
||||
$exportFields = $this->dao->select('*')->from(TABLE_WORKFLOWFIELD)->where('module')->eq($this->moduleName)->andWhere('canExport')->eq('1')->andWhere('buildin')->eq('0')->fetchAll('field');
|
||||
foreach($exportFields as $field) $this->config->{$this->moduleName}->exportFields .= ",{$field->field}";
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($this->config->{$this->moduleName}) and isset($this->config->{$this->moduleName}->exportFields))
|
||||
{
|
||||
$exportFields = $this->dao->select('*')->from(TABLE_WORKFLOWFIELD)->where('module')->eq($this->moduleName)->andWhere('canExport')->eq('1')->andWhere('buildin')->eq('0')->fetchAll('field');
|
||||
foreach($exportFields as $field) $this->config->{$this->moduleName}->exportFields .= ",{$field->field}";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -254,4 +243,39 @@ class control extends baseControl
|
||||
|
||||
return $this->$moduleName->processStatus($module, $record);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check require with flow field when post data.
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function checkRequireFlowField()
|
||||
{
|
||||
if(!isset($this->config->bizVersion)) return false;
|
||||
if(empty($_POST)) return false;
|
||||
|
||||
$fields = $this->loadModel('workflowaction')->getFields($this->moduleName, $this->methodName);
|
||||
$layouts = $this->loadModel('workflowlayout')->getFields($this->moduleName, $this->methodName);
|
||||
$notEmptyRule = $this->loadModel('workflowrule')->getByTypeAndRule('system', 'notempty');
|
||||
|
||||
$requiredFields = '';
|
||||
foreach($fields as $field)
|
||||
{
|
||||
if($field->buildin or !$field->show or !isset($layouts[$field->field])) continue;
|
||||
if($notEmptyRule && strpos(",$field->rules,", ",$notEmptyRule->id,") !== false) $requiredFields .= ",{$field->field}";
|
||||
}
|
||||
|
||||
if($requiredFields)
|
||||
{
|
||||
if(isset($this->config->{$this->moduleName}->{$this->methodName}->requiredFields)) $requiredFields .= ',' . $this->config->{$this->moduleName}->{$this->methodName}->requiredFields;
|
||||
|
||||
$message = array();
|
||||
foreach(explode(',', $requiredFields) as $requiredField)
|
||||
{
|
||||
if(isset($_POST[$requiredField]) and $_POST[$requiredField] === '')$message[$requiredField] = sprintf($this->lang->error->notempty, $fields[$requiredField]->name);
|
||||
}
|
||||
if($message) $this->send(array('result' => 'fail', 'message' => $message));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ class router extends baseRouter
|
||||
public $rawMethod;
|
||||
|
||||
/**
|
||||
* 请求的原始方法名。
|
||||
* 请求的原始参数。
|
||||
* The requested params parsed from a URL.
|
||||
*
|
||||
* @var array
|
||||
|
||||
@@ -373,7 +373,7 @@ $lang->action->label->bug = 'Bug|bug|view|bugID=%s';
|
||||
$lang->action->label->case = 'Case|testcase|view|caseID=%s';
|
||||
$lang->action->label->testtask = 'Request|testtask|view|caseID=%s';
|
||||
$lang->action->label->testsuite = 'Test Suite|testsuite|view|suiteID=%s';
|
||||
$lang->action->label->caselib = 'Case Library|testsuite|libview|libID=%s';
|
||||
$lang->action->label->caselib = 'Case Library|caselib|view|libID=%s';
|
||||
$lang->action->label->todo = 'Todo|todo|view|todoID=%s';
|
||||
$lang->action->label->doclib = 'Doc Library|doc|browse|libID=%s';
|
||||
$lang->action->label->doc = 'Doc|doc|view|docID=%s';
|
||||
|
||||
@@ -373,7 +373,7 @@ $lang->action->label->bug = 'Bug|bug|view|bugID=%s';
|
||||
$lang->action->label->case = '用例|testcase|view|caseID=%s';
|
||||
$lang->action->label->testtask = '测试单|testtask|view|caseID=%s';
|
||||
$lang->action->label->testsuite = '测试套件|testsuite|view|suiteID=%s';
|
||||
$lang->action->label->caselib = '用例库|testsuite|libview|libID=%s';
|
||||
$lang->action->label->caselib = '用例库|caselib|view|libID=%s';
|
||||
$lang->action->label->todo = '待办|todo|view|todoID=%s';
|
||||
$lang->action->label->doclib = '文档库|doc|browse|libID=%s';
|
||||
$lang->action->label->doc = '文档|doc|view|docID=%s';
|
||||
|
||||
@@ -373,7 +373,7 @@ $lang->action->label->bug = 'Bug|bug|view|bugID=%s';
|
||||
$lang->action->label->case = '用例|testcase|view|caseID=%s';
|
||||
$lang->action->label->testtask = '測試單|testtask|view|caseID=%s';
|
||||
$lang->action->label->testsuite = '測試套件|testsuite|view|suiteID=%s';
|
||||
$lang->action->label->caselib = '用例庫|testsuite|libview|libID=%s';
|
||||
$lang->action->label->caselib = '用例庫|caselib|view|libID=%s';
|
||||
$lang->action->label->todo = '待辦|todo|view|todoID=%s';
|
||||
$lang->action->label->doclib = '文檔庫|doc|browse|libID=%s';
|
||||
$lang->action->label->doc = '文檔|doc|view|docID=%s';
|
||||
|
||||
@@ -397,8 +397,8 @@ $lang->block->gridOptions[8] = 'Left';
|
||||
$lang->block->gridOptions[4] = 'Right';
|
||||
|
||||
$lang->block->flowchart = array();
|
||||
$lang->block->flowchart[] = array('Administrateur', 'Ajoute Compartiment', 'Ajoute Utilisateurs', 'Administre Privilèges');
|
||||
$lang->block->flowchart[] = array($lang->productCommon . ' Owner', 'Ajoute ' . $lang->productCommon . '/Modules', 'Ajoute ' . $lang->projectCommon . 's', 'Ajoute Stories', 'Maintient Plans', 'Crée Releases');
|
||||
$lang->block->flowchart[] = array('Scrum Master', 'Ajoute ' . $lang->projectCommon . 's', 'Constitue Equipes', 'Associe ' . $lang->productCommon . 's', 'Rattache Stories', 'Crée/Affecte Tâches');
|
||||
$lang->block->flowchart[] = array('Développeurs', 'Réclament Tâches/Bugs', 'Effectuent Tâches', 'Corrigent Bugs', 'MàJ Statuts', 'Terminent Tâches/Bugs');
|
||||
$lang->block->flowchart[] = array('Testeurs', 'Rédigent CasTests', 'Jouent CasTests', 'Détectent Bugs', 'Vérifient Corrections', 'Ferment Bugs');
|
||||
$lang->block->flowchart['admin'] = array('Administrateur', 'Ajoute Compartiment', 'Ajoute Utilisateurs', 'Administre Privilèges');
|
||||
$lang->block->flowchart['product'] = array($lang->productCommon . ' Owner', 'Ajoute ' . $lang->productCommon . '/Modules', 'Ajoute ' . $lang->projectCommon . 's', 'Ajoute Stories', 'Maintient Plans', 'Crée Releases');
|
||||
$lang->block->flowchart['project'] = array('Scrum Master', 'Ajoute ' . $lang->projectCommon . 's', 'Constitue Equipes', 'Associe ' . $lang->productCommon . 's', 'Rattache Stories', 'Crée/Affecte Tâches');
|
||||
$lang->block->flowchart['dev'] = array('Développeurs', 'Réclament Tâches/Bugs', 'Effectuent Tâches', 'Corrigent Bugs', 'MàJ Statuts', 'Terminent Tâches/Bugs');
|
||||
$lang->block->flowchart['tester'] = array('Testeurs', 'Rédigent CasTests', 'Jouent CasTests', 'Détectent Bugs', 'Vérifient Corrections', 'Ferment Bugs');
|
||||
|
||||
@@ -397,8 +397,8 @@ $lang->block->gridOptions[8] = '左側';
|
||||
$lang->block->gridOptions[4] = '右側';
|
||||
|
||||
$lang->block->flowchart = array();
|
||||
$lang->block->flowchart[] = array('管理員', '維護公司', '添加用戶', '維護權限');
|
||||
$lang->block->flowchart[] = array($lang->productCommon . '經理', '創建' . $lang->productCommon, '維護模組', '維護計劃', '維護需求', '創建發佈');
|
||||
$lang->block->flowchart[] = array($lang->projectCommon . '經理', '創建' . $lang->projectCommon, '維護團隊', '關聯' . $lang->productCommon, '關聯需求', '分解任務');
|
||||
$lang->block->flowchart[] = array('研發人員', '領取任務和Bug', '更新狀態', '完成任務和Bug');
|
||||
$lang->block->flowchart[] = array('測試人員', '撰寫用例', '執行用例', '提交Bug', '驗證Bug', '關閉Bug');
|
||||
$lang->block->flowchart['admin'] = array('管理員', '維護公司', '添加用戶', '維護權限');
|
||||
$lang->block->flowchart['product'] = array($lang->productCommon . '經理', '創建' . $lang->productCommon, '維護模組', '維護計劃', '維護需求', '創建發佈');
|
||||
$lang->block->flowchart['project'] = array($lang->projectCommon . '經理', '創建' . $lang->projectCommon, '維護團隊', '關聯' . $lang->productCommon, '關聯需求', '分解任務');
|
||||
$lang->block->flowchart['dev'] = array('研發人員', '領取任務和Bug', '更新狀態', '完成任務和Bug');
|
||||
$lang->block->flowchart['tester'] = array('測試人員', '撰寫用例', '執行用例', '提交Bug', '驗證Bug', '關閉Bug');
|
||||
|
||||
@@ -79,7 +79,7 @@ $useGuest = $this->app->user->account == 'guest';
|
||||
<li class='dropdown'>
|
||||
<a href='javascript:;' data-toggle='dropdown' class='panel-action'><i class='icon icon-ellipsis-v'></i></a>
|
||||
<ul class='dropdown-menu pull-right'>
|
||||
<li><a href='javascript:;' class='refresh-panel'><i class='icon-repeat'></i> <?php echo $lang->block->refresh;?></a></li>
|
||||
<li><a href='javascript:;' class='refresh-panel'><i class='icon-repeat'></i> <?php echo $lang->block->refresh?></a></li>
|
||||
<?php if(!$useGuest):?>
|
||||
<li><a data-toggle='modal' href="<?php echo $this->createLink("block", "admin", "id=$block->id&module=$module"); ?>" class='edit-block' data-title='<?php echo $block->title; ?>' ><?php echo $lang->edit; ?></a></li>
|
||||
<li><a href='javascript:deleteBlock(<?php echo $index?>);' class='hidden-panel'><?php echo $lang->block->hidden; ?></a></li>
|
||||
|
||||
@@ -51,6 +51,37 @@ class branchModel extends model
|
||||
return $branches;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all pairs.
|
||||
*
|
||||
* @param string $params
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getAllPairs($params = '')
|
||||
{
|
||||
$branchGroups = $this->dao->select('*')->from(TABLE_BRANCH)->where('deleted')->eq(0)->orderBy('product,`order`')->fetchGroup('product', 'id');
|
||||
$products = $this->loadModel('product')->getByIdList(array_keys($branchGroups));
|
||||
|
||||
$branchPairs = array();
|
||||
foreach($branchGroups as $productID => $branches)
|
||||
{
|
||||
if(empty($products[$productID])) continue;
|
||||
|
||||
$product = $products[$productID];
|
||||
foreach($branches as $branch)
|
||||
{
|
||||
$branchPairs[$branch->id] = $product->name . '/' . $branch->name;
|
||||
}
|
||||
}
|
||||
|
||||
if(strpos($params, 'noempty') === false)
|
||||
{
|
||||
$branchPairs = array('0' => $this->lang->branch->all . $this->lang->product->branchName['branch']) + $branchPairs;
|
||||
}
|
||||
return $branchPairs;
|
||||
}
|
||||
|
||||
/**
|
||||
* Manage branch
|
||||
*
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
.w-220px{width:220px}
|
||||
#caseList tr th, #caseList tr td {white-space:nowrap; text-overflow:ellipsis; overflow: hidden;}
|
||||
|
||||
#createActionMenu .dropdown-menu {width: 100%;}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ $method = $this->methodName;
|
||||
if(!isset($config->$module->editor->$method)) return;
|
||||
$editor = $config->$module->editor->$method;
|
||||
$editor['id'] = explode(',', $editor['id']);
|
||||
$editorLangs = array('en' => 'en', 'zh-cn' => 'zh_CN', 'zh-tw' => 'zh_TW');
|
||||
$editorLangs = array('en' => 'en', 'zh-cn' => 'zh_CN', 'zh-tw' => 'zh_TW', 'ja' => 'ja');
|
||||
$editorLang = isset($editorLangs[$app->getClientLang()]) ? $editorLangs[$app->getClientLang()] : 'en';
|
||||
|
||||
/* set uid for upload. */
|
||||
|
||||
@@ -56,7 +56,8 @@
|
||||
<div>
|
||||
<span class="timeline-tag"><?php echo $action->time?></span>
|
||||
<span class="timeline-text">
|
||||
<?php echo zget($users, $action->actor) . ' ' . $action->actionLabel;?>
|
||||
<?php echo zget($users, $action->actor);?>
|
||||
<span class='label-action'><?php echo ' ' . $action->actionLabel;?></span>
|
||||
<?php if($action->action != 'login' and $action->action != 'logout'):?>
|
||||
<span class="text"><?php echo $action->objectLabel;?></span>
|
||||
<?php echo html::a($action->objectLink, $action->objectName);?>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<th class='w-300px'><?php echo $lang->custom->scoreTitle;?></th>
|
||||
<td class='w-120px text-center'>
|
||||
<td class='w-150px text-center'>
|
||||
<?php $checkedKey = isset($config->global->scoreStatus) ? $config->global->scoreStatus : 0;?>
|
||||
<?php foreach($lang->custom->scoreStatus as $key => $value):?>
|
||||
<label class="radio-inline"><input type="radio" name="score" value="<?php echo $key?>"<?php echo $key == $checkedKey ? " checked='checked'" : ''?> id="score<?php echo $key;?>"><?php echo $value;?></label>
|
||||
|
||||
@@ -69,7 +69,7 @@ $lang->editor->modules['search'] = '搜索';
|
||||
$lang->editor->modules['story'] = '需求';
|
||||
$lang->editor->modules['task'] = '任务';
|
||||
$lang->editor->modules['testcase'] = '用例管理';
|
||||
$lang->editor->modules['testtask'] = '测试任务';
|
||||
$lang->editor->modules['testtask'] = '测试单';
|
||||
$lang->editor->modules['todo'] = '待办';
|
||||
$lang->editor->modules['tree'] = '模块维护';
|
||||
$lang->editor->modules['upgrade'] = '升级';
|
||||
|
||||
@@ -69,7 +69,7 @@ $lang->editor->modules['search'] = '搜索';
|
||||
$lang->editor->modules['story'] = '需求';
|
||||
$lang->editor->modules['task'] = '任務';
|
||||
$lang->editor->modules['testcase'] = '用例管理';
|
||||
$lang->editor->modules['testtask'] = '測試任務';
|
||||
$lang->editor->modules['testtask'] = '測試單';
|
||||
$lang->editor->modules['todo'] = '待辦';
|
||||
$lang->editor->modules['tree'] = '模組維護';
|
||||
$lang->editor->modules['upgrade'] = '升級';
|
||||
|
||||
@@ -395,7 +395,7 @@ class file extends control
|
||||
$imageFiles = $this->session->$sessionName;
|
||||
$this->session->set($module . 'ImagesFile', $imageFiles);
|
||||
unset($_SESSION[$sessionName]);
|
||||
die(js::locate($this->createLink($module, 'batchCreate', helper::safe64Decode($params)), 'parent.parent'));
|
||||
die(js::locate($this->createLink($module, 'batchCreate', helper::safe64Decode($params)), 'parent'));
|
||||
}
|
||||
|
||||
if($_FILES)
|
||||
|
||||
@@ -83,6 +83,7 @@ $lang->misc->feature = new stdclass();
|
||||
$lang->misc->feature->lastest = 'Letzte Version';
|
||||
$lang->misc->feature->detailed = 'Details';
|
||||
|
||||
$lang->misc->releaseDate['11.6.5'] = '2019-11-08';
|
||||
$lang->misc->releaseDate['11.6.4'] = '2019-10-17';
|
||||
$lang->misc->releaseDate['11.6.3'] = '2019-09-24';
|
||||
$lang->misc->releaseDate['11.6.2'] = '2019-09-06';
|
||||
@@ -117,6 +118,7 @@ $lang->misc->releaseDate['7.2.stable'] = '2015-05-22';
|
||||
$lang->misc->releaseDate['7.1.stable'] = '2015-03-07';
|
||||
$lang->misc->releaseDate['6.3.stable'] = '2014-11-07';
|
||||
|
||||
$lang->misc->feature->all['11.6.5'][] = array('title'=>'Fix bug.', 'desc' => '');
|
||||
$lang->misc->feature->all['11.6.4'][] = array('title'=>'Optimize details and fix bug.', 'desc' => '');
|
||||
$lang->misc->feature->all['11.6.3'][] = array('title'=>'Fix bug.', 'desc' => '');
|
||||
$lang->misc->feature->all['11.6.2'][] = array('title'=>'Optimize details and fix bug.', 'desc' => '');
|
||||
|
||||
@@ -83,6 +83,7 @@ $lang->misc->feature = new stdclass();
|
||||
$lang->misc->feature->lastest = 'Latest Version';
|
||||
$lang->misc->feature->detailed = 'Detail';
|
||||
|
||||
$lang->misc->releaseDate['11.6.5'] = '2019-11-08';
|
||||
$lang->misc->releaseDate['11.6.4'] = '2019-10-17';
|
||||
$lang->misc->releaseDate['11.6.3'] = '2019-09-24';
|
||||
$lang->misc->releaseDate['11.6.2'] = '2019-09-06';
|
||||
@@ -117,6 +118,7 @@ $lang->misc->releaseDate['7.2.stable'] = '2015-05-22';
|
||||
$lang->misc->releaseDate['7.1.stable'] = '2015-03-07';
|
||||
$lang->misc->releaseDate['6.3.stable'] = '2014-11-07';
|
||||
|
||||
$lang->misc->feature->all['11.6.5'][] = array('title'=>'Fix bug.', 'desc' => '');
|
||||
$lang->misc->feature->all['11.6.4'][] = array('title'=>'Optimize details and fix bug.', 'desc' => '');
|
||||
$lang->misc->feature->all['11.6.3'][] = array('title'=>'Fix bug.', 'desc' => '');
|
||||
$lang->misc->feature->all['11.6.2'][] = array('title'=>'Optimize details and fix bug.', 'desc' => '');
|
||||
|
||||
@@ -83,6 +83,7 @@ $lang->misc->feature = new stdclass();
|
||||
$lang->misc->feature->lastest = 'Dernière Version';
|
||||
$lang->misc->feature->detailed = 'Détail';
|
||||
|
||||
$lang->misc->releaseDate['11.6.5'] = '2019-11-08';
|
||||
$lang->misc->releaseDate['11.6.4'] = '2019-10-17';
|
||||
$lang->misc->releaseDate['11.6.3'] = '2019-09-24';
|
||||
$lang->misc->releaseDate['11.6.2'] = '2019-09-06';
|
||||
@@ -117,6 +118,7 @@ $lang->misc->releaseDate['7.2.stable'] = '2015-05-22';
|
||||
$lang->misc->releaseDate['7.1.stable'] = '2015-03-07';
|
||||
$lang->misc->releaseDate['6.3.stable'] = '2014-11-07';
|
||||
|
||||
$lang->misc->feature->all['11.6.5'][] = array('title'=>'Fix bug.', 'desc' => '');
|
||||
$lang->misc->feature->all['11.6.4'][] = array('title'=>'Optimize details and fix bug.', 'desc' => '');
|
||||
$lang->misc->feature->all['11.6.3'][] = array('title'=>'Fix bug.', 'desc' => '');
|
||||
$lang->misc->feature->all['11.6.2'][] = array('title'=>'Optimize details and fix bug.', 'desc' => '');
|
||||
|
||||
@@ -83,6 +83,7 @@ $lang->misc->feature = new stdclass();
|
||||
$lang->misc->feature->lastest = '最新版本';
|
||||
$lang->misc->feature->detailed = '详情';
|
||||
|
||||
$lang->misc->releaseDate['11.6.5'] = '2019-11-08';
|
||||
$lang->misc->releaseDate['11.6.4'] = '2019-10-17';
|
||||
$lang->misc->releaseDate['11.6.3'] = '2019-09-24';
|
||||
$lang->misc->releaseDate['11.6.2'] = '2019-09-06';
|
||||
@@ -117,6 +118,7 @@ $lang->misc->releaseDate['7.2.stable'] = '2015-05-22';
|
||||
$lang->misc->releaseDate['7.1.stable'] = '2015-03-07';
|
||||
$lang->misc->releaseDate['6.3.stable'] = '2014-11-07';
|
||||
|
||||
$lang->misc->feature->all['11.6.5'][] = array('title'=>'修复Bug', 'desc' => '');
|
||||
$lang->misc->feature->all['11.6.4'][] = array('title'=>'完善细节,修复Bug', 'desc' => '');
|
||||
$lang->misc->feature->all['11.6.3'][] = array('title'=>'修复Bug', 'desc' => '');
|
||||
$lang->misc->feature->all['11.6.2'][] = array('title'=>'完善细节,修复Bug', 'desc' => '');
|
||||
|
||||
@@ -83,6 +83,7 @@ $lang->misc->feature = new stdclass();
|
||||
$lang->misc->feature->lastest = '最新版本';
|
||||
$lang->misc->feature->detailed = '詳情';
|
||||
|
||||
$lang->misc->releaseDate['11.6.5'] = '2019-11-08';
|
||||
$lang->misc->releaseDate['11.6.4'] = '2019-10-17';
|
||||
$lang->misc->releaseDate['11.6.3'] = '2019-09-24';
|
||||
$lang->misc->releaseDate['11.6.2'] = '2019-09-06';
|
||||
@@ -117,6 +118,7 @@ $lang->misc->releaseDate['7.2.stable'] = '2015-05-22';
|
||||
$lang->misc->releaseDate['7.1.stable'] = '2015-03-07';
|
||||
$lang->misc->releaseDate['6.3.stable'] = '2014-11-07';
|
||||
|
||||
$lang->misc->feature->all['11.6.5'][] = array('title'=>'修復Bug', 'desc' => '');
|
||||
$lang->misc->feature->all['11.6.4'][] = array('title'=>'完善細節,修復Bug', 'desc' => '');
|
||||
$lang->misc->feature->all['11.6.3'][] = array('title'=>'修復Bug', 'desc' => '');
|
||||
$lang->misc->feature->all['11.6.2'][] = array('title'=>'完善細節,修復Bug', 'desc' => '');
|
||||
|
||||
@@ -53,7 +53,8 @@
|
||||
<div>
|
||||
<span class="timeline-tag"><?php echo $action->time?></span>
|
||||
<span class="timeline-text">
|
||||
<?php echo $app->user->realname . ' ' . $action->actionLabel;?>
|
||||
<?php echo $app->user->realname;?>
|
||||
<span class='label-action'><?php echo ' ' . $action->actionLabel;?></span>
|
||||
<?php if($action->action != 'login' and $action->action != 'logout'):?>
|
||||
<span class="text-muted"><?php echo $action->objectLabel;?></span>
|
||||
<?php echo html::a($action->objectLink, $action->objectName);?>
|
||||
|
||||
@@ -451,6 +451,8 @@ class product extends control
|
||||
$this->session->set('productPlanList', $this->app->getURI(true));
|
||||
|
||||
$product = $this->dao->findById($productID)->from(TABLE_PRODUCT)->fetch();
|
||||
if(empty($product)) $this->locate($this->createLink('product', 'showErrorNone', 'fromModule=product'));
|
||||
|
||||
$this->view->title = $product->name . $this->lang->colon . $this->lang->product->roadmap;
|
||||
$this->view->position[] = html::a($this->createLink($this->moduleName, 'browse'), $product->name);
|
||||
$this->view->position[] = $this->lang->product->roadmap;
|
||||
|
||||
@@ -82,7 +82,8 @@
|
||||
<div>
|
||||
<span class="timeline-tag"><?php echo $action->time?></span>
|
||||
<span class="timeline-text">
|
||||
<?php echo zget($users, $action->actor) . ' ' . $action->actionLabel;?>
|
||||
<?php echo zget($users, $action->actor);?>
|
||||
<span class='label-action'><?php echo ' ' . $action->actionLabel;?></span>
|
||||
<span class="text"><?php echo $action->objectLabel;?></span>
|
||||
<span class="label label-id"><?php echo $action->objectID;?></span>
|
||||
<?php echo html::a($action->objectLink, $action->objectName);?>
|
||||
|
||||
@@ -44,23 +44,25 @@ $lang->productplan->confirmUnlinkBug = "Möchten Sie diesen Bug löschen?";
|
||||
$lang->productplan->noPlan = 'Kein Plan. ';
|
||||
$lang->productplan->cannotDeleteParent = 'Cannot delete parent plan';
|
||||
|
||||
$lang->productplan->id = 'ID';
|
||||
$lang->productplan->product = $lang->productCommon;
|
||||
$lang->productplan->branch = 'Platform/Branch';
|
||||
$lang->productplan->title = 'Titel';
|
||||
$lang->productplan->desc = 'Beschreibung';
|
||||
$lang->productplan->begin = 'Start';
|
||||
$lang->productplan->end = 'Ende';
|
||||
$lang->productplan->last = 'Letzter Plan';
|
||||
$lang->productplan->future = 'Wartend';
|
||||
$lang->productplan->stories = 'Storys';
|
||||
$lang->productplan->bugs = 'Bugs';
|
||||
$lang->productplan->hour = 'Hour';
|
||||
$lang->productplan->project = $lang->projectCommon;
|
||||
$lang->productplan->parent = "Parent Plan";
|
||||
$lang->productplan->children = "Child Plan";
|
||||
$lang->productplan->order = "Rank";
|
||||
$lang->productplan->deleted = "Deleted";
|
||||
$lang->productplan->id = 'ID';
|
||||
$lang->productplan->product = $lang->productCommon;
|
||||
$lang->productplan->branch = 'Platform/Branch';
|
||||
$lang->productplan->title = 'Titel';
|
||||
$lang->productplan->desc = 'Beschreibung';
|
||||
$lang->productplan->begin = 'Start';
|
||||
$lang->productplan->end = 'Ende';
|
||||
$lang->productplan->last = 'Letzter Plan';
|
||||
$lang->productplan->future = 'Wartend';
|
||||
$lang->productplan->stories = 'Storys';
|
||||
$lang->productplan->bugs = 'Bugs';
|
||||
$lang->productplan->hour = 'Hour';
|
||||
$lang->productplan->project = $lang->projectCommon;
|
||||
$lang->productplan->parent = "Parent Plan";
|
||||
$lang->productplan->parentAB = "Parent";
|
||||
$lang->productplan->children = "Child Plan";
|
||||
$lang->productplan->childrenAB = "C";
|
||||
$lang->productplan->order = "Rank";
|
||||
$lang->productplan->deleted = "Deleted";
|
||||
|
||||
$lang->productplan->endList[7] = '1 Woche';
|
||||
$lang->productplan->endList[14] = '2 Wochen';
|
||||
|
||||
@@ -44,23 +44,25 @@ $lang->productplan->confirmUnlinkBug = "Do you want to unlink this bug?";
|
||||
$lang->productplan->noPlan = 'No plans yet. ';
|
||||
$lang->productplan->cannotDeleteParent = 'Cannot delete parent plan';
|
||||
|
||||
$lang->productplan->id = 'ID';
|
||||
$lang->productplan->product = $lang->productCommon;
|
||||
$lang->productplan->branch = 'Platform/Branch';
|
||||
$lang->productplan->title = 'Title';
|
||||
$lang->productplan->desc = 'Description';
|
||||
$lang->productplan->begin = 'Begin';
|
||||
$lang->productplan->end = 'End';
|
||||
$lang->productplan->last = 'Last Plan';
|
||||
$lang->productplan->future = 'TBD';
|
||||
$lang->productplan->stories = 'Story';
|
||||
$lang->productplan->bugs = 'Bug';
|
||||
$lang->productplan->hour = 'Hours';
|
||||
$lang->productplan->project = $lang->projectCommon;
|
||||
$lang->productplan->parent = "Parent Plan";
|
||||
$lang->productplan->children = "Child Plan";
|
||||
$lang->productplan->order = "Order";
|
||||
$lang->productplan->deleted = "Deleted";
|
||||
$lang->productplan->id = 'ID';
|
||||
$lang->productplan->product = $lang->productCommon;
|
||||
$lang->productplan->branch = 'Platform/Branch';
|
||||
$lang->productplan->title = 'Title';
|
||||
$lang->productplan->desc = 'Description';
|
||||
$lang->productplan->begin = 'Begin';
|
||||
$lang->productplan->end = 'End';
|
||||
$lang->productplan->last = 'Last Plan';
|
||||
$lang->productplan->future = 'TBD';
|
||||
$lang->productplan->stories = 'Story';
|
||||
$lang->productplan->bugs = 'Bug';
|
||||
$lang->productplan->hour = 'Hours';
|
||||
$lang->productplan->project = $lang->projectCommon;
|
||||
$lang->productplan->parent = "Parent Plan";
|
||||
$lang->productplan->parentAB = "Parent";
|
||||
$lang->productplan->children = "Child Plan";
|
||||
$lang->productplan->childrenAB = "C";
|
||||
$lang->productplan->order = "Order";
|
||||
$lang->productplan->deleted = "Deleted";
|
||||
|
||||
$lang->productplan->endList[7] = '1 Week';
|
||||
$lang->productplan->endList[14] = '2 Weeks';
|
||||
|
||||
@@ -44,23 +44,25 @@ $lang->productplan->confirmUnlinkBug = "Voulez-vous retirer ce bug du plan ?";
|
||||
$lang->productplan->noPlan = "Aucun plan pour l'instant. ";
|
||||
$lang->productplan->cannotDeleteParent = 'Cannot delete parent plan';
|
||||
|
||||
$lang->productplan->id = 'ID';
|
||||
$lang->productplan->product = $lang->productCommon;
|
||||
$lang->productplan->branch = 'Platforme/Branche';
|
||||
$lang->productplan->title = 'Titre';
|
||||
$lang->productplan->desc = 'Description';
|
||||
$lang->productplan->begin = 'Début';
|
||||
$lang->productplan->end = 'Fin';
|
||||
$lang->productplan->last = 'Dernier Plan';
|
||||
$lang->productplan->future = 'A Définir';
|
||||
$lang->productplan->stories = 'Story';
|
||||
$lang->productplan->bugs = 'Bug';
|
||||
$lang->productplan->hour = 'Heures';
|
||||
$lang->productplan->project = $lang->projectCommon;
|
||||
$lang->productplan->parent = "Plan Parent";
|
||||
$lang->productplan->children = "Sous-Plan";
|
||||
$lang->productplan->order = "Order";
|
||||
$lang->productplan->deleted = "Deleted";
|
||||
$lang->productplan->id = 'ID';
|
||||
$lang->productplan->product = $lang->productCommon;
|
||||
$lang->productplan->branch = 'Platforme/Branche';
|
||||
$lang->productplan->title = 'Titre';
|
||||
$lang->productplan->desc = 'Description';
|
||||
$lang->productplan->begin = 'Début';
|
||||
$lang->productplan->end = 'Fin';
|
||||
$lang->productplan->last = 'Dernier Plan';
|
||||
$lang->productplan->future = 'A Définir';
|
||||
$lang->productplan->stories = 'Story';
|
||||
$lang->productplan->bugs = 'Bug';
|
||||
$lang->productplan->hour = 'Heures';
|
||||
$lang->productplan->project = $lang->projectCommon;
|
||||
$lang->productplan->parent = "Plan Parent";
|
||||
$lang->productplan->parentAB = "Parent";
|
||||
$lang->productplan->children = "Sous-Plan";
|
||||
$lang->productplan->childrenAB = "C";
|
||||
$lang->productplan->order = "Order";
|
||||
$lang->productplan->deleted = "Deleted";
|
||||
|
||||
$lang->productplan->endList[7] = '1 Semaine';
|
||||
$lang->productplan->endList[14] = '2 Semaines';
|
||||
|
||||
@@ -44,23 +44,25 @@ $lang->productplan->confirmUnlinkBug = "您确认移除该Bug吗?";
|
||||
$lang->productplan->noPlan = '暂时没有计划。';
|
||||
$lang->productplan->cannotDeleteParent = '不能删除父计划';
|
||||
|
||||
$lang->productplan->id = '编号';
|
||||
$lang->productplan->product = $lang->productCommon;
|
||||
$lang->productplan->branch = '平台/分支';
|
||||
$lang->productplan->title = '名称';
|
||||
$lang->productplan->desc = '描述';
|
||||
$lang->productplan->begin = '开始日期';
|
||||
$lang->productplan->end = '结束日期';
|
||||
$lang->productplan->last = '上次计划';
|
||||
$lang->productplan->future = '待定';
|
||||
$lang->productplan->stories = '需求数';
|
||||
$lang->productplan->bugs = 'Bug数';
|
||||
$lang->productplan->hour = '工时';
|
||||
$lang->productplan->project = $lang->projectCommon;
|
||||
$lang->productplan->parent = "父计划";
|
||||
$lang->productplan->children = "子计划";
|
||||
$lang->productplan->order = "排序";
|
||||
$lang->productplan->deleted = "已删除";
|
||||
$lang->productplan->id = '编号';
|
||||
$lang->productplan->product = $lang->productCommon;
|
||||
$lang->productplan->branch = '平台/分支';
|
||||
$lang->productplan->title = '名称';
|
||||
$lang->productplan->desc = '描述';
|
||||
$lang->productplan->begin = '开始日期';
|
||||
$lang->productplan->end = '结束日期';
|
||||
$lang->productplan->last = '上次计划';
|
||||
$lang->productplan->future = '待定';
|
||||
$lang->productplan->stories = '需求数';
|
||||
$lang->productplan->bugs = 'Bug数';
|
||||
$lang->productplan->hour = '工时';
|
||||
$lang->productplan->project = $lang->projectCommon;
|
||||
$lang->productplan->parent = "父计划";
|
||||
$lang->productplan->parentAB = "父";
|
||||
$lang->productplan->children = "子计划";
|
||||
$lang->productplan->childrenAB = "子";
|
||||
$lang->productplan->order = "排序";
|
||||
$lang->productplan->deleted = "已删除";
|
||||
|
||||
$lang->productplan->endList[7] = '一星期';
|
||||
$lang->productplan->endList[14] = '两星期';
|
||||
|
||||
@@ -44,23 +44,25 @@ $lang->productplan->confirmUnlinkBug = "您確認移除該Bug嗎?";
|
||||
$lang->productplan->noPlan = '暫時沒有計劃。';
|
||||
$lang->productplan->cannotDeleteParent = '不能刪除父計劃';
|
||||
|
||||
$lang->productplan->id = '編號';
|
||||
$lang->productplan->product = $lang->productCommon;
|
||||
$lang->productplan->branch = '平台/分支';
|
||||
$lang->productplan->title = '名稱';
|
||||
$lang->productplan->desc = '描述';
|
||||
$lang->productplan->begin = '開始日期';
|
||||
$lang->productplan->end = '結束日期';
|
||||
$lang->productplan->last = '上次計劃';
|
||||
$lang->productplan->future = '待定';
|
||||
$lang->productplan->stories = '需求數';
|
||||
$lang->productplan->bugs = 'Bug數';
|
||||
$lang->productplan->hour = '工時';
|
||||
$lang->productplan->project = $lang->projectCommon;
|
||||
$lang->productplan->parent = "父計劃";
|
||||
$lang->productplan->children = "子計劃";
|
||||
$lang->productplan->order = "排序";
|
||||
$lang->productplan->deleted = "已刪除";
|
||||
$lang->productplan->id = '編號';
|
||||
$lang->productplan->product = $lang->productCommon;
|
||||
$lang->productplan->branch = '平台/分支';
|
||||
$lang->productplan->title = '名稱';
|
||||
$lang->productplan->desc = '描述';
|
||||
$lang->productplan->begin = '開始日期';
|
||||
$lang->productplan->end = '結束日期';
|
||||
$lang->productplan->last = '上次計劃';
|
||||
$lang->productplan->future = '待定';
|
||||
$lang->productplan->stories = '需求數';
|
||||
$lang->productplan->bugs = 'Bug數';
|
||||
$lang->productplan->hour = '工時';
|
||||
$lang->productplan->project = $lang->projectCommon;
|
||||
$lang->productplan->parent = "父計劃";
|
||||
$lang->productplan->parentAB = "父";
|
||||
$lang->productplan->children = "子計劃";
|
||||
$lang->productplan->childrenAB = "子";
|
||||
$lang->productplan->order = "排序";
|
||||
$lang->productplan->deleted = "已刪除";
|
||||
|
||||
$lang->productplan->endList[7] = '一星期';
|
||||
$lang->productplan->endList[14] = '兩星期';
|
||||
|
||||
@@ -126,7 +126,7 @@ $lang->project->bug = 'Bug列表';
|
||||
$lang->project->dynamic = '动态';
|
||||
$lang->project->latestDynamic = '最新动态';
|
||||
$lang->project->build = '所有版本';
|
||||
$lang->project->testtask = '测试任务';
|
||||
$lang->project->testtask = '测试单';
|
||||
$lang->project->burn = '燃尽图';
|
||||
$lang->project->computeBurn = '更新燃尽图';
|
||||
$lang->project->burnData = '燃尽图数据';
|
||||
|
||||
@@ -126,7 +126,7 @@ $lang->project->bug = 'Bug列表';
|
||||
$lang->project->dynamic = '動態';
|
||||
$lang->project->latestDynamic = '最新動態';
|
||||
$lang->project->build = '所有版本';
|
||||
$lang->project->testtask = '測試任務';
|
||||
$lang->project->testtask = '測試單';
|
||||
$lang->project->burn = '燃盡圖';
|
||||
$lang->project->computeBurn = '更新燃盡圖';
|
||||
$lang->project->burnData = '燃盡圖數據';
|
||||
|
||||
@@ -83,7 +83,8 @@
|
||||
<div>
|
||||
<span class="timeline-tag"><?php echo $action->time?></span>
|
||||
<span class="timeline-text">
|
||||
<?php echo zget($users, $action->actor) . ' ' . $action->actionLabel;?>
|
||||
<?php echo zget($users, $action->actor);?>
|
||||
<span class='label-action'><?php echo ' ' . $action->actionLabel;?></span>
|
||||
<span class="text"><?php echo $action->objectLabel;?></span>
|
||||
<span class="label label-id"><?php echo $action->objectID;?></span>
|
||||
<?php echo html::a($action->objectLink, $action->objectName);?>
|
||||
|
||||
+16
-1
@@ -143,8 +143,23 @@ class reportModel extends model
|
||||
->fetchAll('id');
|
||||
$plans = $this->dao->select('*')->from(TABLE_PRODUCTPLAN)->where('deleted')->eq(0)->andWhere('product')->in(array_keys($products))
|
||||
->beginIF(strpos($conditions, 'overduePlan') === false)->andWhere('end')->gt(date('Y-m-d'))->fi()
|
||||
->orderBy('product,parent_desc,begin')
|
||||
->fetchAll('id');
|
||||
foreach($plans as $plan) $products[$plan->product]->plans[$plan->id] = $plan;
|
||||
foreach($plans as $plan)
|
||||
{
|
||||
if($plan->parent > 0)
|
||||
{
|
||||
$parentPlan = zget($plans, $plan->parent, null);
|
||||
if($parentPlan)
|
||||
{
|
||||
$parentPlan->title = "[" . $this->lang->productplan->parentAB . '] ' . $parentPlan->title;
|
||||
$products[$plan->product]->plans[$parentPlan->id] = $parentPlan;
|
||||
unset($plans[$parentPlan->id]);
|
||||
}
|
||||
$plan->title = "[" . $this->lang->productplan->childrenAB . '] ' . $plan->title;
|
||||
}
|
||||
$products[$plan->product]->plans[$plan->id] = $plan;
|
||||
}
|
||||
|
||||
$planStories = array();
|
||||
$unplannedStories = array();
|
||||
|
||||
@@ -196,7 +196,7 @@
|
||||
<div class='table-col w-120px'>
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon fix-border br-0"><?php echo $lang->task->estimateAB;?></span>
|
||||
<input type="text" name="estimate" id="estimate" value="<?php echo $task->estimate;?>" class="form-control" autocomplete="off"></td>
|
||||
<input type="text" name="estimate" id="estimate" value="<?php echo $task->estimate;?>" class="form-control" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
|
||||
@@ -621,7 +621,7 @@ class testcase extends control
|
||||
$moduleOptionMenu = $this->tree->getOptionMenu($productID, $viewType = 'case', $startModuleID = 0, $case->branch);
|
||||
if($case->lib and $case->fromCaseID)
|
||||
{
|
||||
$libName = $this->loadModel('testsuite')->getById($case->lib)->name;
|
||||
$libName = $this->loadModel('caselib')->getById($case->lib)->name;
|
||||
$libModules = $this->tree->getOptionMenu($case->lib, 'caselib');
|
||||
foreach($libModules as $moduleID => $moduleName)
|
||||
{
|
||||
|
||||
@@ -120,7 +120,7 @@
|
||||
<?php
|
||||
common::printIcon('testcase', 'edit',"caseID=$case->id", $case);
|
||||
if(!$isLibCase) common::printIcon('testcase', 'create', "productID=$case->product&branch=$case->branch&moduleID=$case->module&from=testcase¶m=$case->id", $case, 'button', 'copy');
|
||||
if($isLibCase and common::hasPriv('testsuite', 'createCase')) echo html::a($this->createLink('testsuite', 'createCase', "libID=$case->lib&moduleID=$case->module¶m=$case->id", $case), "<i class='icon-copy'></i>", '', "class='btn' title='{$lang->testcase->copy}'");
|
||||
if($isLibCase and common::hasPriv('caselib', 'createCase')) echo html::a($this->createLink('caselib', 'createCase', "libID=$case->lib&moduleID=$case->module¶m=$case->id", $case), "<i class='icon-copy'></i>", '', "class='btn' title='{$lang->testcase->copy}'");
|
||||
common::printIcon('testcase', 'delete', "caseID=$case->id", $case, 'button', 'trash', 'hiddenwin');
|
||||
?>
|
||||
<?php endif;?>
|
||||
|
||||
@@ -113,3 +113,4 @@ $lang->upgrade->fromVersions['11_6'] = '11.6';
|
||||
$lang->upgrade->fromVersions['11_6_1'] = '11.6.1';
|
||||
$lang->upgrade->fromVersions['11_6_2'] = '11.6.2';
|
||||
$lang->upgrade->fromVersions['11_6_3'] = '11.6.3';
|
||||
$lang->upgrade->fromVersions['11_6_4'] = '11.6.4';
|
||||
|
||||
@@ -527,6 +527,10 @@ class upgradeModel extends model
|
||||
$this->saveLogs('Execute 11_6_3');
|
||||
$this->adjustPriv11_6_4();
|
||||
$this->appendExec('11_6_3');
|
||||
case '11_6_4':
|
||||
$this->saveLogs('Execute 11_6_4');
|
||||
$this->execSQL($this->getUpgradeFile('11.6.4'));
|
||||
$this->appendExec('11_6_4');
|
||||
}
|
||||
|
||||
$this->deletePatch();
|
||||
@@ -675,6 +679,7 @@ class upgradeModel extends model
|
||||
case '11_6_1' :
|
||||
case '11_6_2' :
|
||||
case '11_6_3' :
|
||||
case '11_6_4' : $confirmContent .= file_get_contents($this->getUpgradeFile('11.6.4'));
|
||||
}
|
||||
return str_replace('zt_', $this->config->db->prefix, $confirmContent);
|
||||
}
|
||||
|
||||
@@ -155,6 +155,9 @@ $lang->user->tpl->title = 'TPL Titel';
|
||||
$lang->user->tpl->content = 'Inhalt';
|
||||
$lang->user->tpl->public = 'Öffentlich';
|
||||
|
||||
$lang->usertpl = new stdclass();
|
||||
$lang->usertpl->title = 'Template Name';
|
||||
|
||||
$lang->user->placeholder = new stdclass();
|
||||
$lang->user->placeholder->account = 'Buchstaben, Understrich und Ziffern. Mindestens 3 Zeichen';
|
||||
$lang->user->placeholder->password1 = 'Mindestens 6 Zeichen ';
|
||||
|
||||
@@ -155,6 +155,9 @@ $lang->user->tpl->title = 'TPL Title';
|
||||
$lang->user->tpl->content = 'Content';
|
||||
$lang->user->tpl->public = 'Public';
|
||||
|
||||
$lang->usertpl = new stdclass();
|
||||
$lang->usertpl->title = 'Template Name';
|
||||
|
||||
$lang->user->placeholder = new stdclass();
|
||||
$lang->user->placeholder->account = '>= 3 letters, underline and numbers';
|
||||
$lang->user->placeholder->password1 = '>= 6 characters';
|
||||
|
||||
@@ -155,6 +155,9 @@ $lang->user->tpl->title = 'TPL Titre';
|
||||
$lang->user->tpl->content = 'Contenu';
|
||||
$lang->user->tpl->public = 'Public';
|
||||
|
||||
$lang->usertpl = new stdclass();
|
||||
$lang->usertpl->title = 'Template Name';
|
||||
|
||||
$lang->user->placeholder = new stdclass();
|
||||
$lang->user->placeholder->account = '>= 3 lettres, souligné et chiffres';
|
||||
$lang->user->placeholder->password1 = '>= 6 caractères';
|
||||
|
||||
@@ -89,7 +89,7 @@ $lang->user->project = $lang->projectCommon;
|
||||
$lang->user->task = '任务';
|
||||
$lang->user->bug = 'Bug';
|
||||
$lang->user->test = '测试';
|
||||
$lang->user->testTask = '测试任务';
|
||||
$lang->user->testTask = '测试单';
|
||||
$lang->user->testCase = '测试用例';
|
||||
$lang->user->schedule = '日程';
|
||||
$lang->user->todo = '待办';
|
||||
@@ -155,6 +155,9 @@ $lang->user->tpl->title = '模板名';
|
||||
$lang->user->tpl->content = '内容';
|
||||
$lang->user->tpl->public = '是否公开';
|
||||
|
||||
$lang->usertpl = new stdclass();
|
||||
$lang->usertpl->title = '模板名称';
|
||||
|
||||
$lang->user->placeholder = new stdclass();
|
||||
$lang->user->placeholder->account = '英文、数字和下划线的组合,三位以上';
|
||||
$lang->user->placeholder->password1 = '六位以上';
|
||||
|
||||
@@ -89,7 +89,7 @@ $lang->user->project = $lang->projectCommon;
|
||||
$lang->user->task = '任務';
|
||||
$lang->user->bug = 'Bug';
|
||||
$lang->user->test = '測試';
|
||||
$lang->user->testTask = '測試任務';
|
||||
$lang->user->testTask = '測試單';
|
||||
$lang->user->testCase = '測試用例';
|
||||
$lang->user->schedule = '日程';
|
||||
$lang->user->todo = '待辦';
|
||||
@@ -155,6 +155,9 @@ $lang->user->tpl->title = '模板名';
|
||||
$lang->user->tpl->content = '內容';
|
||||
$lang->user->tpl->public = '是否公開';
|
||||
|
||||
$lang->usertpl = new stdclass();
|
||||
$lang->usertpl->title = '模板名稱';
|
||||
|
||||
$lang->user->placeholder = new stdclass();
|
||||
$lang->user->placeholder->account = '英文、數字和下劃線的組合,三位以上';
|
||||
$lang->user->placeholder->password1 = '六位以上';
|
||||
|
||||
@@ -51,7 +51,8 @@
|
||||
<div>
|
||||
<span class="timeline-tag"><?php echo $action->time?></span>
|
||||
<span class="timeline-text">
|
||||
<?php echo zget($users, $action->actor) . ' ' . $action->actionLabel;?>
|
||||
<?php echo zget($users, $action->actor);?>
|
||||
<span class='label-action'><?php echo ' ' . $action->actionLabel;?></span>
|
||||
<span class="text-muted"><?php echo $action->objectLabel;?></span>
|
||||
<span class="label label-id"><?php echo $action->objectID;?></span>
|
||||
<?php echo html::a($action->objectLink, $action->objectName);?>
|
||||
|
||||
@@ -19,6 +19,7 @@ $lang->webhook->url = 'Webhook Adresse';
|
||||
$lang->webhook->domain = 'Zentao Domain';
|
||||
$lang->webhook->contentType = 'Content Type';
|
||||
$lang->webhook->sendType = 'Sendungs Typ';
|
||||
$lang->webhook->secret = 'Secret';
|
||||
$lang->webhook->product = "{$lang->productCommon}";
|
||||
$lang->webhook->project = "{$lang->projectCommon}";
|
||||
$lang->webhook->params = 'Parameter';
|
||||
|
||||
@@ -19,6 +19,7 @@ $lang->webhook->url = 'Webhook URL';
|
||||
$lang->webhook->domain = 'ZenTao Domain';
|
||||
$lang->webhook->contentType = 'Content Type';
|
||||
$lang->webhook->sendType = 'Sending Type';
|
||||
$lang->webhook->secret = 'Secret';
|
||||
$lang->webhook->product = "{$lang->productCommon}";
|
||||
$lang->webhook->project = "{$lang->projectCommon}";
|
||||
$lang->webhook->params = 'Parameters';
|
||||
|
||||
@@ -19,6 +19,7 @@ $lang->webhook->url = 'Webhook URL';
|
||||
$lang->webhook->domain = 'ZenTao Domain';
|
||||
$lang->webhook->contentType = 'Type de contenu';
|
||||
$lang->webhook->sendType = "Type d'envoi";
|
||||
$lang->webhook->secret = 'Secret';
|
||||
$lang->webhook->product = "{$lang->productCommon}";
|
||||
$lang->webhook->project = "{$lang->projectCommon}";
|
||||
$lang->webhook->params = 'Paramètres';
|
||||
|
||||
@@ -19,6 +19,7 @@ $lang->webhook->url = 'Hook地址';
|
||||
$lang->webhook->domain = '禪道域名';
|
||||
$lang->webhook->contentType = '內容類型';
|
||||
$lang->webhook->sendType = '發送方式';
|
||||
$lang->webhook->secret = '密鑰';
|
||||
$lang->webhook->product = "關聯{$lang->productCommon}";
|
||||
$lang->webhook->project = "關聯{$lang->projectCommon}";
|
||||
$lang->webhook->params = '參數';
|
||||
|
||||
@@ -10124,6 +10124,12 @@ KindEditor.plugin('pasteimage', function(K) {
|
||||
placeholder: 'You can paste images in the editor.',
|
||||
failMsg: 'Pasting image failed. Try again later.',
|
||||
uploadingHint: 'Uploading...',
|
||||
},
|
||||
ja: {
|
||||
notSupportMsg: '使用されているブラウザは画像の貼り付けがサポートされていません!',
|
||||
placeholder: 'エディターを使用して画像を貼り付けます。',
|
||||
failMsg: '画像を貼り付けませんでした、後でやり直してください。',
|
||||
uploadingHint: '画像をアップロード中、しばらくお待ちください...',
|
||||
}
|
||||
};
|
||||
|
||||
@@ -10362,7 +10368,6 @@ KindEditor.plugin('table', function (K) {
|
||||
forecolor: '文字颜色',
|
||||
backcolor: '背景颜色',
|
||||
invalidBoderWidth: '边框大小必须为数字。'
|
||||
|
||||
},
|
||||
zh_tw: {
|
||||
name: '表格',
|
||||
@@ -10407,6 +10412,28 @@ KindEditor.plugin('table', function (K) {
|
||||
forecolor: 'Text Color',
|
||||
backcolor: 'Back Color',
|
||||
invalidBoderWidth: 'Border width value must be number'
|
||||
},
|
||||
ja: {
|
||||
name: 'テーブル',
|
||||
xRxC: '{0}行 × {1}列',
|
||||
headerRow: '見出し行',
|
||||
headerCol: '見出し列',
|
||||
tableStyle: 'テーブルスタイル',
|
||||
addHeaderRow: '見出し行を追加',
|
||||
stripedRows: 'ストライブ 行',
|
||||
hoverRows: 'ホバー行',
|
||||
autoChangeTableWidth: '自動変更幅',
|
||||
tableWidthFixed: 'テーブル文字に適応',
|
||||
tableWidthFull: 'ページ幅で適応',
|
||||
tableBorder: 'テーブル枠線',
|
||||
tableHead: '見出し',
|
||||
tableContent: 'コンテンツ',
|
||||
mergeCells: 'セルを結合',
|
||||
defaultColor: 'デフォルト色',
|
||||
color: '色',
|
||||
forecolor: 'フォントの色',
|
||||
backcolor: '塗りつぶしの色',
|
||||
invalidBoderWidth: '外枠のサイズは必ず数値です。'
|
||||
}
|
||||
};
|
||||
var $elements = [];
|
||||
|
||||
Vendored
+3
-3
File diff suppressed because one or more lines are too long
@@ -0,0 +1,238 @@
|
||||
/*******************************************************************************
|
||||
* KindEditor - WYSIWYG HTML Editor for Internet
|
||||
* Copyright (C) 2006-2011 kindsoft.net
|
||||
*
|
||||
* @author Roddy <luolonghao@gmail.com>
|
||||
* @site http://www.kindsoft.net/
|
||||
* @licence http://www.kindsoft.net/license.php
|
||||
*******************************************************************************/
|
||||
|
||||
KindEditor.lang({
|
||||
source : 'HTML コード',
|
||||
preview : 'プレビュー',
|
||||
undo : '戻る(Ctrl+Z)',
|
||||
redo : '次へ(Ctrl+Y)',
|
||||
cut : '切取り(Ctrl+X)',
|
||||
copy : 'コピー(Ctrl+C)',
|
||||
paste : '貼り付け(Ctrl+V)',
|
||||
plainpaste : 'テキストのみ保持',
|
||||
wordpaste : 'Wordから貼り付け',
|
||||
selectall : '全て選択(Ctrl+A)',
|
||||
justifyleft : '左揃え',
|
||||
justifycenter : '中央揃え',
|
||||
justifyright : '右揃え',
|
||||
justifyfull : '両端揃え',
|
||||
insertorderedlist : '番号',
|
||||
insertunorderedlist : '段落番号',
|
||||
indent : 'インデントを増やす',
|
||||
outdent : 'インデントを減らす',
|
||||
subscript : '下線',
|
||||
superscript : '上線',
|
||||
formatblock : '段落',
|
||||
fontname : 'フォント',
|
||||
fontsize : 'フォントサイズ',
|
||||
forecolor : 'フォント色',
|
||||
hilitecolor : '塗りつぶし色',
|
||||
bold : '太字(Ctrl+B)',
|
||||
italic : '斜体(Ctrl+I)',
|
||||
underline : '下線(Ctrl+U)',
|
||||
strikethrough : '取消線',
|
||||
removeformat : 'フォーマット削除',
|
||||
image : '画像',
|
||||
multiimage : '画像一括アップロード',
|
||||
flash : 'Flash',
|
||||
media : 'メディア',
|
||||
table : 'テーブル',
|
||||
tablecell : 'セル',
|
||||
hr : '横線挿入',
|
||||
emoticons : '絵文字挿入',
|
||||
link : 'ハイパーリンク',
|
||||
unlink : 'キャンセル',
|
||||
fullscreen : 'フルスクリーン',
|
||||
about : 'について',
|
||||
print : '印刷(Ctrl+P)',
|
||||
filemanager : 'ファイルスペース',
|
||||
code : 'ソースコード挿入',
|
||||
map : 'Googleマップ',
|
||||
baidumap : '百度マップ',
|
||||
lineheight : '行の高さ',
|
||||
clearhtml : 'HTMLクリア',
|
||||
pagebreak : '改ページの挿入',
|
||||
quickformat : 'クイックフォーマット',
|
||||
insertfile : 'ファイル挿入',
|
||||
template : 'テンプレート挿入',
|
||||
anchor : 'アンカー',
|
||||
yes : 'はい',
|
||||
no : 'キャンセル',
|
||||
close : 'クローズ',
|
||||
editImage : '画像プロパティ',
|
||||
deleteImage : '画像削除',
|
||||
editFlash : 'Flashプロパティ',
|
||||
deleteFlash : 'Flash削除',
|
||||
editMedia : 'メディアプロパティ',
|
||||
deleteMedia : 'メディア削除',
|
||||
editLink : 'ハイパーリンクプロパティ',
|
||||
deleteLink : 'キャンセル',
|
||||
editAnchor : 'アンカープロパティ',
|
||||
deleteAnchor : 'アンカー削除',
|
||||
tableprop : 'テーブルプロパティ',
|
||||
tablecellprop : 'セルプロパティ',
|
||||
tableinsert : 'テーブル挿入',
|
||||
tabledelete : 'テーブル削除',
|
||||
tablecolinsertleft : '列を左に挿入する',
|
||||
tablecolinsertright : '列を右に挿入する',
|
||||
tablerowinsertabove : '行を上に挿入する',
|
||||
tablerowinsertbelow : '行を下に挿入する',
|
||||
tablerowmerge : 'セルを結合して下揃え',
|
||||
tablecolmerge : 'セルを結合して右揃え',
|
||||
tablerowsplit : '行分割',
|
||||
tablecolsplit : '列分割',
|
||||
tablecoldelete : '列削除',
|
||||
tablerowdelete : '行削除',
|
||||
noColor : '色無し',
|
||||
pleaseSelectFile : 'ファイルを選択してください。',
|
||||
invalidImg : "有効なURLを入力してください。\n jpg,gif,bmp,png形式のみ選択可能。",
|
||||
invalidMedia : "有効なURLを入力してください。\nswf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb形式のみ選択可能。",
|
||||
invalidWidth : "幅は英数字のみ。",
|
||||
invalidHeight : "高さは英数字のみ。",
|
||||
invalidBorder : "外枠は英数字のみ。",
|
||||
invalidUrl : "有効なURLを入力してください。",
|
||||
invalidRows : '行数は必須項目の為、0以上の英数字を入力してください。',
|
||||
invalidCols : '列数は必須項目の為、0以上の英数字を入力してください。',
|
||||
invalidPadding : '余白は英数字のみ。',
|
||||
invalidSpacing : '行間隔は英数字のみ。',
|
||||
invalidJson : 'サーバーエラー。',
|
||||
uploadSuccess : 'アップロード成功しました。',
|
||||
cutError : 'お客様のブラウザはセキュリティの為、切取り操作は禁止されている為、ホットキーのCtrl+Xを使ってください。',
|
||||
copyError : 'ブラウザのセキュリティ設定はコピー操作が許可されていません。ショートカットキー(Ctrl+C)を使ってください。',
|
||||
pasteError : 'ブラウザのセキュリティ設定は貼り付け操作を使用できません。ショートカットキー(Ctrl+V)を使ってください。',
|
||||
ajaxLoading : '転送中、お待ちください...',
|
||||
uploadLoading : 'アップロード中、お待ちください...',
|
||||
uploadError : 'アップロードエラー',
|
||||
'plainpaste.comment' : 'ホットキー(Ctrl+X)を使用し、選択された部分をしたのセルに貼り付けてください。',
|
||||
'wordpaste.comment' : 'ショートカットキー(Ctrl+V)を使って、内容を下のブロックに貼り付けてください。',
|
||||
'code.pleaseInput' : 'ソースコード挿入。',
|
||||
'link.url' : 'URL',
|
||||
'link.linkType' : 'タイプ',
|
||||
'link.newWindow' : '新しいウィンドウ',
|
||||
'link.selfWindow' : '現在のウィンドウ',
|
||||
'flash.url' : 'URL',
|
||||
'flash.width' : '幅',
|
||||
'flash.height' : '高さ',
|
||||
'flash.upload' : 'アップロード',
|
||||
'flash.viewServer' : 'ファイルスペース',
|
||||
'media.url' : 'URL',
|
||||
'media.width' : '幅',
|
||||
'media.height' : '高さ',
|
||||
'media.autostart' : '自動放送',
|
||||
'media.upload' : 'アップロード',
|
||||
'media.viewServer' : 'ファイルスペース',
|
||||
'image.remoteImage' : 'オンライン画像',
|
||||
'image.localImage' : 'ローカルアップロード',
|
||||
'image.remoteUrl' : '画像アドレス',
|
||||
'image.localUrl' : 'ファイルアップロード',
|
||||
'image.size' : '画像サイズ',
|
||||
'image.width' : '幅',
|
||||
'image.height' : '高さ',
|
||||
'image.resetSize' : 'サイズリセット',
|
||||
'image.align' : '配置',
|
||||
'image.defaultAlign' : 'デフォルト',
|
||||
'image.leftAlign' : '左揃え',
|
||||
'image.rightAlign' : '右揃え',
|
||||
'image.imgTitle' : '画像説明',
|
||||
'image.upload' : '参照...',
|
||||
'image.viewServer' : '画像スペース',
|
||||
'multiimage.uploadDesc' : 'ユーザが同時に<%=uploadLimit%>枚の画像をアップロードできます,1枚画像のサイズは<%=sizeLimit%>以下です',
|
||||
'multiimage.startUpload' : 'アップロード開始',
|
||||
'multiimage.clearAll' : '全て消去',
|
||||
'multiimage.insertAll' : '全て挿入',
|
||||
'multiimage.queueLimitExceeded' : 'ファイル数が制限を超えました。',
|
||||
'multiimage.fileExceedsSizeLimit' : 'ファイルサイズが制限を超えました。',
|
||||
'multiimage.zeroByteFile' : '空きファイルのアップロードができません。',
|
||||
'multiimage.invalidFiletype' : '無効なファイルタイプ。',
|
||||
'multiimage.unknownError' : '不明なエラーが発生、アップロードができません。',
|
||||
'multiimage.pending' : 'アップロード待ち',
|
||||
'multiimage.uploadError' : 'アップロード失敗',
|
||||
'filemanager.emptyFolder' : '空きフォルダ',
|
||||
'filemanager.moveup' : '前のフォルダーに移動する',
|
||||
'filemanager.viewType' : 'ビュータイプ:',
|
||||
'filemanager.viewImage' : 'サムネイル画像',
|
||||
'filemanager.listImage' : '詳細情報',
|
||||
'filemanager.orderType' : '並べ替え:',
|
||||
'filemanager.fileName' : '名前',
|
||||
'filemanager.fileSize' : 'サイズ',
|
||||
'filemanager.fileType' : 'タイプ',
|
||||
'insertfile.url' : 'URL',
|
||||
'insertfile.title' : 'ファイル説明',
|
||||
'insertfile.upload' : 'アップロード',
|
||||
'insertfile.viewServer' : 'ファイルスペース',
|
||||
'table.cells' : 'セル数',
|
||||
'table.rows' : '行数',
|
||||
'table.cols' : '列数',
|
||||
'table.size' : 'サイズ',
|
||||
'table.width' : '幅',
|
||||
'table.height' : '高さ',
|
||||
'table.percent' : '%',
|
||||
'table.px' : 'px',
|
||||
'table.space' : '余白',
|
||||
'table.padding' : '埋め込み',
|
||||
'table.spacing' : '間隔',
|
||||
'table.align' : '並べ方',
|
||||
'table.textAlign' : '水平',
|
||||
'table.verticalAlign' : '垂直',
|
||||
'table.alignDefault' : 'デフォルト',
|
||||
'table.alignLeft' : '左揃え',
|
||||
'table.alignCenter' : '中央揃え',
|
||||
'table.alignRight' : '右揃え',
|
||||
'table.alignTop' : '上',
|
||||
'table.alignMiddle' : '中央',
|
||||
'table.alignBottom' : '下',
|
||||
'table.alignBaseline' : '基線',
|
||||
'table.border' : '外枠',
|
||||
'table.borderWidth' : '外枠',
|
||||
'table.borderColor' : '色',
|
||||
'table.backgroundColor' : '塗りつぶし色',
|
||||
'map.address' : 'アドレス: ',
|
||||
'map.search' : '検索',
|
||||
'baidumap.address' : 'アドレス: ',
|
||||
'baidumap.search' : '検索',
|
||||
'baidumap.insertDynamicMap' : 'マップ挿入',
|
||||
'anchor.name' : 'アンカー名前',
|
||||
'formatblock.formatBlock' : {
|
||||
h1 : 'タイトル 1',
|
||||
h2 : 'タイトル 2',
|
||||
h3 : 'タイトル 3',
|
||||
h4 : 'タイトル 4',
|
||||
p : '正文'
|
||||
},
|
||||
'fontname.fontName' : {
|
||||
'SimSun' : '宋体',
|
||||
'NSimSun' : '新宋体',
|
||||
'FangSong_GB2312' : '仿宋_GB2312',
|
||||
'KaiTi_GB2312' : '楷体_GB2312',
|
||||
'SimHei' : '黑体',
|
||||
'Source Han Sans': '思源黑体',
|
||||
'Source Han Serif': '思源宋体',
|
||||
'Microsoft YaHei' : '微软雅黑',
|
||||
'Arial' : 'Arial',
|
||||
'Arial Black' : 'Arial Black',
|
||||
'Times New Roman' : 'Times New Roman',
|
||||
'Courier New' : 'Courier New',
|
||||
'Tahoma' : 'Tahoma',
|
||||
'Verdana' : 'Verdana'
|
||||
},
|
||||
'lineheight.lineHeight' : [
|
||||
{'1' : '1行間'},
|
||||
{'1.5' : '1.5行間'},
|
||||
{'2' : '2行間'},
|
||||
{'2.5' : '2.5行間'},
|
||||
{'3' : '3行間'}
|
||||
],
|
||||
'template.selectTemplate' : 'テンプレート',
|
||||
'template.replaceContent' : '内容置き換え',
|
||||
'template.fileList' : {
|
||||
'1.html' : '画像と文字',
|
||||
'2.html' : 'テーブル',
|
||||
'3.html' : '段落番号'
|
||||
}
|
||||
}, 'ja');
|
||||
+7
-7
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user