* change for upgrade.
This commit is contained in:
+1
-1
@@ -17,7 +17,7 @@ if(!function_exists('getWebRoot')){function getWebRoot(){}}
|
||||
|
||||
/* Basic settings. */
|
||||
$config = new config();
|
||||
$config->version = '8.1.3'; // The version of zentaopms. Don't change it.
|
||||
$config->version = '8.2.beta'; // The version of zentaopms. Don't change it.
|
||||
$config->charset = 'UTF-8'; // The charset of zentaopms.
|
||||
$config->cookieLife = time() + 2592000; // The cookie life time.
|
||||
$config->timezone = 'Asia/Shanghai'; // The time zone setting, for more see http://www.php.net/manual/en/timezones.php
|
||||
|
||||
+105
-1
@@ -14,7 +14,22 @@ CREATE TABLE IF NOT EXISTS `zt_action` (
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `action` (`objectID`,`product`,`project`,`action`,`date`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
-- DROP TABLE IF EXISTS `zt_block`;
|
||||
CREATE TABLE IF NOT EXISTS `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',
|
||||
`hidden` tinyint(1) unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `accountModuleOrder` (`account`,`module`,`order`),
|
||||
KEY `block` (`account`,`module`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
-- DROP TABLE IF EXISTS `zt_branch`;
|
||||
CREATE TABLE IF NOT EXISTS `zt_branch` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
@@ -48,6 +63,7 @@ CREATE TABLE IF NOT EXISTS `zt_bug` (
|
||||
`found` varchar(30) NOT NULL default '',
|
||||
`steps` text NOT NULL,
|
||||
`status` enum('active','resolved','closed') NOT NULL default 'active',
|
||||
`color` char(7) NOT NULL,
|
||||
`confirmed` tinyint(1) NOT NULL default '0',
|
||||
`activatedCount` smallint(6) NOT NULL,
|
||||
`mailto` varchar(255) NOT NULL default '',
|
||||
@@ -121,6 +137,7 @@ CREATE TABLE IF NOT EXISTS `zt_case` (
|
||||
`scriptStatus` varchar(30) NOT NULL,
|
||||
`scriptLocation` varchar(255) NOT NULL,
|
||||
`status` char(30) NOT NULL default '1',
|
||||
`color` char(7) NOT NULL,
|
||||
`frequency` enum('1','2','3') NOT NULL default '1',
|
||||
`order` tinyint(30) unsigned NOT NULL default '0',
|
||||
`openedBy` char(30) NOT NULL default '',
|
||||
@@ -353,6 +370,7 @@ CREATE TABLE IF NOT EXISTS `zt_module` (
|
||||
`order` smallint(5) unsigned NOT NULL default '0',
|
||||
`type` char(30) NOT NULL,
|
||||
`owner` varchar(30) NOT NULL,
|
||||
`short` varchar(30) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `module` (`root`,`type`,`path`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
@@ -472,6 +490,7 @@ CREATE TABLE IF NOT EXISTS `zt_story` (
|
||||
`pri` tinyint(3) unsigned NOT NULL default '3',
|
||||
`estimate` float unsigned NOT NULL,
|
||||
`status` enum('','changed','active','draft','closed') NOT NULL default '',
|
||||
`color` char(7) NOT NULL,
|
||||
`stage` enum('','wait','planned','projected','developing','developed','testing','tested','verified','released') NOT NULL DEFAULT 'wait',
|
||||
`mailto` varchar(255) NOT NULL default '',
|
||||
`openedBy` varchar(30) NOT NULL default '',
|
||||
@@ -526,6 +545,7 @@ CREATE TABLE IF NOT EXISTS `zt_task` (
|
||||
`left` float unsigned NOT NULL,
|
||||
`deadline` date NOT NULL,
|
||||
`status` enum('wait','doing','done','pause','cancel','closed') NOT NULL default 'wait',
|
||||
`color` char(7) NOT NULL,
|
||||
`mailto` varchar(255) NOT NULL default '',
|
||||
`desc` text NOT NULL,
|
||||
`openedBy` varchar(30) NOT NULL,
|
||||
@@ -700,6 +720,7 @@ CREATE TABLE IF NOT EXISTS `zt_usertpl` (
|
||||
`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;
|
||||
@@ -760,6 +781,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(1, 'bug', 'delete'),
|
||||
(1, 'bug', 'deleteTemplate'),
|
||||
(1, 'bug', 'edit'),
|
||||
(1, 'bug', 'batchChangeModule'),
|
||||
(1, 'bug', 'linkBugs'),
|
||||
(1, 'bug', 'unlinkBug'),
|
||||
(1, 'bug', 'export'),
|
||||
@@ -875,6 +897,8 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(1, 'my', 'testTask'),
|
||||
(1, 'my', 'todo'),
|
||||
(1, 'my', 'unbind'),
|
||||
(1, 'my', 'manageContacts'),
|
||||
(1, 'my', 'deleteContacts'),
|
||||
(1, 'product', 'batchEdit'),
|
||||
(1, 'product', 'browse'),
|
||||
(1, 'product', 'close'),
|
||||
@@ -884,6 +908,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(1, 'product', 'dynamic'),
|
||||
(1, 'product', 'edit'),
|
||||
(1, 'product', 'index'),
|
||||
(1, 'product', 'all'),
|
||||
(1, 'product', 'order'),
|
||||
(1, 'product', 'project'),
|
||||
(1, 'product', 'roadmap'),
|
||||
@@ -921,6 +946,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(1, 'project', 'importBug'),
|
||||
(1, 'project', 'importtask'),
|
||||
(1, 'project', 'index'),
|
||||
(1, 'project', 'all'),
|
||||
(1, 'project', 'linkStory'),
|
||||
(1, 'project', 'manageMembers'),
|
||||
(1, 'project', 'manageProducts'),
|
||||
@@ -930,6 +956,8 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(1, 'project', 'story'),
|
||||
(1, 'project', 'suspend'),
|
||||
(1, 'project', 'task'),
|
||||
(1, 'project', 'kanban'),
|
||||
(1, 'project', 'tree'),
|
||||
(1, 'project', 'team'),
|
||||
(1, 'project', 'testtask'),
|
||||
(1, 'project', 'unlinkMember'),
|
||||
@@ -975,6 +1003,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(1, 'story', 'create'),
|
||||
(1, 'story', 'delete'),
|
||||
(1, 'story', 'edit'),
|
||||
(1, 'story', 'batchChangeModule'),
|
||||
(1, 'story', 'linkStory'),
|
||||
(1, 'story', 'unlinkStory'),
|
||||
(1, 'story', 'export'),
|
||||
@@ -999,6 +1028,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(1, 'task', 'delete'),
|
||||
(1, 'task', 'deleteEstimate'),
|
||||
(1, 'task', 'edit'),
|
||||
(1, 'task', 'batchChangeModule'),
|
||||
(1, 'task', 'editEstimate'),
|
||||
(1, 'task', 'export'),
|
||||
(1, 'task', 'finish'),
|
||||
@@ -1018,6 +1048,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(1, 'testcase', 'createBug'),
|
||||
(1, 'testcase', 'delete'),
|
||||
(1, 'testcase', 'edit'),
|
||||
(1, 'testcase', 'batchChangeModule'),
|
||||
(1, 'testcase', 'linkCases'),
|
||||
(1, 'testcase', 'unlinkCase'),
|
||||
(1, 'testcase', 'export'),
|
||||
@@ -1096,6 +1127,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(2, 'bug', 'create'),
|
||||
(2, 'bug', 'deleteTemplate'),
|
||||
(2, 'bug', 'edit'),
|
||||
(2, 'bug', 'batchChangeModule'),
|
||||
(2, 'bug', 'linkBugs'),
|
||||
(2, 'bug', 'unlinkBug'),
|
||||
(2, 'bug', 'export'),
|
||||
@@ -1136,10 +1168,13 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(2, 'my', 'task'),
|
||||
(2, 'my', 'todo'),
|
||||
(2, 'my', 'unbind'),
|
||||
(2, 'my', 'manageContacts'),
|
||||
(2, 'my', 'deleteContacts'),
|
||||
(2, 'product', 'browse'),
|
||||
(2, 'product', 'doc'),
|
||||
(2, 'product', 'dynamic'),
|
||||
(2, 'product', 'index'),
|
||||
(2, 'product', 'all'),
|
||||
(2, 'product', 'project'),
|
||||
(2, 'product', 'roadmap'),
|
||||
(2, 'product', 'view'),
|
||||
@@ -1157,8 +1192,11 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(2, 'project', 'importBug'),
|
||||
(2, 'project', 'importtask'),
|
||||
(2, 'project', 'index'),
|
||||
(2, 'project', 'all'),
|
||||
(2, 'project', 'story'),
|
||||
(2, 'project', 'task'),
|
||||
(2, 'project', 'kanban'),
|
||||
(2, 'project', 'tree'),
|
||||
(2, 'project', 'team'),
|
||||
(2, 'project', 'testtask'),
|
||||
(2, 'project', 'view'),
|
||||
@@ -1196,6 +1234,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(2, 'task', 'create'),
|
||||
(2, 'task', 'deleteEstimate'),
|
||||
(2, 'task', 'edit'),
|
||||
(2, 'task', 'batchChangeModule'),
|
||||
(2, 'task', 'editEstimate'),
|
||||
(2, 'task', 'export'),
|
||||
(2, 'task', 'finish'),
|
||||
@@ -1256,6 +1295,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(3, 'bug', 'create'),
|
||||
(3, 'bug', 'deleteTemplate'),
|
||||
(3, 'bug', 'edit'),
|
||||
(3, 'bug', 'batchChangeModule'),
|
||||
(3, 'bug', 'linkBugs'),
|
||||
(3, 'bug', 'unlinkBug'),
|
||||
(3, 'bug', 'export'),
|
||||
@@ -1297,10 +1337,13 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(3, 'my', 'testTask'),
|
||||
(3, 'my', 'todo'),
|
||||
(3, 'my', 'unbind'),
|
||||
(3, 'my', 'manageContacts'),
|
||||
(3, 'my', 'deleteContacts'),
|
||||
(3, 'product', 'browse'),
|
||||
(3, 'product', 'doc'),
|
||||
(3, 'product', 'dynamic'),
|
||||
(3, 'product', 'index'),
|
||||
(3, 'product', 'all'),
|
||||
(3, 'product', 'project'),
|
||||
(3, 'product', 'roadmap'),
|
||||
(3, 'product', 'view'),
|
||||
@@ -1318,8 +1361,11 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(3, 'project', 'importBug'),
|
||||
(3, 'project', 'importtask'),
|
||||
(3, 'project', 'index'),
|
||||
(3, 'project', 'all'),
|
||||
(3, 'project', 'story'),
|
||||
(3, 'project', 'task'),
|
||||
(3, 'project', 'kanban'),
|
||||
(3, 'project', 'tree'),
|
||||
(3, 'project', 'team'),
|
||||
(3, 'project', 'testtask'),
|
||||
(3, 'project', 'view'),
|
||||
@@ -1358,6 +1404,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(3, 'task', 'create'),
|
||||
(3, 'task', 'deleteEstimate'),
|
||||
(3, 'task', 'edit'),
|
||||
(3, 'task', 'batchChangeModule'),
|
||||
(3, 'task', 'editEstimate'),
|
||||
(3, 'task', 'export'),
|
||||
(3, 'task', 'finish'),
|
||||
@@ -1375,6 +1422,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(3, 'testcase', 'create'),
|
||||
(3, 'testcase', 'createBug'),
|
||||
(3, 'testcase', 'edit'),
|
||||
(3, 'testcase', 'batchChangeModule'),
|
||||
(3, 'testcase', 'linkCases'),
|
||||
(3, 'testcase', 'unlinkCase'),
|
||||
(3, 'testcase', 'export'),
|
||||
@@ -1444,6 +1492,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(4, 'bug', 'delete'),
|
||||
(4, 'bug', 'deleteTemplate'),
|
||||
(4, 'bug', 'edit'),
|
||||
(4, 'bug', 'batchChangeModule'),
|
||||
(4, 'bug', 'linkBugs'),
|
||||
(4, 'bug', 'unlinkBug'),
|
||||
(4, 'bug', 'export'),
|
||||
@@ -1501,10 +1550,13 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(4, 'my', 'testTask'),
|
||||
(4, 'my', 'todo'),
|
||||
(4, 'my', 'unbind'),
|
||||
(4, 'my', 'manageContacts'),
|
||||
(4, 'my', 'deleteContacts'),
|
||||
(4, 'product', 'browse'),
|
||||
(4, 'product', 'doc'),
|
||||
(4, 'product', 'dynamic'),
|
||||
(4, 'product', 'index'),
|
||||
(4, 'product', 'all'),
|
||||
(4, 'product', 'project'),
|
||||
(4, 'product', 'roadmap'),
|
||||
(4, 'product', 'view'),
|
||||
@@ -1529,6 +1581,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(4, 'project', 'importBug'),
|
||||
(4, 'project', 'importtask'),
|
||||
(4, 'project', 'index'),
|
||||
(4, 'project', 'all'),
|
||||
(4, 'project', 'linkStory'),
|
||||
(4, 'project', 'manageMembers'),
|
||||
(4, 'project', 'manageProducts'),
|
||||
@@ -1538,6 +1591,8 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(4, 'project', 'story'),
|
||||
(4, 'project', 'suspend'),
|
||||
(4, 'project', 'task'),
|
||||
(4, 'project', 'kanban'),
|
||||
(4, 'project', 'tree'),
|
||||
(4, 'project', 'team'),
|
||||
(4, 'project', 'testtask'),
|
||||
(4, 'project', 'unlinkMember'),
|
||||
@@ -1580,6 +1635,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(4, 'task', 'delete'),
|
||||
(4, 'task', 'deleteEstimate'),
|
||||
(4, 'task', 'edit'),
|
||||
(4, 'task', 'batchChangeModule'),
|
||||
(4, 'task', 'editEstimate'),
|
||||
(4, 'task', 'export'),
|
||||
(4, 'task', 'finish'),
|
||||
@@ -1655,6 +1711,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(5, 'bug', 'create'),
|
||||
(5, 'bug', 'deleteTemplate'),
|
||||
(5, 'bug', 'edit'),
|
||||
(5, 'bug', 'batchChangeModule'),
|
||||
(5, 'bug', 'linkBugs'),
|
||||
(5, 'bug', 'unlinkBug'),
|
||||
(5, 'bug', 'export'),
|
||||
@@ -1703,6 +1760,8 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(5, 'my', 'testTask'),
|
||||
(5, 'my', 'todo'),
|
||||
(5, 'my', 'unbind'),
|
||||
(5, 'my', 'manageContacts'),
|
||||
(5, 'my', 'deleteContacts'),
|
||||
(5, 'product', 'batchEdit'),
|
||||
(5, 'product', 'browse'),
|
||||
(5, 'product', 'close'),
|
||||
@@ -1712,6 +1771,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(5, 'product', 'dynamic'),
|
||||
(5, 'product', 'edit'),
|
||||
(5, 'product', 'index'),
|
||||
(5, 'product', 'all'),
|
||||
(5, 'product', 'order'),
|
||||
(5, 'product', 'project'),
|
||||
(5, 'product', 'roadmap'),
|
||||
@@ -1749,6 +1809,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(5, 'project', 'importBug'),
|
||||
(5, 'project', 'importtask'),
|
||||
(5, 'project', 'index'),
|
||||
(5, 'project', 'all'),
|
||||
(5, 'project', 'linkStory'),
|
||||
(5, 'project', 'manageMembers'),
|
||||
(5, 'project', 'manageProducts'),
|
||||
@@ -1758,6 +1819,8 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(5, 'project', 'story'),
|
||||
(5, 'project', 'suspend'),
|
||||
(5, 'project', 'task'),
|
||||
(5, 'project', 'kanban'),
|
||||
(5, 'project', 'tree'),
|
||||
(5, 'project', 'team'),
|
||||
(5, 'project', 'testtask'),
|
||||
(5, 'project', 'unlinkMember'),
|
||||
@@ -1802,6 +1865,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(5, 'story', 'create'),
|
||||
(5, 'story', 'delete'),
|
||||
(5, 'story', 'edit'),
|
||||
(5, 'story', 'batchChangeModule'),
|
||||
(5, 'story', 'linkStory'),
|
||||
(5, 'story', 'unlinkStory'),
|
||||
(5, 'story', 'export'),
|
||||
@@ -1884,6 +1948,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(6, 'bug', 'delete'),
|
||||
(6, 'bug', 'deleteTemplate'),
|
||||
(6, 'bug', 'edit'),
|
||||
(6, 'bug', 'batchChangeModule'),
|
||||
(6, 'bug', 'linkBugs'),
|
||||
(6, 'bug', 'unlinkBug'),
|
||||
(6, 'bug', 'export'),
|
||||
@@ -1941,10 +2006,13 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(6, 'my', 'testTask'),
|
||||
(6, 'my', 'todo'),
|
||||
(6, 'my', 'unbind'),
|
||||
(6, 'my', 'manageContacts'),
|
||||
(6, 'my', 'deleteContacts'),
|
||||
(6, 'product', 'browse'),
|
||||
(6, 'product', 'doc'),
|
||||
(6, 'product', 'dynamic'),
|
||||
(6, 'product', 'index'),
|
||||
(6, 'product', 'all'),
|
||||
(6, 'product', 'project'),
|
||||
(6, 'product', 'roadmap'),
|
||||
(6, 'product', 'view'),
|
||||
@@ -1969,6 +2037,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(6, 'project', 'importBug'),
|
||||
(6, 'project', 'importtask'),
|
||||
(6, 'project', 'index'),
|
||||
(6, 'project', 'all'),
|
||||
(6, 'project', 'linkStory'),
|
||||
(6, 'project', 'manageMembers'),
|
||||
(6, 'project', 'manageProducts'),
|
||||
@@ -1978,6 +2047,8 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(6, 'project', 'story'),
|
||||
(6, 'project', 'suspend'),
|
||||
(6, 'project', 'task'),
|
||||
(6, 'project', 'kanban'),
|
||||
(6, 'project', 'tree'),
|
||||
(6, 'project', 'team'),
|
||||
(6, 'project', 'testtask'),
|
||||
(6, 'project', 'unlinkMember'),
|
||||
@@ -2020,6 +2091,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(6, 'task', 'delete'),
|
||||
(6, 'task', 'deleteEstimate'),
|
||||
(6, 'task', 'edit'),
|
||||
(6, 'task', 'batchChangeModule'),
|
||||
(6, 'task', 'editEstimate'),
|
||||
(6, 'task', 'export'),
|
||||
(6, 'task', 'finish'),
|
||||
@@ -2093,6 +2165,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(7, 'bug', 'delete'),
|
||||
(7, 'bug', 'deleteTemplate'),
|
||||
(7, 'bug', 'edit'),
|
||||
(7, 'bug', 'batchChangeModule'),
|
||||
(7, 'bug', 'linkBugs'),
|
||||
(7, 'bug', 'unlinkBug'),
|
||||
(7, 'bug', 'export'),
|
||||
@@ -2141,6 +2214,8 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(7, 'my', 'testTask'),
|
||||
(7, 'my', 'todo'),
|
||||
(7, 'my', 'unbind'),
|
||||
(7, 'my', 'manageContacts'),
|
||||
(7, 'my', 'deleteContacts'),
|
||||
(7, 'product', 'batchEdit'),
|
||||
(7, 'product', 'browse'),
|
||||
(7, 'product', 'close'),
|
||||
@@ -2150,6 +2225,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(7, 'product', 'dynamic'),
|
||||
(7, 'product', 'edit'),
|
||||
(7, 'product', 'index'),
|
||||
(7, 'product', 'all'),
|
||||
(7, 'product', 'order'),
|
||||
(7, 'product', 'project'),
|
||||
(7, 'product', 'roadmap'),
|
||||
@@ -2177,10 +2253,13 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(7, 'project', 'dynamic'),
|
||||
(7, 'project', 'grouptask'),
|
||||
(7, 'project', 'index'),
|
||||
(7, 'project', 'all'),
|
||||
(7, 'project', 'linkStory'),
|
||||
(7, 'project', 'manageProducts'),
|
||||
(7, 'project', 'story'),
|
||||
(7, 'project', 'task'),
|
||||
(7, 'project', 'kanban'),
|
||||
(7, 'project', 'tree'),
|
||||
(7, 'project', 'team'),
|
||||
(7, 'project', 'testtask'),
|
||||
(7, 'project', 'unlinkStory'),
|
||||
@@ -2224,6 +2303,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(7, 'story', 'create'),
|
||||
(7, 'story', 'delete'),
|
||||
(7, 'story', 'edit'),
|
||||
(7, 'story', 'batchChangeModule'),
|
||||
(7, 'story', 'linkStory'),
|
||||
(7, 'story', 'unlinkStory'),
|
||||
(7, 'story', 'export'),
|
||||
@@ -2306,6 +2386,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(8, 'bug', 'delete'),
|
||||
(8, 'bug', 'deleteTemplate'),
|
||||
(8, 'bug', 'edit'),
|
||||
(8, 'bug', 'batchChangeModule'),
|
||||
(8, 'bug', 'linkBugs'),
|
||||
(8, 'bug', 'unlinkBug'),
|
||||
(8, 'bug', 'export'),
|
||||
@@ -2357,10 +2438,13 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(8, 'my', 'testTask'),
|
||||
(8, 'my', 'todo'),
|
||||
(8, 'my', 'unbind'),
|
||||
(8, 'my', 'manageContacts'),
|
||||
(8, 'my', 'deleteContacts'),
|
||||
(8, 'product', 'browse'),
|
||||
(8, 'product', 'doc'),
|
||||
(8, 'product', 'dynamic'),
|
||||
(8, 'product', 'index'),
|
||||
(8, 'product', 'all'),
|
||||
(8, 'product', 'project'),
|
||||
(8, 'product', 'roadmap'),
|
||||
(8, 'product', 'view'),
|
||||
@@ -2376,8 +2460,11 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(8, 'project', 'importBug'),
|
||||
(8, 'project', 'importtask'),
|
||||
(8, 'project', 'index'),
|
||||
(8, 'project', 'all'),
|
||||
(8, 'project', 'story'),
|
||||
(8, 'project', 'task'),
|
||||
(8, 'project', 'kanban'),
|
||||
(8, 'project', 'tree'),
|
||||
(8, 'project', 'team'),
|
||||
(8, 'project', 'testtask'),
|
||||
(8, 'project', 'view'),
|
||||
@@ -2417,6 +2504,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(8, 'task', 'delete'),
|
||||
(8, 'task', 'deleteEstimate'),
|
||||
(8, 'task', 'edit'),
|
||||
(8, 'task', 'batchChangeModule'),
|
||||
(8, 'task', 'editEstimate'),
|
||||
(8, 'task', 'export'),
|
||||
(8, 'task', 'finish'),
|
||||
@@ -2436,6 +2524,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(8, 'testcase', 'createBug'),
|
||||
(8, 'testcase', 'delete'),
|
||||
(8, 'testcase', 'edit'),
|
||||
(8, 'testcase', 'batchChangeModule'),
|
||||
(8, 'testcase', 'linkCases'),
|
||||
(8, 'testcase', 'unlinkCase'),
|
||||
(8, 'testcase', 'export'),
|
||||
@@ -2547,10 +2636,13 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(9, 'my', 'testTask'),
|
||||
(9, 'my', 'todo'),
|
||||
(9, 'my', 'unbind'),
|
||||
(9, 'my', 'manageContacts'),
|
||||
(9, 'my', 'deleteContacts'),
|
||||
(9, 'product', 'browse'),
|
||||
(9, 'product', 'doc'),
|
||||
(9, 'product', 'dynamic'),
|
||||
(9, 'product', 'index'),
|
||||
(9, 'product', 'all'),
|
||||
(9, 'product', 'project'),
|
||||
(9, 'product', 'roadmap'),
|
||||
(9, 'product', 'view'),
|
||||
@@ -2566,8 +2658,11 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(9, 'project', 'dynamic'),
|
||||
(9, 'project', 'grouptask'),
|
||||
(9, 'project', 'index'),
|
||||
(9, 'project', 'all'),
|
||||
(9, 'project', 'story'),
|
||||
(9, 'project', 'task'),
|
||||
(9, 'project', 'kanban'),
|
||||
(9, 'project', 'tree'),
|
||||
(9, 'project', 'team'),
|
||||
(9, 'project', 'view'),
|
||||
(9, 'qa', 'index'),
|
||||
@@ -2647,6 +2742,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(10, 'bug', 'close'),
|
||||
(10, 'bug', 'create'),
|
||||
(10, 'bug', 'edit'),
|
||||
(10, 'bug', 'batchChangeModule'),
|
||||
(10, 'bug', 'linkBugs'),
|
||||
(10, 'bug', 'unlinkBug'),
|
||||
(10, 'bug', 'index'),
|
||||
@@ -2675,6 +2771,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(10, 'product', 'doc'),
|
||||
(10, 'product', 'dynamic'),
|
||||
(10, 'product', 'index'),
|
||||
(10, 'product', 'all'),
|
||||
(10, 'product', 'roadmap'),
|
||||
(10, 'product', 'view'),
|
||||
(10, 'productplan', 'browse'),
|
||||
@@ -2687,8 +2784,11 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(10, 'project', 'dynamic'),
|
||||
(10, 'project', 'grouptask'),
|
||||
(10, 'project', 'index'),
|
||||
(10, 'project', 'all'),
|
||||
(10, 'project', 'story'),
|
||||
(10, 'project', 'task'),
|
||||
(10, 'project', 'kanban'),
|
||||
(10, 'project', 'tree'),
|
||||
(10, 'project', 'team'),
|
||||
(10, 'project', 'testtask'),
|
||||
(10, 'project', 'view'),
|
||||
@@ -2754,6 +2854,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(11, 'product', 'doc'),
|
||||
(11, 'product', 'dynamic'),
|
||||
(11, 'product', 'index'),
|
||||
(11, 'product', 'all'),
|
||||
(11, 'product', 'roadmap'),
|
||||
(11, 'product', 'view'),
|
||||
(11, 'productplan', 'browse'),
|
||||
@@ -2766,8 +2867,11 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(11, 'project', 'dynamic'),
|
||||
(11, 'project', 'grouptask'),
|
||||
(11, 'project', 'index'),
|
||||
(11, 'project', 'all'),
|
||||
(11, 'project', 'story'),
|
||||
(11, 'project', 'task'),
|
||||
(11, 'project', 'kanban'),
|
||||
(11, 'project', 'tree'),
|
||||
(11, 'project', 'team'),
|
||||
(11, 'project', 'testtask'),
|
||||
(11, 'project', 'view'),
|
||||
|
||||
@@ -118,8 +118,9 @@ $(document).ready(function()
|
||||
<strong><?php echo $lang->export;?></strong>
|
||||
</div>
|
||||
</div>
|
||||
<form class='form-condensed' method='post' target='hiddenwin' style='padding: 40px 5% 50px'>
|
||||
<table class='w-p100'>
|
||||
<?php $isCustomExport = (!empty($customExport) and !empty($allExportFields));?>
|
||||
<form class='form-condensed' method='post' target='hiddenwin' style='padding: 40px 1% 50px'>
|
||||
<table class='w-p100 table-fixed'>
|
||||
<tr>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
@@ -127,31 +128,31 @@ $(document).ready(function()
|
||||
<?php echo html::input('fileName', '', 'class=form-control');?>
|
||||
</div>
|
||||
</td>
|
||||
<td class='w-80px'>
|
||||
<td class='w-60px'>
|
||||
<?php echo html::select('fileType', $lang->exportFileTypeList, '', 'onchange=switchEncode(this.value) class="form-control"');?>
|
||||
</td>
|
||||
<td class='w-90px'>
|
||||
<td class='w-80px'>
|
||||
<?php echo html::select('encode', $config->charsets[$this->cookie->lang], 'utf-8', key($lang->exportFileTypeList) == 'csv' ? "class='form-control'" : "class='form-control'");?>
|
||||
</td>
|
||||
<td class='w-100px'>
|
||||
<td class='w-90px'>
|
||||
<?php echo html::select('exportType', $lang->exportTypeList, 'all', "class='form-control'");?>
|
||||
</td>
|
||||
<td><?php echo html::submitButton($lang->export, "onclick='setDownloading();' ");?></td>
|
||||
</tr>
|
||||
<?php if(!empty($customExport) and !empty($allExportFields)):?>
|
||||
<tr>
|
||||
<td colspan='5'>
|
||||
<div class='input-group' style='width:100%'>
|
||||
<span class='input-group-addon'><?php echo $lang->file->applyTemplate?></span>
|
||||
<span id='tplBox'><?php echo $this->fetch('file', 'buildExportTPL', 'module=' . $this->moduleName);?></span>
|
||||
<span class='input-group-btn'><button type='button' onclick='deleteTemplate()' class='btn'><?php echo $lang->delete?></button></span>
|
||||
<span class='input-group-btn'><button type='button' onclick='setExportTPL()' class='btn'><?php echo $lang->file->setExportTPL?></button></span>
|
||||
<?php if($isCustomExport):?>
|
||||
<td class='w-110px' style='overflow:visible'>
|
||||
<span id='tplBox'><?php echo $this->fetch('file', 'buildExportTPL', 'module=' . $this->moduleName);?></span>
|
||||
</td>
|
||||
<?php endif?>
|
||||
<td style='width:<?php echo $isCustomExport ? '94px' : '50px'?>'>
|
||||
<div class='input-group'>
|
||||
<?php echo html::submitButton($lang->export, "onclick='setDownloading();' ");?>
|
||||
<?php if($isCustomExport):?>
|
||||
<button type='button' onclick='setExportTPL()' class='btn'><?php echo $lang->file->setExportTPL?></button>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
</table>
|
||||
<?php if(!empty($customExport) and !empty($allExportFields)):?>
|
||||
<?php if($isCustomExport):?>
|
||||
<?php
|
||||
$allExportFields = explode(',', $allExportFields);
|
||||
$selectedFields = array();
|
||||
@@ -166,7 +167,7 @@ $(document).ready(function()
|
||||
}
|
||||
?>
|
||||
<div class='mb-150px' style='margin-bottom:150px'></div>
|
||||
<div class='panel' id='customFields' style='margin-bottom:150px;display:none'>
|
||||
<div class='panel' id='customFields' style='display:none'>
|
||||
<div class='panel-heading'><strong><?php echo $lang->file->exportFields?></strong></div>
|
||||
<div class='panel-body'>
|
||||
<p><?php echo html::select('exportFields[]', $exportFieldPairs, $selectedFields, "class='form-control chosen' multiple")?></p>
|
||||
@@ -178,6 +179,7 @@ $(document).ready(function()
|
||||
<span class='input-group-addon'><?php echo html::checkbox('public', array(1 => $lang->public));?></span>
|
||||
<?php endif?>
|
||||
<span class='input-group-btn'><button id='saveTpl' type='button' onclick='saveTemplate()' class='btn btn-primary'><?php echo $lang->save?></button></span>
|
||||
<span class='input-group-btn'><button type='button' onclick='deleteTemplate()' class='btn'><?php echo $lang->delete?></button></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -46,6 +46,7 @@ $lang->group->copyOptions['copyPriv'] = 'Copy priviledge';
|
||||
$lang->group->copyOptions['copyUser'] = 'Copy user';
|
||||
|
||||
$lang->group->versions[''] = 'History';
|
||||
$lang->group->versions['8_2_beta'] = 'Zentao 8.2.beta';
|
||||
$lang->group->versions['8_0_1'] = 'Zentao 8.0.1';
|
||||
$lang->group->versions['8_0'] = 'Zentao 8.0';
|
||||
$lang->group->versions['7_4_beta'] = 'Zentao 7.4.beta';
|
||||
|
||||
@@ -1166,3 +1166,5 @@ $lang->changelog['8.1.3'][] = 'my-deleteContacts';
|
||||
$lang->changelog['8.2.beta'][] = 'product-all';
|
||||
$lang->changelog['8.2.beta'][] = 'project-tree';
|
||||
$lang->changelog['8.2.beta'][] = 'project-all';
|
||||
$lang->changelog['8.2.beta'][] = 'project-kanban';
|
||||
$lang->changelog['8.2.beta'][] = 'project-tree';
|
||||
|
||||
@@ -46,6 +46,7 @@ $lang->group->copyOptions['copyPriv'] = '复制权限';
|
||||
$lang->group->copyOptions['copyUser'] = '复制用户';
|
||||
|
||||
$lang->group->versions[''] = '修改历史';
|
||||
$lang->group->versions['8_2_beta'] = '禅道8.2.beta';
|
||||
$lang->group->versions['8_0_1'] = '禅道8.0.1';
|
||||
$lang->group->versions['8_0'] = '禅道8.0';
|
||||
$lang->group->versions['7_4_beta'] = '禅道7.4.beta';
|
||||
|
||||
@@ -65,5 +65,10 @@ $lang->misc->feature = new stdclass();
|
||||
$lang->misc->feature->lastest = 'Latest';
|
||||
$lang->misc->feature->all = array();
|
||||
$lang->misc->feature->all['latest'] = array();
|
||||
$lang->misc->feature->all['latest'][] = array('title'=>'Customizable home page', 'desc' => '<p>You can add contents blocks to home page and determine how to display them.</p>');
|
||||
$lang->misc->feature->all['latest'][] = array('title'=>'Full customizable navigations', 'desc' => '<p>You can sort and hide items in navigations.</p>');
|
||||
$lang->misc->feature->all['latest'][] = array('title'=>'首页自定义', 'desc' => '<p>我的地盘由我做主。现在开始,你可以向首页添加多种多样的内容区块,而且还可以决定如何排列和显示他们。</p><p>我的地盘、产品、项目、测试模块下均支持首页自定义功能。</p>');
|
||||
$lang->misc->feature->all['latest'][] = array('title'=>'导航定制', 'desc' => '<p>导航上显示的项目现在完全由你来决定,不仅仅可以决定在导航上展示哪些内容,还可以决定展示的顺序。</p><p>将鼠标悬浮在导航上稍后会在右侧显示定制按钮,点击打开定制对话框,通过点击切换是否显示,拖放操作来更改显示顺序。</p>');
|
||||
$lang->misc->feature->all['latest'][] = array('title'=>'批量添加、编辑自定义', 'desc' => '<p>可以在批量添加和批量编辑页面自定义操作的字段。</p>');
|
||||
$lang->misc->feature->all['latest'][] = array('title'=>'添加需求、任务、Bug、用例自定义', 'desc' => '<p>可以在添加需求、任务、Bug、用例页面,自定义部分字段是否显示。</p>');
|
||||
$lang->misc->feature->all['latest'][] = array('title'=>'导出自定义', 'desc' => '<p>在导出需求、任务、Bug、用例的时候,用户可以自定义导出的字段,也可以保存模板方便每次导出。</p>');
|
||||
$lang->misc->feature->all['latest'][] = array('title'=>'需求、任务、Bug、用例组合检索功能', 'desc' => '<p>在需求、任务、Bug、用例列表页面,可以实现模块和标签的组合检索。</p>');
|
||||
$lang->misc->feature->all['latest'][] = array('title'=>'增加新手教程', 'desc' => '<p>增加新手教程,方便新用户了解禅道使用。</p>');
|
||||
|
||||
@@ -67,3 +67,8 @@ $lang->misc->feature->all = array();
|
||||
$lang->misc->feature->all['latest'] = array();
|
||||
$lang->misc->feature->all['latest'][] = array('title'=>'首页自定义', 'desc' => '<p>我的地盘由我做主。现在开始,你可以向首页添加多种多样的内容区块,而且还可以决定如何排列和显示他们。</p><p>我的地盘、产品、项目、测试模块下均支持首页自定义功能。</p>');
|
||||
$lang->misc->feature->all['latest'][] = array('title'=>'导航定制', 'desc' => '<p>导航上显示的项目现在完全由你来决定,不仅仅可以决定在导航上展示哪些内容,还可以决定展示的顺序。</p><p>将鼠标悬浮在导航上稍后会在右侧显示定制按钮,点击打开定制对话框,通过点击切换是否显示,拖放操作来更改显示顺序。</p>');
|
||||
$lang->misc->feature->all['latest'][] = array('title'=>'批量添加、编辑自定义', 'desc' => '<p>可以在批量添加和批量编辑页面自定义操作的字段。</p>');
|
||||
$lang->misc->feature->all['latest'][] = array('title'=>'添加需求、任务、Bug、用例自定义', 'desc' => '<p>可以在添加需求、任务、Bug、用例页面,自定义部分字段是否显示。</p>');
|
||||
$lang->misc->feature->all['latest'][] = array('title'=>'导出自定义', 'desc' => '<p>在导出需求、任务、Bug、用例的时候,用户可以自定义导出的字段,也可以保存模板方便每次导出。</p>');
|
||||
$lang->misc->feature->all['latest'][] = array('title'=>'需求、任务、Bug、用例组合检索功能', 'desc' => '<p>在需求、任务、Bug、用例列表页面,可以实现模块和标签的组合检索。</p>');
|
||||
$lang->misc->feature->all['latest'][] = array('title'=>'增加新手教程', 'desc' => '<p>增加新手教程,方便新用户了解禅道使用。</p>');
|
||||
|
||||
@@ -10,7 +10,7 @@ if(empty($features))
|
||||
<div class='container mw-800px'>
|
||||
<div id='titlebar'>
|
||||
<div class='heading'>
|
||||
<strong><?php echo $lang->feature ?></strong>
|
||||
<strong><?php echo $lang->changeLog ?></strong>
|
||||
</div>
|
||||
</div>
|
||||
<div class='dropdown' id='versionMenu'>
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
if($period == 'before') $vars .= "&account={$app->user->account}&status=undone";
|
||||
echo "<li id='$period'>" . html::a(inlink('todo', $vars), $label) . '</li>';
|
||||
}
|
||||
echo "<li id='byDate' class='datepicker-wrapper datepicker-date'>" . html::input('date', $date,"class='form-control form-date' onchange='changeDate(this.value)' autocomplete='off'") . '</li>';
|
||||
echo "<li id='byDate'>" . html::input('date', $date,"class='form-control form-date' onchange='changeDate(this.value)' autocomplete='off'") . '</li>';
|
||||
|
||||
if(is_numeric($type))
|
||||
{
|
||||
|
||||
@@ -23,10 +23,10 @@
|
||||
#projectTree .item-type-tasks > .tree-item-wrapper:hover {background-color: #f5f5f5}
|
||||
#projectTree .task-pri {position: relative; top: -1px}
|
||||
#projectTree .task-assignto {display: inline-block; margin-left: 10px; color: #808080}
|
||||
#projectTree .task-info {float: right; display: none}
|
||||
#projectTree .task-info {display: none;}
|
||||
#projectTree .task-info > div {display: inline-block; margin: 0 5px;}
|
||||
#projectTree .task-info > div.buttons {position: relative; top: 2px}
|
||||
#projectTree .item-type-task:hover .task-info {display: block}
|
||||
#projectTree .item-type-task:hover .task-info {display: inline-block; margin-left:10px;}
|
||||
|
||||
.tree-view-btn {min-width: 36px;}
|
||||
.main > .panel > .panel-heading > .panel-actions {margin-top: -8px; margin-right: -12px;}
|
||||
|
||||
@@ -123,8 +123,7 @@ $lang->project->batchUnlinkStory = '批量移除需求';
|
||||
$lang->project->importTask = '转入任务';
|
||||
$lang->project->importBug = '导入Bug';
|
||||
$lang->project->updateOrder = '排序';
|
||||
$lang->project->tree = '树视图';
|
||||
$lang->project->list = '列表';
|
||||
$lang->project->tree = '树状图';
|
||||
|
||||
/* 分组浏览。*/
|
||||
$lang->project->allTasks = '所有';
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div id='featurebar'>
|
||||
<ul class='nav'>
|
||||
<li>
|
||||
<div class='label-angle<?php if($moduleID) echo ' with-close';?>'>
|
||||
<div class='label-angle<?php if(!empty($moduleID)) echo ' with-close';?>'>
|
||||
<?php
|
||||
echo isset($moduleID) ? $moduleName : $this->lang->tree->all;
|
||||
if(!empty($moduleID))
|
||||
|
||||
@@ -4,17 +4,17 @@
|
||||
</div>
|
||||
<div class='nav'>
|
||||
<li>
|
||||
<span>
|
||||
<div class='label-angle <?php echo !empty($moduleID) ? 'with-close' : ''?>'>
|
||||
<?php
|
||||
$this->app->loadLang('tree');
|
||||
echo isset($moduleID) ? $moduleName : $this->lang->tree->all;
|
||||
if(!empty($moduleID))
|
||||
{
|
||||
$removeLink = $browseType == 'bymodule' ? inlink('cases', "taskID=$taskID&browseType=$browseType¶m=0&orderBy=$orderBy&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}") : 'javascript:removeCookieByKey("caseModule")';
|
||||
echo ' ' . html::a($removeLink, "<i class='icon icon-remove'></i>", '', "class='text-muted'") . ' ';
|
||||
$removeLink = $browseType == 'bymodule' ? inlink('cases', "taskID=$taskID&browseType=$browseType¶m=0&orderBy=$orderBy&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}") : 'javascript:removeCookieByKey("taskCaseModule")';
|
||||
echo html::a($removeLink, "<span class='close'>×</span>", '', "class='text-muted'");
|
||||
}
|
||||
echo " <i class='icon-angle-right'></i> ";
|
||||
?>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
<?php
|
||||
$hasCasesPriv = common::hasPriv('testtask', 'cases');
|
||||
|
||||
@@ -108,6 +108,7 @@ class tutorial extends control
|
||||
$target = 'parent';
|
||||
if(($module == 'story' or $module == 'task' or $module == 'bug') and $method == 'create') $target = 'self';
|
||||
if($module == 'project' and $method == 'linkStory') $target = 'self';
|
||||
if($module == 'project' and $method == 'managemembers') $target = 'self';
|
||||
die(js::locate(helper::createLink('tutorial', 'wizard', "module=$module&method=$method¶ms=" . helper::safe64Encode($params)), $target));
|
||||
}
|
||||
die($this->fetch($module, $method, $params));
|
||||
|
||||
@@ -192,6 +192,12 @@ class tutorialModel extends model
|
||||
return array($story->id => $story->title);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get tutorial team members.
|
||||
*
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getTeamMembers()
|
||||
{
|
||||
$member = new stdclass();
|
||||
@@ -206,10 +212,19 @@ class tutorialModel extends model
|
||||
return array($member->account => $member);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get tutorial user pairs.
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getUserPairs()
|
||||
{
|
||||
$users[$this->app->user->account] = $this->app->user->account;
|
||||
$users['test'] = 'Test';
|
||||
$account = $this->app->user->account;
|
||||
|
||||
$users[''] = '';
|
||||
$users[$account] = $account;
|
||||
$users['test'] = 'Test';
|
||||
return $users;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -99,3 +99,4 @@ $lang->upgrade->fromVersions['7_4_beta'] = '7.4.beta';
|
||||
$lang->upgrade->fromVersions['8_0'] = '8.0';
|
||||
$lang->upgrade->fromVersions['8_0_1'] = '8.0.1';
|
||||
$lang->upgrade->fromVersions['8_1'] = '8.1';
|
||||
$lang->upgrade->fromVersions['8_1_3'] = '8.1.3';
|
||||
|
||||
@@ -99,3 +99,4 @@ $lang->upgrade->fromVersions['7_4_beta'] = '7.4.beta';
|
||||
$lang->upgrade->fromVersions['8_0'] = '8.0';
|
||||
$lang->upgrade->fromVersions['8_0_1'] = '8.0.1';
|
||||
$lang->upgrade->fromVersions['8_1'] = '8.1';
|
||||
$lang->upgrade->fromVersions['8_1_3'] = '8.1.3';
|
||||
|
||||
@@ -215,6 +215,7 @@ class upgradeModel extends model
|
||||
case '8_0':
|
||||
case '8_0_1': $confirmContent .= file_get_contents($this->getUpgradeFile('8.0.1'));
|
||||
case '8_1': $confirmContent .= file_get_contents($this->getUpgradeFile('8.1'));
|
||||
case '8_1_3': $confirmContent .= file_get_contents($this->getUpgradeFile('8.1.3'));
|
||||
}
|
||||
return str_replace('zt_', $this->config->db->prefix, $confirmContent);
|
||||
}
|
||||
@@ -855,9 +856,13 @@ class upgradeModel extends model
|
||||
$groups = $this->dao->select('`group`')->from($privTable)->where('`module`')->eq('project')->andWhere('`method`')->eq('index')->fetchPairs('group', 'group');
|
||||
foreach($groups as $group) $this->dao->replace($privTable)->set('module')->eq('project')->set('method')->eq('all')->set('`group`')->eq($group)->exec();
|
||||
|
||||
/* Add kanban priv. */
|
||||
/* Add kanban and tree priv. */
|
||||
$groups = $this->dao->select('`group`')->from($privTable)->where('`module`')->eq('project')->andWhere('`method`')->eq('task')->fetchPairs('group', 'group');
|
||||
foreach($groups as $group) $this->dao->replace($privTable)->set('module')->eq('project')->set('method')->eq('kanban')->set('`group`')->eq($group)->exec();
|
||||
foreach($groups as $group)
|
||||
{
|
||||
$this->dao->replace($privTable)->set('module')->eq('project')->set('method')->eq('kanban')->set('`group`')->eq($group)->exec();
|
||||
$this->dao->replace($privTable)->set('module')->eq('project')->set('method')->eq('tree')->set('`group`')->eq($group)->exec();
|
||||
}
|
||||
|
||||
/* Change manageContacts priv. */
|
||||
$groups = $this->dao->select('`group`')->from($privTable)->where('`module`')->eq('user')->andWhere('`method`')->eq('manageContacts')->fetchPairs('group', 'group');
|
||||
|
||||
Reference in New Issue
Block a user