diff --git a/config/zentaopms.php b/config/zentaopms.php index 63fb73f861..5a1b7010c4 100644 --- a/config/zentaopms.php +++ b/config/zentaopms.php @@ -186,8 +186,6 @@ define('TABLE_REPOHISTORY', '`' . $config->db->prefix . 'repohistory`'); define('TABLE_REPOFILES', '`' . $config->db->prefix . 'repofiles`'); define('TABLE_REPOBRANCH', '`' . $config->db->prefix . 'repobranch`'); if(!defined('TABLE_LANG')) define('TABLE_LANG', '`' . $config->db->prefix . 'lang`'); -if(!defined('TABLE_DESIGN')) define('TABLE_DESIGN', '`' . $config->db->prefix . 'design`'); -if(!defined('TABLE_DESIGNSPEC')) define('TABLE_DESIGNSPEC', '`' . $config->db->prefix . 'designspec`'); if(!defined('TABLE_PROJECTSPEC')) define('TABLE_PROJECTSPEC', '`' . $config->db->prefix . 'projectspec`'); if(!defined('TABLE_SEARCHINDEX')) define('TABLE_SEARCHINDEX', $config->db->prefix . 'searchindex'); @@ -218,7 +216,6 @@ $config->objectTables['module'] = TABLE_MODULE; $config->objectTables['caselib'] = TABLE_TESTSUITE; $config->objectTables['entry'] = TABLE_ENTRY; $config->objectTables['webhook'] = TABLE_WEBHOOK; -$config->objectTables['design'] = TABLE_DESIGN; $config->objectTables['stakeholder'] = TABLE_STAKEHOLDER; $config->objectTables['job'] = TABLE_JOB; diff --git a/db/update15.0.sql b/db/update15.0.sql index 22cb22f4be..3e35881185 100644 --- a/db/update15.0.sql +++ b/db/update15.0.sql @@ -86,40 +86,6 @@ CREATE TABLE IF NOT EXISTS `zt_expect` ( `deleted` enum('0','1') NOT NULL DEFAULT '0' ) ENGINE=MyISAM DEFAULT CHARSET=utf8; --- DROP TABLE IF EXISTS `zt_design`; -CREATE TABLE IF NOT EXISTS `zt_design` ( - `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, - `PRJ` varchar(255) NOT NULL, - `product` varchar(255) NOT NULL, - `commit` text NOT NULL, - `commitedBy` varchar(30) NOT NULL, - `project` mediumint(9) NOT NULL DEFAULT '0', - `name` varchar(255) NOT NULL, - `status` varchar(30) NOT NULL, - `createdBy` varchar(30) NOT NULL, - `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, - `assignedTo` varchar(30) NOT NULL, - `assignedBy` varchar(30) NOT NULL, - `assignedDate` datetime NOT NULL, - `deleted` enum('0','1') NOT NULL DEFAULT '0', - `story` char(30) NOT NULL, - `desc` text NOT NULL, - `version` smallint(6) NOT NULL, - `type` char(30) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; - -CREATE TABLE IF NOT EXISTS `zt_designspec` ( - `design` mediumint(8) NOT NULL, - `version` smallint(6) NOT NULL, - `name` varchar(255) NOT NULL, - `desc` text NOT NULL, - `files` varchar(255) NOT NULL, - UNIQUE KEY `design` (`design`,`version`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; - -- DROP TABLE IF EXISTS `zt_projectspec`; CREATE TABLE IF NOT EXISTS `zt_projectspec` ( `project` mediumint(8) NOT NULL, diff --git a/db/zentao.sql b/db/zentao.sql index 6329d56e44..036c3ab7f7 100644 --- a/db/zentao.sql +++ b/db/zentao.sql @@ -331,39 +331,6 @@ CREATE TABLE IF NOT EXISTS `zt_dept` ( KEY `parent` (`parent`), KEY `path` (`path`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; --- DROP TABLE IF EXISTS `zt_design`; -CREATE TABLE IF NOT EXISTS `zt_design` ( - `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, - `PRJ` varchar(255) NOT NULL, - `product` varchar(255) NOT NULL, - `commit` text NOT NULL, - `commitedBy` varchar(30) NOT NULL, - `project` mediumint(9) NOT NULL DEFAULT '0', - `name` varchar(255) NOT NULL, - `status` varchar(30) NOT NULL, - `createdBy` varchar(30) NOT NULL, - `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, - `assignedTo` varchar(30) NOT NULL, - `assignedBy` varchar(30) NOT NULL, - `assignedDate` datetime NOT NULL, - `deleted` enum('0','1') NOT NULL DEFAULT '0', - `story` char(30) NOT NULL, - `desc` text NOT NULL, - `version` smallint(6) NOT NULL, - `type` char(30) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; --- DROP TABLE IF EXISTS `zt_designspec`; -CREATE TABLE IF NOT EXISTS `zt_designspec` ( - `design` mediumint(8) NOT NULL, - `version` smallint(6) NOT NULL, - `name` varchar(255) NOT NULL, - `desc` text NOT NULL, - `files` varchar(255) NOT NULL, - UNIQUE KEY `design` (`design`,`version`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- DROP TABLE IF EXISTS `zt_doc`; CREATE TABLE IF NOT EXISTS `zt_doc` ( `id` mediumint(8) unsigned NOT NULL auto_increment, diff --git a/framework/base/router.class.php b/framework/base/router.class.php index a9c4c6cd0a..a7d8b1f7d7 100644 --- a/framework/base/router.class.php +++ b/framework/base/router.class.php @@ -846,7 +846,7 @@ class baseRouter session_start(); /* If request header has token, use it as session for authentication. */ - $this->sessionID = $_SERVER['HTTP_TOKEN'] ? session_id($_SERVER['HTTP_TOKEN']) : session_id(); + $this->sessionID = isset($_SERVER['HTTP_TOKEN']) ? session_id($_SERVER['HTTP_TOKEN']) : session_id(); if(isset($_GET[$this->config->sessionVar])) helper::restartSession($_GET[$this->config->sessionVar]); diff --git a/framework/router.class.php b/framework/router.class.php index c2f8aad0cf..aee3096281 100755 --- a/framework/router.class.php +++ b/framework/router.class.php @@ -193,7 +193,7 @@ class router extends baseRouter /* Record system mode. */ $config->systemMode = $mode; - if($config->systemMode == 'old') $this->config->executionCommonList = $this->config->projectCommonList; + if($config->systemMode == 'classic') $this->config->executionCommonList = $this->config->projectCommonList; /* Record hour unit. */ $config->hourUnit = 'H'; diff --git a/module/action/model.php b/module/action/model.php index 7ddda01bbc..6c85085eee 100755 --- a/module/action/model.php +++ b/module/action/model.php @@ -208,7 +208,7 @@ class actionModel extends model */ public function getList($objectType, $objectID) { - if($this->config->systemMode == 'old' and $objectType == 'execution') $objectType = 'project'; + if($this->config->systemMode == 'classic' and $objectType == 'execution') $objectType = 'project'; $commiters = $this->loadModel('user')->getCommiters(); $actions = $this->dao->select('*')->from(TABLE_ACTION) ->beginIF($objectType == 'project') diff --git a/module/caselib/model.php b/module/caselib/model.php index 1398c15317..5a6f46cbc7 100644 --- a/module/caselib/model.php +++ b/module/caselib/model.php @@ -234,7 +234,7 @@ class caselibModel extends model $lib = fixer::input('post') ->stripTags($this->config->caselib->editor->create['id'], $this->config->allowedTags) ->setForce('type', 'library') - ->setIF($this->config->systemMode == 'new', 'PRJ', $this->session->PRJ) + ->setIF($this->config->systemMode == 'new' and $this->lang->navGroup->caselib != 'qa', 'PRJ', $this->session->PRJ) ->add('addedBy', $this->app->user->account) ->add('addedDate', helper::now()) ->remove('uid') @@ -278,7 +278,7 @@ class caselibModel extends model { $cases = $this->dao->select('*')->from(TABLE_CASE) ->where('lib')->eq((int)$libID) - ->beginIF($this->lang->navGroup->caselib != 'qa')->andWhere('PRJ')->eq($this->session->PRJ)->fi() + ->beginIF($this->config->systemMode == 'new' and $this->lang->navGroup->caselib != 'qa')->andWhere('PRJ')->eq($this->session->PRJ)->fi() ->andWhere('product')->eq(0) ->beginIF($moduleIdList)->andWhere('module')->in($moduleIdList)->fi() ->beginIF($browseType == 'wait')->andWhere('status')->eq($browseType)->fi() @@ -315,7 +315,7 @@ class caselibModel extends model $cases = $this->dao->select('*')->from(TABLE_CASE)->where($caseQuery) ->beginIF($queryLibID != 'all')->andWhere('lib')->eq((int)$libID)->fi() - ->beginIF($this->lang->navGroup->caselib != 'qa')->andWhere('PRJ')->eq($this->session->PRJ)->fi() + ->beginIF($this->config->systemMode == 'new' and $this->lang->navGroup->caselib != 'qa')->andWhere('PRJ')->eq($this->session->PRJ)->fi() ->andWhere('product')->eq(0) ->andWhere('deleted')->eq(0) ->orderBy($sort)->page($pager)->fetchAll(); diff --git a/module/common/lang/de.php b/module/common/lang/de.php index 360fa4cc7f..c0b62c9fc3 100644 --- a/module/common/lang/de.php +++ b/module/common/lang/de.php @@ -114,8 +114,6 @@ $lang->future = 'Warte'; $lang->year = 'Jahr'; $lang->workingHour = 'Stunde'; -$lang->generalUR = 'UR/Epic'; -$lang->generalSR = 'SR/Story'; $lang->sprintCommon = $lang->iterationCommon . '/Phase'; $lang->execution = new stdclass(); @@ -650,7 +648,6 @@ $lang->navGroup->review = 'project'; $lang->navGroup->reviewissue = 'project'; $lang->navGroup->milestone = 'project'; $lang->navGroup->pssp = 'project'; -$lang->navGroup->design = 'project'; $lang->navGroup->auditplan = 'project'; $lang->navGroup->cm = 'project'; $lang->navGroup->nc = 'project'; @@ -946,7 +943,6 @@ $lang->waterfall->setMenu = $lang->scrum->setMenu; $lang->waterfallproduct = new stdclass(); $lang->review = new stdclass(); $lang->milestone = new stdclass(); -$lang->design = new stdclass(); $lang->auditplan = new stdclass(); $lang->cm = new stdclass(); $lang->nc = new stdclass(); @@ -956,7 +952,6 @@ $lang->projectstory = new stdclass(); $lang->review->menu = new stdclass(); $lang->milestone->menu = new stdclass(); -$lang->design->menu = new stdclass(); $lang->auditplan->menu = new stdclass(); $lang->cm->menu = new stdclass(); $lang->pssp->menu = new stdclass(); @@ -967,16 +962,9 @@ $lang->projectstory->menu = new stdclass(); $lang->stakeholder->menu->list = array('link' => 'Stakeholder List|stakeholder|browse|', 'alias' => 'create,edit,view,batchcreate'); $lang->stakeholder->menu->issue = array('link' => 'Issue|stakeholder|issue|'); -$lang->design->menu->all = array('link' => 'All|design|browse|productID={PRODUCT}&browseType=all'); -$lang->design->menu->hlds = array('link' => 'HLDS|design|browse|productID={PRODUCT}&browseType=HLDS'); -$lang->design->menu->dds = array('link' => 'DDS|design|browse|productID={PRODUCT}&browseType=DDS'); -$lang->design->menu->dbds = array('link' => 'DBDS|design|browse|productID={PRODUCT}&browseType=DBDS'); -$lang->design->menu->ads = array('link' => 'ADS|design|browse|productID={PRODUCT}&browseType=ADS'); -$lang->design->menu->bysearch = array('link' => ' ' . $lang->searchAB . ''); - $lang->nc->menu = $lang->auditplan->menu; $lang->noMenuModule = array('report', 'my', 'todo', 'effort', 'program', 'product', 'productplan', 'projectbuild', 'projectrelease', 'projectstory', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'custom', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'pssp', 'sms', 'message', 'webhook', 'search', 'score', 'stage'); -if($config->systemMode == 'old') +if($config->systemMode == 'classic') { $lang->noMenuModule[] = 'project'; $lang->noMenuModule[] = 'task'; diff --git a/module/common/lang/en.php b/module/common/lang/en.php index 0fa00044b6..83c54a65fc 100644 --- a/module/common/lang/en.php +++ b/module/common/lang/en.php @@ -114,8 +114,6 @@ $lang->future = 'Waiting'; $lang->year = 'Year'; $lang->workingHour = 'Hours'; -$lang->generalUR = 'UR/Epic'; -$lang->generalSR = 'SR/Story'; $lang->sprintCommon = $lang->iterationCommon . '/Phase'; $lang->execution = new stdclass(); @@ -650,7 +648,6 @@ $lang->navGroup->review = 'project'; $lang->navGroup->reviewissue = 'project'; $lang->navGroup->milestone = 'project'; $lang->navGroup->pssp = 'project'; -$lang->navGroup->design = 'project'; $lang->navGroup->auditplan = 'project'; $lang->navGroup->cm = 'project'; $lang->navGroup->nc = 'project'; @@ -946,7 +943,6 @@ $lang->waterfall->setMenu = $lang->scrum->setMenu; $lang->waterfallproduct = new stdclass(); $lang->review = new stdclass(); $lang->milestone = new stdclass(); -$lang->design = new stdclass(); $lang->auditplan = new stdclass(); $lang->cm = new stdclass(); $lang->nc = new stdclass(); @@ -956,7 +952,6 @@ $lang->projectstory = new stdclass(); $lang->review->menu = new stdclass(); $lang->milestone->menu = new stdclass(); -$lang->design->menu = new stdclass(); $lang->auditplan->menu = new stdclass(); $lang->cm->menu = new stdclass(); $lang->pssp->menu = new stdclass(); @@ -967,16 +962,9 @@ $lang->projectstory->menu = new stdclass(); $lang->stakeholder->menu->list = array('link' => 'Stakeholder List|stakeholder|browse|', 'alias' => 'create,edit,view,batchcreate'); $lang->stakeholder->menu->issue = array('link' => 'Issue|stakeholder|issue|'); -$lang->design->menu->all = array('link' => 'All|design|browse|productID={PRODUCT}&browseType=all'); -$lang->design->menu->hlds = array('link' => 'HLDS|design|browse|productID={PRODUCT}&browseType=HLDS'); -$lang->design->menu->dds = array('link' => 'DDS|design|browse|productID={PRODUCT}&browseType=DDS'); -$lang->design->menu->dbds = array('link' => 'DBDS|design|browse|productID={PRODUCT}&browseType=DBDS'); -$lang->design->menu->ads = array('link' => 'ADS|design|browse|productID={PRODUCT}&browseType=ADS'); -$lang->design->menu->bysearch = array('link' => ' ' . $lang->searchAB . ''); - $lang->nc->menu = $lang->auditplan->menu; $lang->noMenuModule = array('report', 'my', 'todo', 'effort', 'program', 'product', 'productplan', 'projectbuild', 'projectrelease', 'projectstory', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'custom', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'pssp', 'sms', 'message', 'webhook', 'search', 'score', 'stage'); -if($config->systemMode == 'old') +if($config->systemMode == 'classic') { $lang->noMenuModule[] = 'project'; $lang->noMenuModule[] = 'task'; diff --git a/module/common/lang/fr.php b/module/common/lang/fr.php index 9e125c202f..ab2d3ef38b 100644 --- a/module/common/lang/fr.php +++ b/module/common/lang/fr.php @@ -114,8 +114,6 @@ $lang->future = 'En Attente'; $lang->year = 'Année'; $lang->workingHour = 'Heures'; -$lang->generalUR = 'UR/Epic'; -$lang->generalSR = 'SR/Story'; $lang->sprintCommon = $lang->iterationCommon . '/Phase'; $lang->execution = new stdclass(); @@ -650,7 +648,6 @@ $lang->navGroup->review = 'project'; $lang->navGroup->reviewissue = 'project'; $lang->navGroup->milestone = 'project'; $lang->navGroup->pssp = 'project'; -$lang->navGroup->design = 'project'; $lang->navGroup->auditplan = 'project'; $lang->navGroup->cm = 'project'; $lang->navGroup->nc = 'project'; @@ -946,7 +943,6 @@ $lang->waterfall->setMenu = $lang->scrum->setMenu; $lang->waterfallproduct = new stdclass(); $lang->review = new stdclass(); $lang->milestone = new stdclass(); -$lang->design = new stdclass(); $lang->auditplan = new stdclass(); $lang->cm = new stdclass(); $lang->nc = new stdclass(); @@ -956,7 +952,6 @@ $lang->projectstory = new stdclass(); $lang->review->menu = new stdclass(); $lang->milestone->menu = new stdclass(); -$lang->design->menu = new stdclass(); $lang->auditplan->menu = new stdclass(); $lang->cm->menu = new stdclass(); $lang->pssp->menu = new stdclass(); @@ -967,16 +962,9 @@ $lang->projectstory->menu = new stdclass(); $lang->stakeholder->menu->list = array('link' => 'Stakeholder List|stakeholder|browse|', 'alias' => 'create,edit,view,batchcreate'); $lang->stakeholder->menu->issue = array('link' => 'Issue|stakeholder|issue|'); -$lang->design->menu->all = array('link' => 'All|design|browse|productID={PRODUCT}&browseType=all'); -$lang->design->menu->hlds = array('link' => 'HLDS|design|browse|productID={PRODUCT}&browseType=HLDS'); -$lang->design->menu->dds = array('link' => 'DDS|design|browse|productID={PRODUCT}&browseType=DDS'); -$lang->design->menu->dbds = array('link' => 'DBDS|design|browse|productID={PRODUCT}&browseType=DBDS'); -$lang->design->menu->ads = array('link' => 'ADS|design|browse|productID={PRODUCT}&browseType=ADS'); -$lang->design->menu->bysearch = array('link' => ' ' . $lang->searchAB . ''); - $lang->nc->menu = $lang->auditplan->menu; $lang->noMenuModule = array('report', 'my', 'todo', 'effort', 'program', 'product', 'productplan', 'projectbuild', 'projectrelease', 'projectstory', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'custom', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'pssp', 'sms', 'message', 'webhook', 'search', 'score', 'stage'); -if($config->systemMode == 'old') +if($config->systemMode == 'classic') { $lang->noMenuModule[] = 'project'; $lang->noMenuModule[] = 'task'; diff --git a/module/common/lang/menuOrder.php b/module/common/lang/menuOrder.php index 34a78fc754..2c9ab18059 100644 --- a/module/common/lang/menuOrder.php +++ b/module/common/lang/menuOrder.php @@ -10,6 +10,24 @@ $lang->mainNav->menuOrder[60] = 'system'; $lang->mainNav->menuOrder[70] = 'admin'; if($config->systemMode == 'new') $lang->mainNav->menuOrder[10] = 'program'; +/* Waterfall menu order. */ +$lang->waterfall->menuOrder[5] = 'programindex'; +$lang->waterfall->menuOrder[10] = 'programplan'; +$lang->waterfall->menuOrder[15] = 'project'; +$lang->waterfall->menuOrder[20] = 'projectstory'; +$lang->waterfall->menuOrder[25] = 'design'; +$lang->waterfall->menuOrder[30] = 'ci'; +$lang->waterfall->menuOrder[35] = 'track'; +$lang->waterfall->menuOrder[38] = 'review'; +$lang->waterfall->menuOrder[39] = 'cm'; +$lang->waterfall->menuOrder[40] = 'qa'; +$lang->waterfall->menuOrder[45] = 'doc'; +$lang->waterfall->menuOrder[50] = 'projectbuild'; +$lang->waterfall->menuOrder[55] = 'projectrelease'; +$lang->waterfall->menuOrder[60] = 'weekly'; +$lang->waterfall->menuOrder[65] = 'other'; +$lang->waterfall->menuOrder[70] = 'projectsetting'; + /* Sort of main menu. */ $lang->scrum->menuOrder[5] = 'programindex'; $lang->scrum->menuOrder[10] = 'project'; diff --git a/module/common/lang/vi.php b/module/common/lang/vi.php index 94461b5d60..5610bb9788 100644 --- a/module/common/lang/vi.php +++ b/module/common/lang/vi.php @@ -114,8 +114,6 @@ $lang->future = 'Đang đợi'; $lang->year = 'Năm'; $lang->workingHour = 'giờ'; -$lang->generalUR = 'UR/Epic'; -$lang->generalSR = 'SR/Story'; $lang->sprintCommon = $lang->iterationCommon . '/Phase'; $lang->execution = new stdclass(); @@ -650,7 +648,6 @@ $lang->navGroup->review = 'project'; $lang->navGroup->reviewissue = 'project'; $lang->navGroup->milestone = 'project'; $lang->navGroup->pssp = 'project'; -$lang->navGroup->design = 'project'; $lang->navGroup->auditplan = 'project'; $lang->navGroup->cm = 'project'; $lang->navGroup->nc = 'project'; @@ -945,7 +942,6 @@ $lang->waterfall->setMenu = $lang->scrum->setMenu; $lang->waterfallproduct = new stdclass(); $lang->review = new stdclass(); $lang->milestone = new stdclass(); -$lang->design = new stdclass(); $lang->auditplan = new stdclass(); $lang->cm = new stdclass(); $lang->nc = new stdclass(); @@ -955,7 +951,6 @@ $lang->projectstory = new stdclass(); $lang->review->menu = new stdclass(); $lang->milestone->menu = new stdclass(); -$lang->design->menu = new stdclass(); $lang->auditplan->menu = new stdclass(); $lang->cm->menu = new stdclass(); $lang->pssp->menu = new stdclass(); @@ -966,16 +961,9 @@ $lang->projectstory->menu = new stdclass(); $lang->stakeholder->menu->list = array('link' => 'Stakeholder List|stakeholder|browse|', 'alias' => 'create,edit,view,batchcreate'); $lang->stakeholder->menu->issue = array('link' => 'Issue|stakeholder|issue|'); -$lang->design->menu->all = array('link' => 'All|design|browse|productID={PRODUCT}&browseType=all'); -$lang->design->menu->hlds = array('link' => 'HLDS|design|browse|productID={PRODUCT}&browseType=HLDS'); -$lang->design->menu->dds = array('link' => 'DDS|design|browse|productID={PRODUCT}&browseType=DDS'); -$lang->design->menu->dbds = array('link' => 'DBDS|design|browse|productID={PRODUCT}&browseType=DBDS'); -$lang->design->menu->ads = array('link' => 'ADS|design|browse|productID={PRODUCT}&browseType=ADS'); -$lang->design->menu->bysearch = array('link' => ' ' . $lang->searchAB . ''); - $lang->nc->menu = $lang->auditplan->menu; $lang->noMenuModule = array('report', 'my', 'todo', 'effort', 'program', 'product', 'productplan', 'projectbuild', 'projectrelease', 'projectstory', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'custom', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'pssp', 'sms', 'message', 'webhook', 'search', 'score', 'stage'); -if($config->systemMode == 'old') +if($config->systemMode == 'classic') { $lang->noMenuModule[] = 'project'; $lang->noMenuModule[] = 'task'; diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php index 77ce890a28..44cb83090b 100644 --- a/module/common/lang/zh-cn.php +++ b/module/common/lang/zh-cn.php @@ -114,8 +114,6 @@ $lang->future = '未来'; $lang->year = '年'; $lang->workingHour = '工时'; -$lang->generalUR = '用需/史诗'; -$lang->generalSR = '软需/故事'; $lang->sprintCommon = $lang->iterationCommon . '/阶段'; $lang->execution = new stdclass(); @@ -648,7 +646,6 @@ $lang->navGroup->review = 'project'; $lang->navGroup->reviewissue = 'project'; $lang->navGroup->milestone = 'project'; $lang->navGroup->pssp = 'project'; -$lang->navGroup->design = 'project'; $lang->navGroup->auditplan = 'project'; $lang->navGroup->cm = 'project'; $lang->navGroup->nc = 'project'; @@ -944,7 +941,6 @@ $lang->waterfall->setMenu = $lang->scrum->setMenu; $lang->waterfallproduct = new stdclass(); $lang->review = new stdclass(); $lang->milestone = new stdclass(); -$lang->design = new stdclass(); $lang->auditplan = new stdclass(); $lang->cm = new stdclass(); $lang->nc = new stdclass(); @@ -954,7 +950,6 @@ $lang->projectstory = new stdclass(); $lang->review->menu = new stdclass(); $lang->milestone->menu = new stdclass(); -$lang->design->menu = new stdclass(); $lang->auditplan->menu = new stdclass(); $lang->cm->menu = new stdclass(); $lang->pssp->menu = new stdclass(); @@ -965,16 +960,9 @@ $lang->projectstory->menu = new stdclass(); $lang->stakeholder->menu->list = array('link' => '干系人列表|stakeholder|browse|', 'alias' => 'create,edit,view,batchcreate'); $lang->stakeholder->menu->issue = array('link' => '问题管理|stakeholder|issue|'); -$lang->design->menu->all = array('link' => '所有|design|browse|productID={PRODUCT}&browseType=all'); -$lang->design->menu->hlds = array('link' => '概要设计|design|browse|productID={PRODUCT}&browseType=HLDS'); -$lang->design->menu->dds = array('link' => '详细设计|design|browse|productID={PRODUCT}&browseType=DDS'); -$lang->design->menu->dbds = array('link' => '数据库设计|design|browse|productID={PRODUCT}&browseType=DBDS'); -$lang->design->menu->ads = array('link' => '接口设计|design|browse|productID={PRODUCT}&browseType=ADS'); -$lang->design->menu->bysearch = array('link' => ' ' . $lang->searchAB . ''); - $lang->nc->menu = $lang->auditplan->menu; $lang->noMenuModule = array('report', 'my', 'todo', 'effort', 'program', 'product', 'productplan', 'projectbuild', 'projectrelease', 'projectstory', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'custom', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'pssp', 'sms', 'message', 'webhook', 'search', 'score', 'stage'); -if($config->systemMode == 'old') +if($config->systemMode == 'classic') { $lang->noMenuModule[] = 'project'; $lang->noMenuModule[] = 'task'; diff --git a/module/common/lang/zh-tw.php b/module/common/lang/zh-tw.php index 3400801354..4411b9dc2b 100644 --- a/module/common/lang/zh-tw.php +++ b/module/common/lang/zh-tw.php @@ -114,8 +114,6 @@ $lang->future = '未來'; $lang->year = '年'; $lang->workingHour = '工時'; -$lang->generalUR = '用需/史詩'; -$lang->generalSR = '軟需/故事'; $lang->sprintCommon = '迭代/階段'; $lang->execution = new stdclass(); diff --git a/module/common/model.php b/module/common/model.php index 58e3654100..fb9d4e769d 100644 --- a/module/common/model.php +++ b/module/common/model.php @@ -1169,7 +1169,7 @@ EOD; if(strtolower($module) == 'story' and strtolower($method) == 'createcase') ($module = 'testcase') and ($method = 'create'); if(strtolower($module) == 'bug' and strtolower($method) == 'tostory') ($module = 'story') and ($method = 'create'); if(strtolower($module) == 'bug' and strtolower($method) == 'createcase') ($module = 'testcase') and ($method = 'create'); - if($config->systemMode == 'old' and strtolower($module) == 'program' and strpos($method, 'PRJ') === 0) ($module = 'project') and ($method = substr(strtolower($method), 3)); + if($config->systemMode == 'classic' and strtolower($module) == 'program' and strpos($method, 'PRJ') === 0) ($module = 'project') and ($method = substr(strtolower($method), 3)); if(!commonModel::hasPriv($module, $method, $object)) return false; $link = helper::createLink($module, $method, $vars, '', $onlyBody, $programID); diff --git a/module/common/view/header.html.php b/module/common/view/header.html.php index 768502fb3e..4f5b210944 100755 --- a/module/common/view/header.html.php +++ b/module/common/view/header.html.php @@ -24,7 +24,7 @@ $isQa = $rawModule == 'qa'; config->systemMode == 'new'):?> program->switcherMenu) ? $lang->program->switcherMenu : '';?> loadModel('program')->getPRJSwitcher($this->session->PRJ, $app->rawModule, $app->rawMethod);?> - config->systemMode == 'old'):?> + config->systemMode == 'classic'):?> project->switcherMenu) ? $lang->project->switcherMenu : '';;?> diff --git a/module/custom/control.php b/module/custom/control.php index e9507c383e..9ad1379ab2 100644 --- a/module/custom/control.php +++ b/module/custom/control.php @@ -553,7 +553,7 @@ class custom extends control if($mode == 'new') die(js::locate($this->createLink('upgrade', 'mergeTips'), 'parent')); } - $mode = zget($this->config->global, 'mode', 'old'); + $mode = zget($this->config->global, 'mode', 'classic'); if($mode == 'new') { if(isset($this->config->global->upgradeStep) and $this->config->global->upgradeStep == 'mergeProgram') $this->locate($this->createLink('upgrade', 'mergeProgram')); diff --git a/module/custom/view/header.html.php b/module/custom/view/header.html.php index 0b7a3e3da2..b15c85b196 100644 --- a/module/custom/view/header.html.php +++ b/module/custom/view/header.html.php @@ -12,7 +12,7 @@ { common::printLink('custom', $sysObject, "", "{$lang->custom->$sysObject}", '', "class='btn btn-link' id='{$sysObject}Tab'"); } - if((isset($config->systemMode) and $config->systemMode == 'old') || (isset($config->global->upgradeStep) and $config->global->upgradeStep == 'mergeProgram')) + if((isset($config->systemMode) and $config->systemMode == 'classic') || (isset($config->global->upgradeStep) and $config->global->upgradeStep == 'mergeProgram')) { common::printLink('custom', 'mode', "", "{$lang->custom->mode}", '', "class='btn btn-link' id='modeTab'"); } diff --git a/module/datatable/config.php b/module/datatable/config.php index f3a7990592..f5c03eb4d1 100644 --- a/module/datatable/config.php +++ b/module/datatable/config.php @@ -1,5 +1,4 @@ datatable->moduleAlias['product-browse'] = 'story'; -$config->datatable->moduleAlias['projectstory-story'] = 'story'; $config->datatable->moduleAlias['project-task'] = 'task'; $config->datatable->moduleAlias['testtask-cases'] = 'testcase'; diff --git a/module/design/config.php b/module/design/config.php deleted file mode 100644 index 61486c4830..0000000000 --- a/module/design/config.php +++ /dev/null @@ -1,32 +0,0 @@ -design = new stdclass(); -$config->design->editor = new stdclass(); -$config->design->editor->create = array('id' => 'desc', 'tools' => 'simpleTools'); -$config->design->editor->edit = array('id' => 'desc', 'tools' => 'simpleTools'); -$config->design->editor->assignto = array('id' => 'comment', 'tools' => 'simpleTools'); - -$config->design->create = new stdclass(); -$config->design->edit = new stdclass(); -$config->design->create->requiredFields = 'name,type'; -$config->design->edit->requiredFields = 'name,type'; - -$config->design->affectedFixedNum = 7; - -global $lang; -$config->design->search['module'] = 'design'; -$config->design->search['fields']['id'] = $lang->design->id; -$config->design->search['fields']['type'] = $lang->design->type; -$config->design->search['fields']['name'] = $lang->design->name; -$config->design->search['fields']['commit'] = $lang->design->submission; -$config->design->search['fields']['createdBy'] = $lang->design->createdBy; -$config->design->search['fields']['createdDate'] = $lang->design->createdDate; -$config->design->search['fields']['assignedTo'] = $lang->design->assignedTo; -$config->design->search['fields']['story'] = $lang->design->story; - -$config->design->search['params']['type'] = array('operator' => '=', 'control' => 'select', 'values' => $lang->design->typeList); -$config->design->search['params']['name'] = array('operator' => 'include', 'control' => 'input', 'values' => ''); -$config->design->search['params']['commit'] = array('operator' => 'include', 'control' => 'input', 'values' => ''); -$config->design->search['params']['createdBy'] = array('operator' => '=', 'control' => 'select', 'values' => 'users'); -$config->design->search['params']['createdDate'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date'); -$config->design->search['params']['assignedTo'] = array('operator' => '=', 'control' => 'select', 'values' => 'users'); -$config->design->search['params']['story'] = array('operator' => '=', 'control' => 'select', 'values' => ''); diff --git a/module/design/control.php b/module/design/control.php deleted file mode 100644 index ecc5aee1e9..0000000000 --- a/module/design/control.php +++ /dev/null @@ -1,433 +0,0 @@ - - * @package design - * @version $Id: control.php 5107 2020-09-02 09:46:12Z tianshujie@easycorp.ltd $ - * @link http://www.zentao.net - */ -class design extends control -{ - public $products = array(); - - /** - * Construct function, load module auto. - * - * @param string $moduleName - * @param string $methodName - * @access public - * @return void - */ - public function __construct($moduleName = '', $methodName = '') - { - parent::__construct($moduleName, $methodName); - $products = array(); - $this->loadModel('product'); - $this->loadModel('task'); - $this->view->products = $this->products = $this->product->getProductPairsByProject($this->session->PRJ); - } - - /** - * Browse designs. - * - * @param int $productID - * @param string $type all|bySearch|HLDS|DDS|DBDS|ADS - * @param string $param - * @param string $orderBy - * @param int $recTotal - * @param int $recPerPage - * @param int $pageID - * @access public - * @return void - */ - public function browse($productID = 0, $type = 'all', $param = '', $orderBy = 'id_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1) - { - /* Save session for design list and process product id. */ - $this->session->set('designList', $this->app->getURI(true)); - $productKeys = array_keys($this->products); - if(!in_array($productID, $productKeys)) $productID = key($this->products); - $this->design->setProductMenu($productID); - - /* Build the search form. */ - $queryID = ($type == 'bySearch') ? (int)$param : 0; - $actionURL = $this->createLink('design', 'browse', "productID=$productID&type=bySearch&queryID=myQueryID"); - $this->design->buildSearchForm($queryID, $actionURL); - - /* Print top and right actions. */ - $this->lang->TRActions = ''; - - /* Init pager and get designs. */ - $this->app->loadClass('pager', $static = true); - $pager = pager::init(0, $recPerPage, $pageID); - $designs = $this->design->getList($this->session->PRJ, $productID, $type, $queryID, $orderBy, $pager); - - $this->view->title = $this->lang->design->common . $this->lang->colon . $this->lang->design->browse; - $this->view->position[] = $this->lang->design->browse; - - $this->view->designs = $designs; - $this->view->type = $type; - $this->view->param = $param; - $this->view->orderBy = $orderBy; - $this->view->productID = $productID; - $this->view->pager = $pager; - $this->view->users = $this->loadModel('user')->getPairs('noletter'); - - $this->display(); - } - - /** - * Create a design. - * - * @param int $productID - * @access public - * @return void - */ - public function create($productID = 0) - { - if($_POST) - { - $designID = $this->design->create(); - - if(dao::isError()) - { - $response['result'] = 'fail'; - $response['message'] = dao::getError(); - $this->send($response); - } - - $this->loadModel('action')->create('design', $designID, 'created'); - - $response['result'] = 'success'; - $response['message'] = $this->lang->saveSuccess; - $response['locate'] = $this->createLink('design', 'browse', "productID={$this->post->product}"); - $this->send($response); - } - - array_push($this->lang->noMenuModule, 'design'); - $this->design->setProductMenu($productID); - - $this->view->title = $this->lang->design->common . $this->lang->colon . $this->lang->design->create; - $this->view->position[] = $this->lang->design->create; - - $this->view->users = $this->loadModel('user')->getPairs('noclosed'); - $this->view->stories = $this->loadModel('story')->getProductStoryPairs($productID); - $this->view->productID = $productID; - $this->view->project = $this->loadModel('program')->getPRJByID($this->session->PRJ); - - $this->display(); - } - - /** - * Batch create designs. - * - * @param int $productID - * @access public - * @return void - */ - public function batchCreate($productID = 0) - { - if($_POST) - { - $this->design->batchCreate($productID); - - if(dao::isError()) - { - $response['result'] = 'fail'; - $response['message'] = dao::getError(); - $this->send($response); - } - - $response['result'] = 'success'; - $response['message'] = $this->lang->saveSuccess; - $response['locate'] = inlink('browse', "productID=$productID"); - - $this->send($response); - } - $this->design->setProductMenu($productID); - - $this->view->title = $this->lang->design->common . $this->lang->colon . $this->lang->design->batchCreate; - $this->view->position[] = $this->lang->design->batchCreate; - - $this->view->stories = $this->loadModel('story')->getProductStoryPairs($productID); - $this->view->users = $this->loadModel('user')->getPairs('noclosed'); - - $this->display(); - } - - /** - * View a design. - * - * @param int $designID - * @access public - * @return void - */ - public function view($designID = 0) - { - $design = $this->design->getById($designID); - $this->design->setProductMenu($design->product); - - $this->view->title = $this->lang->design->common . $this->lang->colon . $this->lang->design->view; - $this->view->position[] = $this->lang->design->view; - - $this->view->design = $design; - $this->view->stories = $this->loadModel('story')->getProductStoryPairs($design->product); - $this->view->users = $this->loadModel('user')->getPairs('noletter'); - $this->view->actions = $this->loadModel('action')->getList('design', $design->id); - - $this->display(); - } - - /** - * Edit a design. - * - * @param int $designID - * @access public - * @return void - */ - public function edit($designID = 0) - { - $design = $this->design->getByID($designID); - $design = $this->design->getAffectedScope($design); - $this->design->setProductMenu($design->product); - - if($_POST) - { - $changes = $this->design->update($designID); - - if(dao::isError()) - { - $response['result'] = 'fail'; - $response['message'] = dao::getError(); - $this->send($response); - } - - if(!empty($changes)) - { - $actionID = $this->loadModel('action')->create('design', $designID, 'changed'); - $this->action->logHistory($actionID, $changes); - } - - $response['result'] = 'success'; - $response['message'] = $this->lang->saveSuccess; - $response['locate'] = $this->createLink('design', 'view', "id=$design->id"); - $this->send($response); - } - - $this->view->title = $this->lang->design->common . $this->lang->colon . $this->lang->design->edit; - $this->view->position[] = $this->lang->design->edit; - - $this->view->design = $design; - $this->view->project = $this->loadModel('program')->getPRJByID($this->session->PRJ); - $this->view->stories = $this->loadModel('story')->getProductStoryPairs($design->product); - - $this->display(); - } - - /** - * Design link commits. - * - * @param int $designID - * @param int $repoID - * @param string $begin - * @param string $end - * @param int $recTotal - * @param int $recPerPage - * @param int $pageID - * @access public - * @return void - */ - public function linkCommit($designID = 0, $repoID = 0, $begin = '', $end = '', $recTotal = 0, $recPerPage = 50, $pageID = 1) - { - $design = $this->design->getById($designID); - $this->design->setProductMenu($design->product); - - /* Get project and date. */ - $project = $this->loadModel('program')->getPRJByID($this->session->PRJ); - $begin = $begin ? date('Y-m-d', strtotime($begin)) : $project->begin; - $end = $end ? date('Y-m-d', strtotime($end)) : helper::today(); - - /* Get the repository information through the repoID. */ - $repos = $this->loadModel('repo')->getRepoPairs($this->session->PRJ); - $repoID = $repoID ? $repoID : key($repos); - - if(empty($repoID)) die(js::locate(helper::createLink('repo', 'create'))); - - $repo = $this->loadModel('repo')->getRepoByID($repoID); - $revisions = $this->repo->getCommits($repo, '', 'HEAD', '', '', $begin, $end); - - if($_POST) - { - $this->design->linkCommit($designID, $repoID); - - $result['result'] = 'success'; - $result['message'] = $this->lang->saveSuccess; - $result['locate'] = 'parent'; - $this->send($result); - } - - /* Linked submission. */ - $linkedRevisions = array(); - $relations = $this->loadModel('common')->getRelations('design', $designID, 'commit'); - foreach($relations as $relation) $linkedRevisions[$relation->BID] = $relation->BID; - - foreach($revisions as $id => $commit) - { - if(isset($linkedRevisions[$commit->id])) unset($revisions[$id]); - } - - /* Init pager. */ - $this->app->loadClass('pager', $static = true); - $recTotal = count($revisions); - $pager = new pager($recTotal, $recPerPage, $pageID); - $revisions = array_chunk($revisions, $pager->recPerPage); - - $this->view->title = $this->lang->design->common . $this->lang->colon . $this->lang->design->linkCommit; - $this->view->position[] = $this->lang->design->linkCommit; - - $this->view->repos = $repos; - $this->view->repoID = $repoID; - $this->view->repo = $repo; - $this->view->revisions = empty($revisions) ? $revisions : $revisions[$pageID - 1]; - $this->view->designID = $designID; - $this->view->begin = $begin; - $this->view->end = $end; - $this->view->design = $this->design->getByID($designID); - $this->view->pager = $pager; - $this->view->users = $this->loadModel('user')->getPairs('noletter'); - - $this->display(); - } - - /** - * Design unlink commits. - * - * @param int $designID - * @param int $commitID - * @param string $confirm - * @access public - * @return void - */ - public function unlinkCommit($designID = 0, $commitID = 0, $confirm = 'no') - { - if($confirm == 'no') - { - die(js::confirm($this->lang->design->confirmUnlink, inlink('unlinkCommit', "designID=$designID&commitID=$commitID&confirm=yes"))); - } - else - { - $this->design->unlinkCommit($designID, $commitID); - - die(js::reload('parent')); - } - } - - /** - * View a design's commit. - * - * @param int $designID - * @param int $recTotal - * @param int $recPerPage - * @param int $pageID - * @access public - * @return void - */ - public function viewCommit($designID = 0, $recTotal = 0, $recPerPage = 20, $pageID = 1) - { - /* Init pager. */ - $this->app->loadClass('pager', $static = true); - $pager = pager::init(0, $recPerPage, $pageID); - - $this->view->title = $this->lang->design->common . $this->lang->colon . $this->lang->design->submission; - $this->view->position[] = $this->lang->design->submission; - - $this->view->design = $this->design->getCommit($designID, $pager); - $this->view->pager = $pager; - $this->view->users = $this->loadModel('user')->getPairs('noletter'); - - $this->display(); - } - - /** - * A version of the repository. - * - * @param int $repoID - * @access public - * @return void - */ - public function revision($repoID = 0) - { - $repo = $this->dao->select('*')->from(TABLE_REPOHISTORY)->where('id')->eq($repoID)->fetch(); - $repoURL = $this->createLink('repo', 'revision', "repoID=$repo->repo&revistion=$repo->revision"); - header("location:" . $repoURL); - } - - /** - * Delete a design. - * - * @param int $designID - * @param string $confirm - * @access public - * @return void - */ - public function delete($designID = 0, $confirm = 'no') - { - if($confirm == 'no') - { - die(js::confirm($this->lang->design->confirmDelete, inlink('delete', "designID=$designID&confirm=yes"))); - } - else - { - $this->design->delete(TABLE_DESIGN, $designID); - $this->dao->delete()->from(TABLE_RELATION)->where('Atype')->eq('design')->andWhere('AID')->eq($designID)->andWhere('Btype')->eq('commit')->andwhere('relation')->eq('completedin')->exec(); - $this->dao->delete()->from(TABLE_RELATION)->where('Atype')->eq('commit')->andWhere('BID')->eq($designID)->andWhere('Btype')->eq('design')->andwhere('relation')->eq('completedfrom')->exec(); - - die(js::locate($this->session->designList, 'parent')); - } - } - - /** - * Update assign of design. - * - * @param int $designID - * @access public - * @return void - */ - public function assignTo($designID = 0) - { - if($_POST) - { - $changes = $this->design->assign($designID); - if(dao::isError()) die(js::error(dao::getError())); - - $this->loadModel('action'); - if(!empty($changes)) - { - $actionID = $this->action->create('design', $designID, 'Assigned', $this->post->comment, $this->post->assignedTo); - $this->action->logHistory($actionID, $changes); - } - - if(isonlybody()) die(js::closeModal('parent.parent', 'this')); - die(js::locate($this->createLink('design', 'browse'), 'parent')); - } - - $this->view->title = $this->lang->design->common . $this->lang->colon . $this->lang->design->assignedTo; - $this->view->position[] = $this->lang->design->assignedTo; - - $this->view->design = $this->design->getById($designID); - $this->view->users = $this->loadModel('user')->getPairs(); - $this->display(); - } -} diff --git a/module/design/css/browse.css b/module/design/css/browse.css deleted file mode 100644 index b3ee542a8e..0000000000 --- a/module/design/css/browse.css +++ /dev/null @@ -1,3 +0,0 @@ -#featurebar {display:inline-block;} -#querybox #searchform {border-bottom: 1px solid #ddd; margin-bottom: 20px;} -#designTable td {white-space:nowrap; text-overflow:ellipsis; overflow: hidden} diff --git a/module/design/css/edit.css b/module/design/css/edit.css deleted file mode 100644 index 98893529a9..0000000000 --- a/module/design/css/edit.css +++ /dev/null @@ -1 +0,0 @@ -.tabs .tab-pane .table{border: 1px solid #ddd; border-top: none} diff --git a/module/design/css/linkcommit.css b/module/design/css/linkcommit.css deleted file mode 100644 index d1a2a856a5..0000000000 --- a/module/design/css/linkcommit.css +++ /dev/null @@ -1,8 +0,0 @@ -#mainContent {min-height: 350px;} -.searchBox{min-height: 45px;} -.searchBox .srearch-date{float: left; width: 20%} -.searchBox h4{float:left;display: inline-block} -.searchBox span{float:left;line-height:30px} -#logForm .table thead th{background: #efefef} -#begin{margin-right:5px} -#end{margin-left:5px} diff --git a/module/design/js/browse.js b/module/design/js/browse.js deleted file mode 100644 index 67aeb16078..0000000000 --- a/module/design/js/browse.js +++ /dev/null @@ -1,5 +0,0 @@ -$(function() -{ - $('#subNavbar .nav li').removeClass('active'); - $('#subNavbar .nav li[data-id=' + type + ']').addClass('active'); -}) diff --git a/module/design/js/common.js b/module/design/js/common.js deleted file mode 100644 index 228284b775..0000000000 --- a/module/design/js/common.js +++ /dev/null @@ -1,16 +0,0 @@ -$(document).on('click', '.ajaxPager', function() -{ - $('#logBox').load($(this).attr('href')); - return false; -}) -$('#product').change(function() -{ - productID = $(this).val(); - var link = createLink('story', 'ajaxGetProductStories', 'productID=' + productID); - $.post(link, function(data) - { - $('#story').replaceWith(data); - $('#story_chosen').remove(); - $('#story').chosen(); - }) -}) diff --git a/module/design/js/linkcommit.js b/module/design/js/linkcommit.js deleted file mode 100644 index 66527962f7..0000000000 --- a/module/design/js/linkcommit.js +++ /dev/null @@ -1,28 +0,0 @@ -$('#begin, #end, #repo').change(function() -{ - var begin = $('#begin').val(); - var end = $('#end').val(); - var repo = $('#repo').val(); - - if(begin.indexOf('-') != -1) - { - var beginarray = begin.split("-"); - var begin = ''; - for(i = 0; i < beginarray.length; i++) begin = begin + beginarray[i]; - } - if(end.indexOf('-') != -1) - { - var endarray = end.split("-"); - var end = ''; - for(i = 0 ; i < endarray.length ; i++) end = end + endarray[i]; - } - - if(begin > end) - { - alert(errorDate); - location.href = createLink('design', 'linkCommit', "designID=" + designID + '&repoID=' + repo); - die; - } - - location.href = createLink('design', 'linkCommit', "designID=" + designID + '&repoID=' + repo + '&begin=' + begin + '&end=' + end); -}) diff --git a/module/design/lang/de.php b/module/design/lang/de.php deleted file mode 100644 index 27564bc73a..0000000000 --- a/module/design/lang/de.php +++ /dev/null @@ -1,78 +0,0 @@ - - * @package design - * @version $Id: en.php 4729 2020-09-01 07:53:55Z tianshujie@easycorp.ltd $ - * @link http://www.zentao.net - */ -/* 字段列表. */ -$lang->design->id = 'ID'; -$lang->design->name = 'Name'; -$lang->design->story = 'Story'; -$lang->design->type = 'Type'; -$lang->design->ditto = 'Ditto'; -$lang->design->submission = 'Commit'; -$lang->design->version = 'Revision'; -$lang->design->assignedTo = 'AssignedTo'; -$lang->design->actions = 'Actions'; -$lang->design->byQuery = 'Search'; -$lang->design->products = 'Linked Product'; -$lang->design->story = 'Linked Story'; -$lang->design->file = 'File'; -$lang->design->desc = 'Description'; -$lang->design->range = 'Impact'; -$lang->design->product = 'Linked Product'; -$lang->design->basicInfo = 'Basic Information'; -$lang->design->commitBy = 'Commit By'; -$lang->design->commitDate = 'Committed Date'; -$lang->design->affectedStory = "{$lang->SRCommon}"; -$lang->design->affectedTasks = 'Task'; -$lang->design->reviewObject = 'Review Object'; -$lang->design->createdBy = 'CreatedBy'; -$lang->design->createdDate = 'CreatedDate'; -$lang->design->basicInfo = 'Basic Information'; -$lang->design->noAssigned = 'Unassigned'; -$lang->design->comment = 'Comment'; - -/* 动作列表. */ -$lang->design->common = 'Design'; -$lang->design->create = 'Create Design'; -$lang->design->batchCreate = 'Batch Create'; -$lang->design->edit = 'Edit'; -$lang->design->delete = 'Delete'; -$lang->design->view = 'View'; -$lang->design->browse = 'List'; -$lang->design->viewCommit = 'View Commit'; -$lang->design->linkCommit = 'Link Commit'; -$lang->design->unlinkCommit = 'Unlink Commit'; -$lang->design->submit = 'Submit Review'; -$lang->design->assignTo = 'Assign'; -$lang->design->revision = 'Linked Code'; - -/* 字段取值. */ -$lang->design->typeList = array(); -$lang->design->typeList[''] = ''; -$lang->design->typeList['HLDS'] = 'High-Level'; -$lang->design->typeList['DDS'] = 'Detailed'; -$lang->design->typeList['DBDS'] = 'Database'; -$lang->design->typeList['ADS'] = 'API'; - -$lang->design->rangeList = array(); -$lang->design->rangeList['all'] = 'All'; -$lang->design->rangeList['assign'] = 'Selected'; - -$lang->design->featureBar['all'] = 'All'; -$lang->design->featureBar += $lang->design->typeList; - -/* 提示信息. */ -$lang->design->errorSelection = 'No record selected!'; -$lang->design->noDesign = 'No record.'; -$lang->design->noCommit = 'No record commited.'; -$lang->design->confirmDelete = 'Do you want to delete this design?'; -$lang->design->confirmUnlink = 'Are you sure you want to remove this submission?'; -$lang->design->errorDate = 'The start date can not be greater than the end date.'; -$lang->design->deleted = 'Deleted'; diff --git a/module/design/lang/en.php b/module/design/lang/en.php deleted file mode 100644 index 27564bc73a..0000000000 --- a/module/design/lang/en.php +++ /dev/null @@ -1,78 +0,0 @@ - - * @package design - * @version $Id: en.php 4729 2020-09-01 07:53:55Z tianshujie@easycorp.ltd $ - * @link http://www.zentao.net - */ -/* 字段列表. */ -$lang->design->id = 'ID'; -$lang->design->name = 'Name'; -$lang->design->story = 'Story'; -$lang->design->type = 'Type'; -$lang->design->ditto = 'Ditto'; -$lang->design->submission = 'Commit'; -$lang->design->version = 'Revision'; -$lang->design->assignedTo = 'AssignedTo'; -$lang->design->actions = 'Actions'; -$lang->design->byQuery = 'Search'; -$lang->design->products = 'Linked Product'; -$lang->design->story = 'Linked Story'; -$lang->design->file = 'File'; -$lang->design->desc = 'Description'; -$lang->design->range = 'Impact'; -$lang->design->product = 'Linked Product'; -$lang->design->basicInfo = 'Basic Information'; -$lang->design->commitBy = 'Commit By'; -$lang->design->commitDate = 'Committed Date'; -$lang->design->affectedStory = "{$lang->SRCommon}"; -$lang->design->affectedTasks = 'Task'; -$lang->design->reviewObject = 'Review Object'; -$lang->design->createdBy = 'CreatedBy'; -$lang->design->createdDate = 'CreatedDate'; -$lang->design->basicInfo = 'Basic Information'; -$lang->design->noAssigned = 'Unassigned'; -$lang->design->comment = 'Comment'; - -/* 动作列表. */ -$lang->design->common = 'Design'; -$lang->design->create = 'Create Design'; -$lang->design->batchCreate = 'Batch Create'; -$lang->design->edit = 'Edit'; -$lang->design->delete = 'Delete'; -$lang->design->view = 'View'; -$lang->design->browse = 'List'; -$lang->design->viewCommit = 'View Commit'; -$lang->design->linkCommit = 'Link Commit'; -$lang->design->unlinkCommit = 'Unlink Commit'; -$lang->design->submit = 'Submit Review'; -$lang->design->assignTo = 'Assign'; -$lang->design->revision = 'Linked Code'; - -/* 字段取值. */ -$lang->design->typeList = array(); -$lang->design->typeList[''] = ''; -$lang->design->typeList['HLDS'] = 'High-Level'; -$lang->design->typeList['DDS'] = 'Detailed'; -$lang->design->typeList['DBDS'] = 'Database'; -$lang->design->typeList['ADS'] = 'API'; - -$lang->design->rangeList = array(); -$lang->design->rangeList['all'] = 'All'; -$lang->design->rangeList['assign'] = 'Selected'; - -$lang->design->featureBar['all'] = 'All'; -$lang->design->featureBar += $lang->design->typeList; - -/* 提示信息. */ -$lang->design->errorSelection = 'No record selected!'; -$lang->design->noDesign = 'No record.'; -$lang->design->noCommit = 'No record commited.'; -$lang->design->confirmDelete = 'Do you want to delete this design?'; -$lang->design->confirmUnlink = 'Are you sure you want to remove this submission?'; -$lang->design->errorDate = 'The start date can not be greater than the end date.'; -$lang->design->deleted = 'Deleted'; diff --git a/module/design/lang/fr.php b/module/design/lang/fr.php deleted file mode 100644 index 27564bc73a..0000000000 --- a/module/design/lang/fr.php +++ /dev/null @@ -1,78 +0,0 @@ - - * @package design - * @version $Id: en.php 4729 2020-09-01 07:53:55Z tianshujie@easycorp.ltd $ - * @link http://www.zentao.net - */ -/* 字段列表. */ -$lang->design->id = 'ID'; -$lang->design->name = 'Name'; -$lang->design->story = 'Story'; -$lang->design->type = 'Type'; -$lang->design->ditto = 'Ditto'; -$lang->design->submission = 'Commit'; -$lang->design->version = 'Revision'; -$lang->design->assignedTo = 'AssignedTo'; -$lang->design->actions = 'Actions'; -$lang->design->byQuery = 'Search'; -$lang->design->products = 'Linked Product'; -$lang->design->story = 'Linked Story'; -$lang->design->file = 'File'; -$lang->design->desc = 'Description'; -$lang->design->range = 'Impact'; -$lang->design->product = 'Linked Product'; -$lang->design->basicInfo = 'Basic Information'; -$lang->design->commitBy = 'Commit By'; -$lang->design->commitDate = 'Committed Date'; -$lang->design->affectedStory = "{$lang->SRCommon}"; -$lang->design->affectedTasks = 'Task'; -$lang->design->reviewObject = 'Review Object'; -$lang->design->createdBy = 'CreatedBy'; -$lang->design->createdDate = 'CreatedDate'; -$lang->design->basicInfo = 'Basic Information'; -$lang->design->noAssigned = 'Unassigned'; -$lang->design->comment = 'Comment'; - -/* 动作列表. */ -$lang->design->common = 'Design'; -$lang->design->create = 'Create Design'; -$lang->design->batchCreate = 'Batch Create'; -$lang->design->edit = 'Edit'; -$lang->design->delete = 'Delete'; -$lang->design->view = 'View'; -$lang->design->browse = 'List'; -$lang->design->viewCommit = 'View Commit'; -$lang->design->linkCommit = 'Link Commit'; -$lang->design->unlinkCommit = 'Unlink Commit'; -$lang->design->submit = 'Submit Review'; -$lang->design->assignTo = 'Assign'; -$lang->design->revision = 'Linked Code'; - -/* 字段取值. */ -$lang->design->typeList = array(); -$lang->design->typeList[''] = ''; -$lang->design->typeList['HLDS'] = 'High-Level'; -$lang->design->typeList['DDS'] = 'Detailed'; -$lang->design->typeList['DBDS'] = 'Database'; -$lang->design->typeList['ADS'] = 'API'; - -$lang->design->rangeList = array(); -$lang->design->rangeList['all'] = 'All'; -$lang->design->rangeList['assign'] = 'Selected'; - -$lang->design->featureBar['all'] = 'All'; -$lang->design->featureBar += $lang->design->typeList; - -/* 提示信息. */ -$lang->design->errorSelection = 'No record selected!'; -$lang->design->noDesign = 'No record.'; -$lang->design->noCommit = 'No record commited.'; -$lang->design->confirmDelete = 'Do you want to delete this design?'; -$lang->design->confirmUnlink = 'Are you sure you want to remove this submission?'; -$lang->design->errorDate = 'The start date can not be greater than the end date.'; -$lang->design->deleted = 'Deleted'; diff --git a/module/design/lang/vi.php b/module/design/lang/vi.php deleted file mode 100644 index 27564bc73a..0000000000 --- a/module/design/lang/vi.php +++ /dev/null @@ -1,78 +0,0 @@ - - * @package design - * @version $Id: en.php 4729 2020-09-01 07:53:55Z tianshujie@easycorp.ltd $ - * @link http://www.zentao.net - */ -/* 字段列表. */ -$lang->design->id = 'ID'; -$lang->design->name = 'Name'; -$lang->design->story = 'Story'; -$lang->design->type = 'Type'; -$lang->design->ditto = 'Ditto'; -$lang->design->submission = 'Commit'; -$lang->design->version = 'Revision'; -$lang->design->assignedTo = 'AssignedTo'; -$lang->design->actions = 'Actions'; -$lang->design->byQuery = 'Search'; -$lang->design->products = 'Linked Product'; -$lang->design->story = 'Linked Story'; -$lang->design->file = 'File'; -$lang->design->desc = 'Description'; -$lang->design->range = 'Impact'; -$lang->design->product = 'Linked Product'; -$lang->design->basicInfo = 'Basic Information'; -$lang->design->commitBy = 'Commit By'; -$lang->design->commitDate = 'Committed Date'; -$lang->design->affectedStory = "{$lang->SRCommon}"; -$lang->design->affectedTasks = 'Task'; -$lang->design->reviewObject = 'Review Object'; -$lang->design->createdBy = 'CreatedBy'; -$lang->design->createdDate = 'CreatedDate'; -$lang->design->basicInfo = 'Basic Information'; -$lang->design->noAssigned = 'Unassigned'; -$lang->design->comment = 'Comment'; - -/* 动作列表. */ -$lang->design->common = 'Design'; -$lang->design->create = 'Create Design'; -$lang->design->batchCreate = 'Batch Create'; -$lang->design->edit = 'Edit'; -$lang->design->delete = 'Delete'; -$lang->design->view = 'View'; -$lang->design->browse = 'List'; -$lang->design->viewCommit = 'View Commit'; -$lang->design->linkCommit = 'Link Commit'; -$lang->design->unlinkCommit = 'Unlink Commit'; -$lang->design->submit = 'Submit Review'; -$lang->design->assignTo = 'Assign'; -$lang->design->revision = 'Linked Code'; - -/* 字段取值. */ -$lang->design->typeList = array(); -$lang->design->typeList[''] = ''; -$lang->design->typeList['HLDS'] = 'High-Level'; -$lang->design->typeList['DDS'] = 'Detailed'; -$lang->design->typeList['DBDS'] = 'Database'; -$lang->design->typeList['ADS'] = 'API'; - -$lang->design->rangeList = array(); -$lang->design->rangeList['all'] = 'All'; -$lang->design->rangeList['assign'] = 'Selected'; - -$lang->design->featureBar['all'] = 'All'; -$lang->design->featureBar += $lang->design->typeList; - -/* 提示信息. */ -$lang->design->errorSelection = 'No record selected!'; -$lang->design->noDesign = 'No record.'; -$lang->design->noCommit = 'No record commited.'; -$lang->design->confirmDelete = 'Do you want to delete this design?'; -$lang->design->confirmUnlink = 'Are you sure you want to remove this submission?'; -$lang->design->errorDate = 'The start date can not be greater than the end date.'; -$lang->design->deleted = 'Deleted'; diff --git a/module/design/lang/zh-cn.php b/module/design/lang/zh-cn.php deleted file mode 100644 index f09b50f01d..0000000000 --- a/module/design/lang/zh-cn.php +++ /dev/null @@ -1,78 +0,0 @@ - - * @package design - * @version $Id: zh-cn.php 4729 2020-09-01 07:53:55Z tianshujie@easycorp.ltd $ - * @link http://www.zentao.net - */ -/* 字段列表. */ -$lang->design->id = '编号'; -$lang->design->name = '设计名称'; -$lang->design->story = '需求'; -$lang->design->type = '设计类型'; -$lang->design->ditto = '同上'; -$lang->design->submission = '相关提交'; -$lang->design->version = '版本号'; -$lang->design->assignedTo = '指派给'; -$lang->design->actions = '操作'; -$lang->design->byQuery = '搜索'; -$lang->design->products = '所属产品'; -$lang->design->story = '相关需求'; -$lang->design->file = '附件'; -$lang->design->desc = '设计描述'; -$lang->design->range = '影响范围'; -$lang->design->product = '所属产品'; -$lang->design->basicInfo = '基础信息'; -$lang->design->commitBy = '由谁提交'; -$lang->design->commitDate = '提交时间'; -$lang->design->affectedStory = "影响{$lang->SRCommon}"; -$lang->design->affectedTasks = '影响任务'; -$lang->design->reviewObject = '评审对象'; -$lang->design->createdBy = '由谁创建'; -$lang->design->createdDate = '创建时间'; -$lang->design->basicInfo = '基本信息'; -$lang->design->noAssigned = '未指派'; -$lang->design->comment = '注释'; - -/* 动作列表. */ -$lang->design->common = '设计'; -$lang->design->create = '创建设计'; -$lang->design->batchCreate = '批量创建'; -$lang->design->edit = '变更'; -$lang->design->delete = '删除'; -$lang->design->view = '设计概况'; -$lang->design->browse = '浏览列表'; -$lang->design->viewCommit = '查看提交'; -$lang->design->linkCommit = '关联提交'; -$lang->design->unlinkCommit = '取消关联'; -$lang->design->submit = '提交评审'; -$lang->design->assignTo = '指派'; -$lang->design->revision = '查看关联代码'; - -/* 字段取值. */ -$lang->design->typeList = array(); -$lang->design->typeList[''] = ''; -$lang->design->typeList['HLDS'] = '概要设计'; -$lang->design->typeList['DDS'] = '详细设计'; -$lang->design->typeList['DBDS'] = '数据库设计'; -$lang->design->typeList['ADS'] = '接口设计'; - -$lang->design->rangeList = array(); -$lang->design->rangeList['all'] = '全部记录'; -$lang->design->rangeList['assign'] = '选中记录'; - -$lang->design->featureBar['all'] = '所有'; -$lang->design->featureBar += $lang->design->typeList; - -/* 提示信息. */ -$lang->design->errorSelection = '还没有选中记录!'; -$lang->design->noDesign = '暂时没有记录'; -$lang->design->noCommit = '暂时没有提交记录'; -$lang->design->confirmDelete = '您确定要删除这个设计吗?'; -$lang->design->confirmUnlink = '您确定要移除这个提交吗?'; -$lang->design->errorDate = '开始日期不能大于结束日期'; -$lang->design->deleted = '已删除'; diff --git a/module/design/lang/zh-tw.php b/module/design/lang/zh-tw.php deleted file mode 100644 index b5877740ed..0000000000 --- a/module/design/lang/zh-tw.php +++ /dev/null @@ -1,78 +0,0 @@ - - * @package design - * @version $Id: zh-tw.php 4729 2020-09-01 07:53:55Z tianshujie@easycorp.ltd $ - * @link http://www.zentao.net - */ -/* 欄位列表. */ -$lang->design->id = '編號'; -$lang->design->name = '設計名稱'; -$lang->design->story = '需求'; -$lang->design->type = '設計類型'; -$lang->design->ditto = '同上'; -$lang->design->submission = '相關提交'; -$lang->design->version = '版本號'; -$lang->design->assignedTo = '指派給'; -$lang->design->actions = '操作'; -$lang->design->byQuery = '搜索'; -$lang->design->products = '所屬產品'; -$lang->design->story = '相關需求'; -$lang->design->file = '附件'; -$lang->design->desc = '設計描述'; -$lang->design->range = '影響範圍'; -$lang->design->product = '所屬產品'; -$lang->design->basicInfo = '基礎信息'; -$lang->design->commitBy = '由誰提交'; -$lang->design->commitDate = '提交時間'; -$lang->design->affectedStory = "影響{$lang->SRCommon}"; -$lang->design->affectedTasks = '影響任務'; -$lang->design->reviewObject = '評審對象'; -$lang->design->createdBy = '由誰創建'; -$lang->design->createdDate = '創建時間'; -$lang->design->basicInfo = '基本信息'; -$lang->design->noAssigned = '未指派'; -$lang->design->comment = '註釋'; - -/* 動作列表. */ -$lang->design->common = '設計'; -$lang->design->create = '創建設計'; -$lang->design->batchCreate = '批量創建'; -$lang->design->edit = '變更'; -$lang->design->delete = '刪除'; -$lang->design->view = '設計概況'; -$lang->design->browse = '瀏覽列表'; -$lang->design->viewCommit = '查看提交'; -$lang->design->linkCommit = '關聯提交'; -$lang->design->unlinkCommit = '取消關聯'; -$lang->design->submit = '提交評審'; -$lang->design->assignTo = '指派'; -$lang->design->revision = '查看關聯代碼'; - -/* 欄位取值. */ -$lang->design->typeList = array(); -$lang->design->typeList[''] = ''; -$lang->design->typeList['HLDS'] = '概要設計'; -$lang->design->typeList['DDS'] = '詳細設計'; -$lang->design->typeList['DBDS'] = '資料庫設計'; -$lang->design->typeList['ADS'] = '介面設計'; - -$lang->design->rangeList = array(); -$lang->design->rangeList['all'] = '全部記錄'; -$lang->design->rangeList['assign'] = '選中記錄'; - -$lang->design->featureBar['all'] = '所有'; -$lang->design->featureBar += $lang->design->typeList; - -/* 提示信息. */ -$lang->design->errorSelection = '還沒有選中記錄!'; -$lang->design->noDesign = '暫時沒有記錄'; -$lang->design->noCommit = '暫時沒有提交記錄'; -$lang->design->confirmDelete = '您確定要刪除這個設計嗎?'; -$lang->design->confirmUnlink = '您確定要移除這個提交嗎?'; -$lang->design->errorDate = '開始日期不能大於結束日期'; -$lang->design->deleted = '已刪除'; diff --git a/module/design/model.php b/module/design/model.php deleted file mode 100644 index 4d61aeec0b..0000000000 --- a/module/design/model.php +++ /dev/null @@ -1,445 +0,0 @@ - - * @package design - * @version $Id: model.php 5107 2020-09-02 09:46:12Z tianshujie@easycorp.ltd $ - * @link http://www.zentao.net - */ -?> -stripTags('desc', $this->config->allowedTags) - ->add('createdBy', $this->app->user->account) - ->add('createdDate', helper::now()) - ->add('PRJ', $this->session->PRJ) - ->add('version', 1) - ->remove('files,labels') - ->get(); - - $design = $this->loadModel('file')->processImgURL($design, 'desc', $this->post->uid); - $this->dao->insert(TABLE_DESIGN)->data($design) - ->autoCheck() - ->batchCheck($this->config->design->create->requiredFields, 'notempty') - ->exec(); - - if(!dao::isError()) - { - $designID = $this->dao->lastInsertID(); - $this->file->updateObjectID($this->post->uid, $designID, 'design'); - $files = $this->file->saveUpload('design', $designID); - - $spec = new stdclass(); - $spec->design = $designID; - $spec->version = 1; - $spec->name = $design->name; - $spec->desc = $design->desc; - $spec->files = empty($files) ? '' : implode(',', array_keys($files)); - $this->dao->insert(TABLE_DESIGNSPEC)->data($spec)->exec(); - - return $designID; - } - - return false; - } - - /** - * Batch create designs. - * - * @param int $productID - * @access public - * @return bool - */ - public function batchCreate($productID = 0) - { - $data = fixer::input('post')->get(); - - $this->loadModel('action'); - foreach($data->name as $i => $name) - { - if(!trim($name)) continue; - - $design = new stdclass(); - $design->story = isset($data->story[$i]) ? $data->story[$i] : ''; - $design->type = $data->type[$i]; - $design->name = $name; - $design->product = $productID; - $design->PRJ = $this->session->PRJ; - $design->createdBy = $this->app->user->account; - $design->createdDate = helper::now(); - - $this->dao->insert(TABLE_DESIGN)->data($design)->autoCheck()->batchCheck($this->config->design->create->requiredFields, 'notempty')->exec(); - - $designID = $this->dao->lastInsertID(); - $this->action->create('design', $designID, 'Opened'); - } - - return true; - } - - /** - * Update a design. - * - * @param int $designID - * @access public - * @return bool - */ - public function update($designID = 0) - { - $oldDesign = $this->getByID($designID); - $design = fixer::input('post') - ->add('editedBy', $this->app->user->account) - ->add('editedDate', helper::now()) - ->stripTags($this->config->design->editor->edit['id'], $this->config->allowedTags) - ->remove('file,files,labels,children,toList') - ->get(); - - $design = $this->loadModel('file')->processImgURL($design, 'desc', $this->post->uid); - $this->dao->update(TABLE_DESIGN)->data($design)->autoCheck()->batchCheck('name,type', 'notempty')->where('id')->eq($designID)->exec(); - - if(!dao::isError()) - { - $this->file->updateObjectID($this->post->uid, $designID, 'design'); - $files = $this->file->saveUpload('design', $designID); - $designChanged = ($oldDesign->name != $design->name || $oldDesign->desc != $design->desc || !empty($files)); - - if($designChanged) - { - $design = $this->getByID($designID); - $version = $design->version + 1; - $spec = new stdclass(); - $spec->design = $designID; - $spec->version = $version; - $spec->name = $design->name; - $spec->desc = $design->desc; - $spec->files = empty($files) ? '' : implode(',', array_keys($files)); - $this->dao->insert(TABLE_DESIGNSPEC)->data($spec)->exec(); - - $this->dao->update(TABLE_DESIGN)->set('version')->eq($version)->where('id')->eq($designID)->exec(); - } - - return common::createChanges($oldDesign, $design); - } - - return false; - } - - /** - * Assign a design. - * - * @param int $designID - * @access public - * @return array|bool - */ - public function assign($designID = 0) - { - $oldDesign = $this->getByID($designID); - - $design = fixer::input('post') - ->add('editedBy', $this->app->user->account) - ->add('editedDate', helper::today()) - ->setDefault('assignedDate', helper::today()) - ->stripTags($this->config->design->editor->assignto['id'], $this->config->allowedTags) - ->remove('uid,comment,files,label') - ->get(); - - $this->dao->update(TABLE_DESIGN)->data($design)->autoCheck()->where('id')->eq((int)$designID)->exec(); - - if(!dao::isError()) return common::createChanges($oldDesign, $design); - return false; - } - - /** - * LinkCommit a design. - * - * @param int $designID - * @param int $repoID - * @access public - * @return void - */ - public function linkCommit($designID = 0, $repoID = 0) - { - $revisions = $_POST['revision']; - - foreach($revisions as $revision) - { - $data = new stdclass(); - $data->PRJ = $this->session->PRJ; - $data->product = $this->session->product; - $data->AType = 'design'; - $data->AID = $designID; - $data->BType = 'commit'; - $data->BID = $revision; - $data->relation = 'completedin'; - $data->extra = $repoID; - - $this->dao->replace(TABLE_RELATION)->data($data)->autoCheck()->exec(); - - $data->AType = 'commit'; - $data->AID = $revision; - $data->BType = 'design'; - $data->BID = $designID; - $data->relation = 'completedfrom'; - - $this->dao->replace(TABLE_RELATION)->data($data)->autoCheck()->exec(); - } - - $oldCommit = $this->dao->findByID($designID)->from(TABLE_DESIGN)->fetch('commit'); - $revisions = join(',', $revisions); - $commit = $oldCommit ? $oldCommit . ',' . $revisions : $revisions; - - $design = new stdclass(); - $design->commit = $commit; - $design->commitedBy = $this->app->user->account; - $this->dao->update(TABLE_DESIGN)->data($design)->autoCheck()->where('id')->eq($designID)->exec(); - } - - /** - * Unlink commit. - * - * @param int $designID - * @param int $commitID - * @access public - * @return void - */ - public function unlinkCommit($designID = 0, $commitID = 0) - { - /* Delete data in the zt_relation.*/ - $this->dao->delete()->from(TABLE_RELATION)->where('AType')->eq('design')->andwhere('AID')->eq($designID)->andwhere('BType')->eq('commit')->andwhere('relation')->eq('completedin')->andWhere('BID')->eq($commitID)->exec(); - $this->dao->delete()->from(TABLE_RELATION)->where('AType')->eq('commit')->andwhere('BID')->eq($designID)->andwhere('BType')->eq('design')->andwhere('relation')->eq('completedfrom')->andWhere('AID')->eq($commitID)->exec(); - - /* Commit after unlinking. */ - $commit = $this->dao->select('BID')->from(TABLE_RELATION)->where('AType')->eq('design')->andWhere('AID')->eq($designID)->andWhere('BType')->eq('commit')->andwhere('relation')->eq('completedin')->fetchAll('BID'); - $commit = implode(",", array_keys($commit)); - - $this->dao->update(TABLE_DESIGN)->set('commit')->eq($commit)->where('id')->eq($designID)->exec(); - } - - /** - * Get a design by id. - * - * @param int $designID - * @access public - * @return object - */ - public function getByID($designID = 0) - { - $design = $this->dao->select('*')->from(TABLE_DESIGN)->where('id')->eq($designID)->fetch(); - $design->files = $this->loadModel('file')->getByObject('design', $designID); - $design->productName = $this->dao->findByID($design->product)->from(TABLE_PRODUCT)->fetch('name'); - - - $design->commit = ''; - $relations = $this->loadModel('common')->getRelations('design', $designID, 'commit'); - foreach($relations as $relation) $design->commit .= html::a(helper::createLink('design', 'revision', "repoID=$relation->BID"), "#$relation->BID", '_blank'); - - return $this->loadModel('file')->replaceImgURL($design, 'desc'); - } - - /** - * Get design pairs. - * - * @param int $productID - * @param string $type all|HLDS|DDS|DBDS|ADS - * @access public - * @return object - */ - public function getPairs($productID = 0, $type = 'all') - { - $designs = $this->dao->select('id, name')->from(TABLE_DESIGN) - ->where('product')->eq($productID) - ->andWhere('deleted')->eq(0) - ->andWhere('type')->eq($type) - ->fetchPairs(); - foreach($designs as $id => $name) $designs[$id] = $id . ':' . $name; - - return $designs; - } - - /** - * Get affected scope. - * - * @param int $design - * @access public - * @return object - */ - public function getAffectedScope($design = 0) - { - /* Get affected tasks. */ - $design->tasks = $this->dao->select('*')->from(TABLE_TASK) - ->where('deleted')->eq(0) - ->andWhere('status')->ne('closed') - ->andWhere('design')->eq($design->id) - ->orderBy('id desc')->fetchAll(); - - return $design; - } - - /** - * Get design list. - * - * @param int $productID - * @param int $projectID - * @param string $type all|bySearch|HLDS|DDS|DBDS|ADS - * @param int $param - * @param string $orderBy - * @param int $pager - * @access public - * @return array - */ - public function getList($projectID = 0, $productID = 0, $type = 'all', $param = 0, $orderBy = 'id_desc', $pager = null) - { - if($type == 'bySearch') - { - $designs = $this->getBySearch($projectID, $productID, $param, $orderBy, $pager); - } - else - { - $designs = $this->dao->select('*')->from(TABLE_DESIGN) - ->where('deleted')->eq(0) - ->beginIF($projectID)->andWhere('PRJ')->eq($projectID)->fi() - ->beginIF($type != 'all')->andWhere('type')->in($type)->fi() - ->andWhere('product')->eq($productID) - ->orderBy($orderBy) - ->page($pager) - ->fetchAll('id'); - } - - return $designs; - } - - /** - * Get commit. - * - * @param int $designID - * @param int $pager - * @access public - * @return object - */ - public function getCommit($designID = 0, $pager = null) - { - $design = $this->dao->select('*')->from(TABLE_DESIGN)->where('id')->eq($designID)->fetch(); - - $design->commit = $this->dao->select('*')->from(TABLE_REPOHISTORY)->where('id')->in($design->commit)->page($pager)->fetchAll('id'); - - return $design; - } - - /** - * Get designs by search. - * - * @param int $projectID - * @param int $productID - * @param int $queryID - * @param string $orderBy - * @param int $pager - * @access public - * @return object - */ - public function getBySearch($projectID = 0, $productID = 0, $queryID = 0, $orderBy = 'id_desc', $pager = null) - { - if($queryID) - { - $query = $this->loadModel('search')->getQuery($queryID); - if($query) - { - $this->session->set('designQuery', $query->sql); - $this->session->set('designForm', $query->form); - } - else - { - $this->session->set('designQuery', ' 1 = 1'); - } - } - else - { - if($this->session->designQuery == false) $this->session->set('designQuery', ' 1 = 1'); - } - - $designQuery = $this->session->designQuery; - - $designs = $this->dao->select('*')->from(TABLE_DESIGN) - ->where($designQuery) - ->andWhere('deleted')->eq('0') - ->andWhere('PRJ')->eq($projectID) - ->andWhere('product')->eq($productID) - ->orderBy($orderBy) - ->page($pager) - ->fetchAll('id'); - - return $designs; - } - - /** - * Set product menu. - * - * @param int $productID - * @access public - * @return void - */ - public function setProductMenu($productID = 0) - { - $products = $this->loadModel('product')->getPairs(); - $productID = in_array($productID, array_keys($products)) ? $productID : key($products); - - $productID = $this->loadModel('product')->saveState($productID, $products); - $this->loadModel('product')->setMenu($products, $productID); - } - - /** - * Build search form. - * - * @param int $queryID - * @param string $actionURL - * @access public - * @return void - */ - public function buildSearchForm($queryID = 0, $actionURL = '') - { - $this->config->design->search['actionURL'] = $actionURL; - $this->config->design->search['queryID'] = $queryID; - - $this->loadModel('search')->setSearchParams($this->config->design->search); - } - - /** - * Print assignedTo html. - * - * @param object $design - * @param array $users - * @access public - * @return string - */ - public function printAssignedHtml($design = '', $users = '') - { - $btnTextClass = ''; - $assignedToText = zget($users, $design->assignedTo); - - if(empty($design->assignedTo)) - { - $btnTextClass = 'text-primary'; - $assignedToText = $this->lang->design->noAssigned; - } - if($design->assignedTo == $this->app->user->account) $btnTextClass = 'text-red'; - - $btnClass = $design->assignedTo == 'closed' ? ' disabled' : ''; - $btnClass = "iframe btn btn-icon-left btn-sm {$btnClass}"; - $assignToLink = helper::createLink('design', 'assignTo', "designID=$design->id", '', true); - $assignToHtml = html::a($assignToLink, " {$assignedToText}", '', "class='$btnClass'"); - - echo !common::hasPriv('design', 'assignTo', $design) ? "{$assignedToText}" : $assignToHtml; - } -} diff --git a/module/design/view/assignto.html.php b/module/design/view/assignto.html.php deleted file mode 100644 index aa68967212..0000000000 --- a/module/design/view/assignto.html.php +++ /dev/null @@ -1,40 +0,0 @@ - - * @package design - * @version $Id: assignto.html.php 4903 2020-09-02 09:32:59Z tianshujie@easycorp.ltd $ - * @link http://www.zentao.net - */ -?> - - -
-
-

- id;?> - name'>" . $design->name . '';?> -

-
-
- - - - - - - - - - - - - - -
design->assignedTo;?>assignedTo, "class='form-control chosen'");?>
comment;?>
-
-
- diff --git a/module/design/view/batchcreate.html.php b/module/design/view/batchcreate.html.php deleted file mode 100644 index 283f3286c5..0000000000 --- a/module/design/view/batchcreate.html.php +++ /dev/null @@ -1,44 +0,0 @@ - - * @package design - * @version $Id: batchcreate.html.php 4903 2020-09-02 09:32:59Z tianshujie@easycorp.ltd $ - * @link http://www.zentao.net - */ -?> - -
-

design->batchCreate;?>

-
- - - - - - - - - - - - - - - - - - - - - - -
design->id;?>design->story;?>design->type;?>design->name;?>
design->typeList, '', "class='form-control chosen'");?>
- -
-
-
- diff --git a/module/design/view/browse.html.php b/module/design/view/browse.html.php deleted file mode 100644 index a72248ac6a..0000000000 --- a/module/design/view/browse.html.php +++ /dev/null @@ -1,64 +0,0 @@ - - * @package design - * @version $Id: browse.html.php 5102 2020-09-03 10:59:54Z tianshujie@easycorp.ltd $ - * @link http://www.zentao.net - */ -?> - - - -
-
- -
-

design->noDesign;?>

-
- -
- - recTotal}&recPerPage={$pager->recPerPage}";?> - - - - - - - - - - - - - - - - - - - - - - - - -
design->id);?> design->type);?> design->name);?> design->createdBy);?> design->createdDate);?>design->assignedTo);?> design->actions;?>
id);?> design->typeList, $design->type);?>createLink('design', 'view', "id={$design->id}"), $design->name);?> createdBy);?>createdDate, 0, 11);?> design->printAssignedHtml($design, $users);?> - id}"; - common::printIcon('design', 'edit', $vars, $design, 'list', 'fork', '', '', '', '', '', $design->PRJ); - common::printIcon('design', 'viewCommit', $vars, $design, 'list', 'list-alt', '', 'iframe showinonlybody', true); - common::printIcon('design', 'delete', $vars, $design, 'list', 'trash', 'hiddenwin', '', '', '', '', $design->PRJ); - ?> -
- -
- -
- diff --git a/module/design/view/create.html.php b/module/design/view/create.html.php deleted file mode 100644 index 258cfb5dfa..0000000000 --- a/module/design/view/create.html.php +++ /dev/null @@ -1,62 +0,0 @@ - - * @package design - * @version $Id: create.html.php 4903 2020-09-02 09:32:59Z tianshujie@easycorp.ltd $ - * @link http://www.zentao.net - */ -?> - - -
-
-
-

design->create;?>

-
-
- - - product == 'multiple'):?> - - - - - - - product == 'single') echo html::hidden('product', $productID);?> - - - - - - - - - - - - - - - - - - - - - - - - - - - -
design->product;?>
design->story;?>
design->type;?>design->typeList, '', "class='form-control chosen'");?>
design->name;?>
design->desc;?>
design->file;?>fetch('file', 'buildform', 'fileCount=1&percent=0.85');?>
-
-
-
- diff --git a/module/design/view/edit.html.php b/module/design/view/edit.html.php deleted file mode 100644 index 867f7656ec..0000000000 --- a/module/design/view/edit.html.php +++ /dev/null @@ -1,99 +0,0 @@ - - * @package design - * @version $Id: edit.html.php 4903 2020-09-02 09:32:59Z tianshujie@easycorp.ltd $ - * @link http://www.zentao.net - */ -?> - - -
-
-
-

design->edit;?>

-
-
- - - product == 'multiple'):?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
design->product;?>product, "class='form-control chosen'");?>
design->story;?>story, "class='form-control chosen'");?>
design->type;?>design->typeList, $design->type, "class='form-control chosen'");?>
design->name;?>name, "class='form-control'");?>
design->desc;?>desc, 'class="form-control"');?>
design->file;?>fetch('file', 'buildform', 'fileCount=1&percent=0.85');?>
story->checkAffection;?> -
- -
-
- - - - - - - - - - - - - tasks as $task):?> - - - ; - - - - - - - -
task->id;?> task->name;?> task->assignedTo;?>task->status;?> task->consumed;?> task->left;?>
id?>createLink('task', 'view', "taskID=$task->id"), $task->name, '_blank');?>assignedTo);?>processStatus('task', $task);?>consumed;?>left;?>
-
-
-
-
-
-
-
- diff --git a/module/design/view/linkcommit.html.php b/module/design/view/linkcommit.html.php deleted file mode 100644 index c318513078..0000000000 --- a/module/design/view/linkcommit.html.php +++ /dev/null @@ -1,88 +0,0 @@ - - * @package design - * @version $Id: linkcommit.html.php 4903 2020-09-02 09:32:59Z tianshujie@easycorp.ltd $ - * @link http://www.zentao.net - */ -?> - -
-
-

- id;?> - name?> - arrow . $lang->design->linkCommit;?> -

-
- -
-

design->noCommit;?>

-
- - -
method='post'> - - - - - - SCM) and $repo->SCM == 'Git'):?> - - - - - - - - - - - - - SCM == 'Git'):?> - - - - - comment, ENT_QUOTES);?> - - - - -
repo->revisionA?>repo->commit?>repo->time?>repo->committer?>repo->comment?>
-
- - -
-
repo->createLink('revision', "repoID=$repoID&revision={$log->revision}"), $repo->SCM == 'Git' ? substr($log->revision, 0, 10) : $log->revision);?>commit?>time, 0, 10);?>committer, $log->committer);?>comment?>
- -
- -
- -design->errorDate);?> - diff --git a/module/design/view/view.html.php b/module/design/view/view.html.php deleted file mode 100644 index 06ba48d76a..0000000000 --- a/module/design/view/view.html.php +++ /dev/null @@ -1,91 +0,0 @@ - - * @package design - * @version $Id: view.html.php 4903 2020-09-02 09:32:59Z tianshujie@easycorp.ltd $ - * @link http://www.zentao.net - */ -?> - - -
-
-
-
-
design->desc;?>
-
- desc;?> -
-
- fetch('file', 'printFiles', array('files' => $design->files, 'fieldset' => 'true'));?> -
-
-
-
- session->designList);?> -
";?> - deleted):?> - id", $design, 'button', '', '', 'iframe showinonlybody', true); - common::printIcon('design', 'linkCommit', "designID=$design->id", $design, 'button', 'link', '', 'iframe showinonlybody', true); - common::printIcon('design', 'edit', "designID=$design->id", $design, 'button', 'fork'); - common::printIcon('design', 'delete', "designID=$design->id", $design, 'button', 'trash', 'hiddenwin'); - ?> - -
-
-
-
-
-
-
design->basicInfo;?>
-
- - - - - - - - - - - - - - - - - - - - - - - - - -
design->type;?>design->typeList, $design->type);?>
design->product;?>productName;?>
design->story;?>story ? html::a($this->createLink('story', 'view', "id=$design->story"), zget($stories, $design->story)) : '';?>
design->submission;?>commit;?>
design->createdBy;?>createdBy);?>
design->createdDate;?>createdDate, 0, 11);?>
-
-
-
-
- - diff --git a/module/design/view/viewcommit.html.php b/module/design/view/viewcommit.html.php deleted file mode 100644 index 883dcd88b5..0000000000 --- a/module/design/view/viewcommit.html.php +++ /dev/null @@ -1,63 +0,0 @@ - - * @package design - * @version $Id: viewcommit.html.php 4903 2020-09-02 09:32:59Z tianshujie@easycorp.ltd $ - * @link http://www.zentao.net - */ -?> - - -
-
-

- id;?> - name?> - arrow . $lang->design->submission;?> -

-
-
- id", "" . $lang->design->linkCommit, '_blank', "class='btn btn-primary'");?> -
- commit)):?> -
-

design->noCommit;?>

-
- - - - - - - - - - - - - commit as $commit):?> - - - - - - - - - -
design->submission;?>design->commitBy;?>design->commitDate;?>design->comment;?> design->actions;?>
id"), "#$commit->id", '_blank');?>committer, $commit->committer);?>time, 0, 11);?>comment;?> - id&commitID=$commit->id", $design, 'list', 'unlink', 'hiddenwin', 'iframe showinonlybody', true);?> -
- - -
- diff --git a/module/doc/control.php b/module/doc/control.php index 78c93a92d5..d8ce9663f7 100644 --- a/module/doc/control.php +++ b/module/doc/control.php @@ -125,7 +125,7 @@ class doc extends control $this->lang->navGroup->doc = 'project'; $this->lang->doc->menu = $this->lang->project->menu; $this->lang->doc->menuOrder = $this->lang->project->menuOrder; - if($this->config->systemMode == 'old') $this->lang->noMenuModule[] = 'doc'; + if($this->config->systemMode == 'classic') $this->lang->noMenuModule[] = 'doc'; $this->project->setMenu($this->project->getExecutionsByProject($this->session->PRJ, 'all', 0, true), $lib->project); $this->lang->set('menugroup.doc', 'project'); } @@ -362,7 +362,7 @@ class doc extends control $this->lang->navGroup->doc = 'project'; $this->lang->doc->menu = $this->lang->project->menu; $this->lang->doc->menuOrder = $this->lang->project->menuOrder; - if($this->config->systemMode == 'old') $this->lang->noMenuModule[] = 'doc'; + if($this->config->systemMode == 'classic') $this->lang->noMenuModule[] = 'doc'; $this->project->setMenu($this->project->getExecutionsByProject($this->session->PRJ, 'all', 0, true), $lib->project); $this->lang->set('menugroup.doc', 'project'); @@ -449,7 +449,7 @@ class doc extends control $this->lang->navGroup->doc = 'project'; $this->lang->doc->menu = $this->lang->project->menu; $this->lang->doc->menuOrder = $this->lang->project->menuOrder; - if($this->config->systemMode == 'old') $this->lang->noMenuModule[] = 'doc'; + if($this->config->systemMode == 'classic') $this->lang->noMenuModule[] = 'doc'; $this->project->setMenu($this->project->getExecutionsByProject($this->session->PRJ, 'all', 0, true), $objectID); $this->lang->set('menugroup.doc', 'project'); } @@ -515,7 +515,7 @@ class doc extends control $this->lang->navGroup->doc = 'project'; $this->lang->doc->menu = $this->lang->project->menu; $this->lang->doc->menuOrder = $this->lang->project->menuOrder; - if($this->config->systemMode == 'old') $this->lang->noMenuModule[] = 'doc'; + if($this->config->systemMode == 'classic') $this->lang->noMenuModule[] = 'doc'; $this->project->setMenu($this->project->getExecutionsByProject($this->session->PRJ, 'all', 0, true), $objectID); $this->lang->set('menugroup.doc', 'project'); } @@ -845,7 +845,7 @@ class doc extends control $this->lang->navGroup->doc = 'project'; $this->lang->doc->menu = $this->lang->project->menu; $this->lang->doc->menuOrder = $this->lang->project->menuOrder; - if($this->config->systemMode == 'old') $this->lang->noMenuModule[] = 'doc'; + if($this->config->systemMode == 'classic') $this->lang->noMenuModule[] = 'doc'; $this->project->setMenu($this->project->getExecutionsByProject($this->session->PRJ, 'all', 0, true), $objectID); $this->lang->set('menugroup.doc', 'project'); } @@ -945,7 +945,7 @@ class doc extends control $this->lang->navGroup->doc = 'project'; $this->lang->doc->menu = $this->lang->project->menu; $this->lang->doc->menuOrder = $this->lang->project->menuOrder; - if($this->config->systemMode == 'old') $this->lang->noMenuModule[] = 'doc'; + if($this->config->systemMode == 'classic') $this->lang->noMenuModule[] = 'doc'; $this->project->setMenu($this->project->getExecutionsByProject($this->session->PRJ, 'all', 0, true), $objectID); $this->lang->set('menugroup.doc', 'project'); } diff --git a/module/group/control.php b/module/group/control.php index b37da3bf52..3059ff31cc 100644 --- a/module/group/control.php +++ b/module/group/control.php @@ -183,7 +183,7 @@ class group extends control $group = $this->group->getById($groupID); $groupPrivs = $this->group->getPrivs($groupID); - if($this->config->systemMode == 'old') + if($this->config->systemMode == 'classic') { if(isset($groupPrivs['program']['prjbrowse'])) { diff --git a/module/group/lang/resource.php b/module/group/lang/resource.php index 58b3c97e16..05c1a62f35 100644 --- a/module/group/lang/resource.php +++ b/module/group/lang/resource.php @@ -60,7 +60,6 @@ $lang->moduleOrder[190] = 'backup'; $lang->moduleOrder[195] = 'cron'; $lang->moduleOrder[200] = 'dev'; $lang->moduleOrder[205] = 'message'; -$lang->moduleOrder[210] = 'design'; $lang->resource = new stdclass(); @@ -571,10 +570,10 @@ $lang->resource->project->storySort = 'storySort'; $lang->resource->project->whitelist = 'whitelist'; $lang->resource->project->addWhitelist = 'addWhitelist'; $lang->resource->project->unbindWhielist = 'unbindWhielist'; -if($config->systemMode == 'old') $lang->resource->project->list = 'list'; +if($config->systemMode == 'classic') $lang->resource->project->list = 'list'; $lang->project->methodOrder[0] = 'index'; -if($config->systemMode == 'old') $lang->project->methodOrder[1] = 'list'; +if($config->systemMode == 'classic') $lang->project->methodOrder[1] = 'list'; $lang->project->methodOrder[5] = 'view'; $lang->project->methodOrder[10] = 'browse'; $lang->project->methodOrder[15] = 'create'; @@ -624,32 +623,6 @@ $lang->project->methodOrder[230] = 'whitelist'; $lang->project->methodOrder[235] = 'addWhitelist'; $lang->project->methodOrder[240] = 'unbindWhielist'; -/* Design. */ -$lang->resource->design = new stdclass(); -$lang->resource->design->browse = 'browse'; -$lang->resource->design->view = 'view'; -$lang->resource->design->create = 'create'; -$lang->resource->design->batchCreate = 'batchCreate'; -$lang->resource->design->edit = 'edit'; -$lang->resource->design->assignTo = 'assignTo'; -$lang->resource->design->delete = 'delete'; -$lang->resource->design->linkCommit = 'linkCommit'; -$lang->resource->design->viewCommit = 'viewCommit'; -$lang->resource->design->unlinkCommit = 'unlinkCommit'; -$lang->resource->design->revision = 'revision'; - -$lang->design->methodOrder[5] = 'browse'; -$lang->design->methodOrder[10] = 'view'; -$lang->design->methodOrder[15] = 'create'; -$lang->design->methodOrder[20] = 'batchCreate'; -$lang->design->methodOrder[25] = 'edit'; -$lang->design->methodOrder[30] = 'assignTo'; -$lang->design->methodOrder[35] = 'delete'; -$lang->design->methodOrder[40] = 'linkCommit'; -$lang->design->methodOrder[45] = 'viewCommit'; -$lang->design->methodOrder[50] = 'unlinkCommit'; -$lang->design->methodOrder[55] = 'revision'; - /* Task. */ $lang->resource->task = new stdclass(); $lang->resource->task->create = 'create'; diff --git a/module/group/model.php b/module/group/model.php index 2c2f8a130b..5bcfbfacb3 100644 --- a/module/group/model.php +++ b/module/group/model.php @@ -332,7 +332,7 @@ class groupModel extends model } } - if($this->config->systemMode == 'old') + if($this->config->systemMode == 'classic') { $prjBrowse = $this->dao->select('module')->from(TABLE_GROUPPRIV) ->where('module')->eq('program') diff --git a/module/personnel/control.php b/module/personnel/control.php index b055adbac7..77a3daea9c 100644 --- a/module/personnel/control.php +++ b/module/personnel/control.php @@ -157,8 +157,8 @@ class personnel extends control if(dao::isError()) $this->send(array('result' => 'fail', 'message' => $this->getError())); $locateLink = $this->session->whitelistBrowse ? $this->session->whitelistBrowse : $this->createLink($module, 'whitelist', "objectID=$objectID"); - $openModule = $module == 'program' ? ($from == 'PRJ' || $from == 'my' ? '#open=project' : '#open=program') : ''; - $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $locateLink . $openModule)); + $openGroup = $module == 'program' ? ($from == 'PRJ' || $from == 'my' ? '#open=project' : '#open=program') : ''; + $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $locateLink . $openGroup)); } $this->loadModel('dept'); diff --git a/module/personnel/view/whitelist.html.php b/module/personnel/view/whitelist.html.php index c9c77d4eb9..243d1badf2 100644 --- a/module/personnel/view/whitelist.html.php +++ b/module/personnel/view/whitelist.html.php @@ -12,17 +12,17 @@ ?>
@@ -61,7 +61,7 @@ createLink($module, 'unbindWhielist', "id=$user->id&confirm=no"), '', 'hiddenwin', "title='{$lang->personnel->delete}' class='{$deleteClass}' $openModule"); + echo html::a($this->createLink($module, 'unbindWhielist', "id=$user->id&confirm=no"), '', 'hiddenwin', "title='{$lang->personnel->delete}' class='{$deleteClass}' $openGroup"); ?> diff --git a/module/product/control.php b/module/product/control.php index c0ad2a19f5..f370edb422 100644 --- a/module/product/control.php +++ b/module/product/control.php @@ -360,21 +360,21 @@ class product extends control /* Init vars. */ $product = $this->product->getById($productID); - $notRemovePRJ = array(); + $unmodifiableProjects = array(); $canChangePGM = true; $singleLinkProjects = array(); $multipleLinkProjects = array(); $linkStoriesProjects = array(); /* Link the projects stories under this product. */ - $notRemovePRJ = $this->dao->select('t1.*')->from(TABLE_PROJECTSTORY)->alias('t1') + $unmodifiableProjects = $this->dao->select('t1.*')->from(TABLE_PROJECTSTORY)->alias('t1') ->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project = t2.id') ->where('t1.product')->eq($productID) ->andWhere('t2.type')->eq('project') ->andWhere('t2.deleted')->eq('0') ->fetchPairs('project', 'product'); - if(!empty($notRemovePRJ)) $canChangePGM = false; + if(!empty($unmodifiableProjects)) $canChangePGM = false; /* Get the projects linked with this product. */ $projectPairs = $this->dao->select('t2.id,t2.name')->from(TABLE_PROJECTPRODUCT)->alias('t1') @@ -403,7 +403,7 @@ class product extends control } else { - if(isset($notRemovePRJ[$projectID])) $linkStoriesProjects[$projectID] = $projectName; + if(isset($unmodifiableProjects[$projectID])) $linkStoriesProjects[$projectID] = $projectName; } } } @@ -470,7 +470,7 @@ class product extends control $lines = array(); if($product->program) $lines = array('') + $this->product->getLinePairs($product->program); - if($this->config->systemMode == 'old') $lines = array('') + $this->product->getLinePairs(); + if($this->config->systemMode == 'classic') $lines = array('') + $this->product->getLinePairs(); $this->view->title = $this->lang->product->edit . $this->lang->colon . $product->name; $this->view->position[] = html::a($this->createLink($this->moduleName, 'browse'), $product->name); @@ -901,15 +901,15 @@ class product extends control $moduleGroup = in_array($moduleGroup, array('product', 'qa'))? $moduleGroup : 'project'; $products = $moduleGroup == 'project' ? $this->product->getProductsByProject($this->session->PRJ) : $this->product->getList(); - $this->view->link = $this->product->getProductLink($module, $method, $extra); - $this->view->productID = $productID; - $this->view->module = $module; - $this->view->method = $method; - $this->view->extra = $extra; - $this->view->products = $products; - $this->view->projectID = $moduleGroup == 'project' ? $this->session->PRJ : 0; - $this->view->programs = $this->loadModel('program')->getPGMOption(); - $this->view->openModule = $moduleGroup; + $this->view->link = $this->product->getProductLink($module, $method, $extra); + $this->view->productID = $productID; + $this->view->module = $module; + $this->view->method = $method; + $this->view->extra = $extra; + $this->view->products = $products; + $this->view->projectID = $moduleGroup == 'project' ? $this->session->PRJ : 0; + $this->view->programs = $this->loadModel('program')->getPGMOption(); + $this->view->openGroup = $moduleGroup; $this->display(); } diff --git a/module/product/lang/de.php b/module/product/lang/de.php index de95c0bb3f..e4c55d4e42 100644 --- a/module/product/lang/de.php +++ b/module/product/lang/de.php @@ -72,6 +72,7 @@ $lang->product->accessDenied = "Sie haben keinen Zugriff auf {$lang->product $lang->product->PGMChangeTip = "The projects linked with this {$lang->productCommon}: %s will be transferred to the modified program set together."; $lang->product->notChangePGMTip = "The {$lang->SRCommon} of {$lang->productCommon} has been linked to the following projects, please cancel the link before proceeding"; $lang->product->confirmChangePGM = "The projects linked with this {$lang->productCommon}: %s is also linked with other products, whether to transfer projects to the modified program set."; +$lang->product->changePGMError = "The {$lang->SRCommon} of this {$lang->productCommon} has been linked to the project, please unlink it before proceeding"; $lang->product->id = 'ID'; $lang->product->program = "Program"; diff --git a/module/product/lang/en.php b/module/product/lang/en.php index 3c52dec259..621454ee9e 100644 --- a/module/product/lang/en.php +++ b/module/product/lang/en.php @@ -72,6 +72,7 @@ $lang->product->accessDenied = "You have no access to the {$lang->productCom $lang->product->PGMChangeTip = "The projects linked with this {$lang->productCommon}: %s will be transferred to the modified program set together."; $lang->product->notChangePGMTip = "The {$lang->SRCommon} of {$lang->productCommon} has been linked to the following projects, please cancel the link before proceeding"; $lang->product->confirmChangePGM = "The projects linked with this {$lang->productCommon}: %s is also linked with other products, whether to transfer projects to the modified program set."; +$lang->product->changePGMError = "The {$lang->SRCommon} of this {$lang->productCommon} has been linked to the project, please unlink it before proceeding"; $lang->product->id = 'ID'; $lang->product->program = "Program"; diff --git a/module/product/lang/fr.php b/module/product/lang/fr.php index c48823fd1a..d043611d18 100644 --- a/module/product/lang/fr.php +++ b/module/product/lang/fr.php @@ -72,6 +72,7 @@ $lang->product->accessDenied = "Vous n'avez pas accès au {$lang->productCom $lang->product->PGMChangeTip = "The projects linked with this {$lang->productCommon}: %s will be transferred to the modified program set together."; $lang->product->notChangePGMTip = "The {$lang->SRCommon} of {$lang->productCommon} has been linked to the following projects, please cancel the link before proceeding"; $lang->product->confirmChangePGM = "The projects linked with this {$lang->productCommon}: %s is also linked with other products, whether to transfer projects to the modified program set."; +$lang->product->changePGMError = "The {$lang->SRCommon} of this {$lang->productCommon} has been linked to the project, please unlink it before proceeding"; $lang->product->id = 'ID'; $lang->product->program = "Program"; diff --git a/module/product/lang/vi.php b/module/product/lang/vi.php index 2b0abf70ba..f06c1ccc78 100644 --- a/module/product/lang/vi.php +++ b/module/product/lang/vi.php @@ -72,6 +72,7 @@ $lang->product->accessDenied = "Bạn không có quyền truy cập tới { $lang->product->PGMChangeTip = "The projects linked with this {$lang->productCommon}: %s will be transferred to the modified program set together."; $lang->product->notChangePGMTip = "The {$lang->SRCommon} of {$lang->productCommon} has been linked to the following projects, please cancel the link before proceeding"; $lang->product->confirmChangePGM = "The projects linked with this {$lang->productCommon}: %s is also linked with other products, whether to transfer projects to the modified program set."; +$lang->product->changePGMError = "The {$lang->SRCommon} of this {$lang->productCommon} has been linked to the project, please unlink it before proceeding"; $lang->product->id = 'ID'; $lang->product->program = "Program"; diff --git a/module/product/lang/zh-cn.php b/module/product/lang/zh-cn.php index b6412c30de..dc24cf0507 100644 --- a/module/product/lang/zh-cn.php +++ b/module/product/lang/zh-cn.php @@ -72,6 +72,7 @@ $lang->product->accessDenied = "您无权访问该{$lang->productCommon}"; $lang->product->PGMChangeTip = "如下项目只关联了该{$lang->productCommon}, 将直接转移至新项目集下。"; $lang->product->notChangePGMTip = "该{$lang->productCommon}的{$lang->SRCommon}已经关联到如下项目,请取消关联后再操作"; $lang->product->confirmChangePGM = "如下项目既关联了该{$lang->productCommon}又关联了其他{$lang->productCommon},请确认是否继续关联该{$lang->productCommon},勾选后将取消与其他{$lang->productCommon}的关联关系,同时转移至新项目集下。"; +$lang->product->changePGMError = "该{$lang->productCommon}的{$lang->SRCommon}已经关联到项目,请取消关联后再操作"; $lang->product->id = '编号'; $lang->product->program = "所属项目集"; diff --git a/module/product/model.php b/module/product/model.php index 38f1dc9629..f973e75870 100644 --- a/module/product/model.php +++ b/module/product/model.php @@ -556,6 +556,7 @@ class productModel extends model { $productID = (int)$productID; $oldProduct = $this->dao->findById($productID)->from(TABLE_PRODUCT)->fetch(); + $product = fixer::input('post') ->setIF($this->post->acl == 'open', 'whitelist', '') ->setDefault('line', 0) @@ -564,6 +565,22 @@ class productModel extends model ->remove('uid,changeProjects') ->get(); + if($product->program != $oldProduct->program) + { + /* Link the projects stories under this product. */ + $unmodifiableProjects = $this->dao->select('t1.*')->from(TABLE_PROJECTSTORY)->alias('t1') + ->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project = t2.id') + ->where('t1.product')->eq($productID) + ->andWhere('t2.type')->eq('project') + ->andWhere('t2.deleted')->eq('0') + ->fetchPairs('project', 'product'); + if(!empty($unmodifiableProjects)) + { + dao::$errors[] = $this->lang->product->changePGMError; + return false; + } + } + $product = $this->loadModel('file')->processImgURL($product, $this->config->product->editor->edit['id'], $this->post->uid); $this->dao->update(TABLE_PRODUCT)->data($product)->autoCheck() ->batchCheck($this->config->product->edit->requiredFields, 'notempty') diff --git a/module/product/view/ajaxgetdropmenu.html.php b/module/product/view/ajaxgetdropmenu.html.php index b5fa80fce9..b21c10ebac 100644 --- a/module/product/view/ajaxgetdropmenu.html.php +++ b/module/product/view/ajaxgetdropmenu.html.php @@ -27,19 +27,19 @@ foreach($products as $product) { $objectID = ($product->type != 'platform' && $module == 'branch' && $method == 'manage') ? $productID : $product->id; $linkHtml = $this->product->setParamsForLink($module, $link, $projectID, $product->id); - $myProductsHtml .= html::a($linkHtml, html::icon($lang->icons['product']) . ' ' . $productName, '', "class='text-important' title='{$productName}' data-key='" . zget($productsPinYin, $product->name, '') . "' data-group='$openModule'"); + $myProductsHtml .= html::a($linkHtml, html::icon($lang->icons['product']) . ' ' . $productName, '', "class='text-important' title='{$productName}' data-key='" . zget($productsPinYin, $product->name, '') . "' data-group='$openGroup'"); } else if($product->status == 'normal' and !($product->PO == $this->app->user->account)) { $objectID = ($product->type != 'platform' && $module == 'branch' && $method == 'manage') ? $productID : $product->id; $linkHtml = $this->product->setParamsForLink($module, $link, $projectID, $product->id); - $normalProductsHtml .= html::a($linkHtml, html::icon($lang->icons['product']) . ' ' . $productName, '', "title='{$productName}' data-key='" . zget($productsPinYin, $product->name, '') . "' data-group='$openModule'"); + $normalProductsHtml .= html::a($linkHtml, html::icon($lang->icons['product']) . ' ' . $productName, '', "title='{$productName}' data-key='" . zget($productsPinYin, $product->name, '') . "' data-group='$openGroup'"); } else if($product->status == 'closed') { $objectID = ($product->type != 'platform' && $module == 'branch' && $method == 'manage') ? $productID : $product->id; $linkHtml = $this->product->setParamsForLink($module, $link, $projectID, $objectID); - $closedProductsHtml .= html::a($linkHtml, html::icon($lang->icons['product']) . ' ' . $productName, '', "title='{$productName}' class='closed' data-key='" . zget($productsPinYin, $product->name, '') . "' data-group='$openModule'"); + $closedProductsHtml .= html::a($linkHtml, html::icon($lang->icons['product']) . ' ' . $productName, '', "title='{$productName}' class='closed' data-key='" . zget($productsPinYin, $product->name, '') . "' data-group='$openGroup'"); } } ?> diff --git a/module/product/view/view.html.php b/module/product/view/view.html.php index 4aac6648b7..723a77177f 100644 --- a/module/product/view/view.html.php +++ b/module/product/view/view.html.php @@ -13,7 +13,7 @@
> -
+
@@ -141,11 +141,6 @@ printExtendFields($product, 'div', "position=right&inForm=0&inCell=1");?>
-
- - createLink('action', 'comment', "objectType=product&objectID=$product->id");?> - -
@@ -172,6 +167,15 @@
+
+
+
+ + createLink('action', 'comment', "objectType=product&objectID=$product->id");?> + +
+
+
diff --git a/module/program/control.php b/module/program/control.php index 20445b881e..f544e641b7 100644 --- a/module/program/control.php +++ b/module/program/control.php @@ -763,12 +763,12 @@ class program extends control */ public function index($projectID = 0) { - $project = $this->program->getPRJByID($projectID); - if(empty($project) || $project->type != 'project') die(js::error($this->lang->notFound) . js::locate('back')); - $this->lang->navGroup->program = 'project'; $projectID = $this->program->savePRJState($projectID, $this->program->getPRJPairs()); + $project = $this->program->getPRJByID($projectID); + if(empty($project) || $project->type != 'project') die(js::error($this->lang->notFound) . js::locate('back')); + if(!$projectID) $this->locate($this->createLink('program', 'PRJbrowse')); setCookie("lastPRJ", $projectID, $this->config->cookieLife, $this->config->webRoot, '', false, true); diff --git a/module/program/model.php b/module/program/model.php index 2cc4237685..452c1f3fe1 100644 --- a/module/program/model.php +++ b/module/program/model.php @@ -926,7 +926,8 @@ class programModel extends model ->beginIF($this->config->systemMode == 'new')->andWhere('type')->eq('project')->fi() ->beginIF($browseType != 'all')->andWhere('status')->eq($browseType)->fi() ->beginIF($path)->andWhere('path')->like($path . '%')->fi() - ->beginIF(!$this->app->user->admin)->andWhere('id')->in($this->app->user->view->projects)->fi() + ->beginIF(!$this->app->user->admin and $this->config->systemMode == 'new')->andWhere('id')->in($this->app->user->view->projects)->fi() + ->beginIF(!$this->app->user->admin and $this->config->systemMode == 'classic')->andWhere('id')->in($this->app->user->view->sprints)->fi() ->beginIF($this->cookie->PRJMine or $PRJMine) ->andWhere('openedBy', true)->eq($this->app->user->account) ->orWhere('PM')->eq($this->app->user->account) @@ -1958,9 +1959,9 @@ class programModel extends model echo "
"; } - $from = $project->from == 'PRJ' ? 'PRJ' : 'pgmproject'; - $openModule = $project->from == 'PRJ' ? 'project' : 'program'; - common::printIcon('program', 'PRJEdit', "projectID=$project->id&from=$from", $project, 'list', 'edit', '', '', '', "data-group=$openModule", '', $project->id); + $from = $project->from == 'PRJ' ? 'PRJ' : 'pgmproject'; + $openGroup = $project->from == 'PRJ' ? 'project' : 'program'; + common::printIcon('program', 'PRJEdit', "projectID=$project->id&from=$from", $project, 'list', 'edit', '', '', '', "data-group=$openGroup", '', $project->id); common::printIcon('program', 'PRJManageMembers', "projectID=$project->id", $project, 'list', 'group', '', '', '', '', $this->lang->project->team, $project->id); if($this->config->systemMode == 'new') common::printIcon('program', 'PRJGroup', "projectID=$project->id&programID=$programID", $project, 'list', 'lock', '', '', '', '', '', $project->id); @@ -1969,8 +1970,8 @@ class programModel extends model echo "
"; echo ""; echo ""; echo "
"; diff --git a/module/program/view/prjview.html.php b/module/program/view/prjview.html.php index 397c4f67ba..0c8cc9cb3d 100644 --- a/module/program/view/prjview.html.php +++ b/module/program/view/prjview.html.php @@ -178,23 +178,23 @@ project->begin;?> begin;?> project->totalEstimate;?> - totalEstimate;?> + totalEstimate . $lang->project->workHour;?> project->end;?> end;?> project->totalConsumed;?> - totalConsumed;?> + totalConsumed . $lang->project->workHour;?> project->totalDays;?> days;?> project->totalLeft;?> - totalLeft;?> + totalLeft . $lang->project->workHour;?> project->totalHours;?> - totalHours;?> + totalHours . $lang->project->workHour;?> diff --git a/module/project/control.php b/module/project/control.php index 5e05525523..a30509981f 100644 --- a/module/project/control.php +++ b/module/project/control.php @@ -42,7 +42,7 @@ class project extends control $this->projects = $this->project->getExecutionPairs($this->session->PRJ, 'all', 'nocode'); if(!$this->projects and $this->methodName != 'index' and $this->methodName != 'create' and $this->app->getViewType() != 'mhtml') $this->locate($this->createLink('project', 'create')); } - $this->objectType = $this->config->systemMode == 'old' ? 'project' : 'exection'; + $this->objectType = $this->config->systemMode == 'classic' ? 'project' : 'exection'; } /** diff --git a/module/project/model.php b/module/project/model.php index d74152fead..44b3c62f97 100644 --- a/module/project/model.php +++ b/module/project/model.php @@ -203,7 +203,7 @@ class projectModel extends model $currentProjectName = ''; if(isset($currentProject->name)) $currentProjectName = $currentProject->name; - if($this->config->systemMode == 'old') + if($this->config->systemMode == 'classic') { $this->session->set('moreProjectLink', $this->app->getURI(true)); $output = "
- config->systemMode == 'old' or $project->grade == 1):?> + config->systemMode == 'classic' or $project->grade == 1):?>
project->unlinkedProducts;?>
diff --git a/module/projectstory/lang/de.php b/module/projectstory/lang/de.php index ce7db80304..b2377070e6 100644 --- a/module/projectstory/lang/de.php +++ b/module/projectstory/lang/de.php @@ -2,7 +2,6 @@ $lang->projectstory->common = 'Anforderungen an Projekte'; $lang->projectstory->index = 'Fordern Sie Homepage'; $lang->projectstory->view = 'Story Detail'; -$lang->projectstory->story = $lang->generalSR; $lang->projectstory->track = 'Matrix der Verfolgung'; $lang->projectstory->linkStory = 'Linked' . $lang->SRCommon; $lang->projectstory->unlinkStory = 'Unlinked' . $lang->SRCommon; diff --git a/module/projectstory/lang/en.php b/module/projectstory/lang/en.php index 20ca0d72b2..eaca6a34fd 100644 --- a/module/projectstory/lang/en.php +++ b/module/projectstory/lang/en.php @@ -2,7 +2,6 @@ $lang->projectstory->common = 'Project Requirements'; $lang->projectstory->index = 'Request Home'; $lang->projectstory->view = 'Story Detail'; -$lang->projectstory->story = $lang->generalSR; $lang->projectstory->track = 'Tracking Matrix'; $lang->projectstory->linkStory = 'Linked' . $lang->SRCommon; $lang->projectstory->unlinkStory = 'Unlinked' . $lang->SRCommon; diff --git a/module/projectstory/lang/fr.php b/module/projectstory/lang/fr.php index 5f0933d2ca..e63f508d4f 100644 --- a/module/projectstory/lang/fr.php +++ b/module/projectstory/lang/fr.php @@ -2,7 +2,6 @@ $lang->projectstory->common = 'Exigences du projet'; $lang->projectstory->index = 'Exigences Accueil'; $lang->projectstory->view = 'Story Detail'; -$lang->projectstory->story = $lang->generalSR; $lang->projectstory->track = 'Matrice de suivi'; $lang->projectstory->linkStory = 'Linked' . $lang->SRCommon; $lang->projectstory->unlinkStory = 'Unlinked' . $lang->SRCommon; diff --git a/module/projectstory/lang/vi.php b/module/projectstory/lang/vi.php index f87e63f934..cff6a5b845 100644 --- a/module/projectstory/lang/vi.php +++ b/module/projectstory/lang/vi.php @@ -2,7 +2,6 @@ $lang->projectstory->common = 'Yêu cầu dự án'; $lang->projectstory->index = 'Yêu cầu trang nhà'; $lang->projectstory->view = 'Story Detail'; -$lang->projectstory->story = $lang->generalSR; $lang->projectstory->track = 'Theo dõi ma trận'; $lang->projectstory->linkStory = 'Linked' . $lang->SRCommon; $lang->projectstory->unlinkStory = 'Unlinked' . $lang->SRCommon; diff --git a/module/projectstory/lang/zh-cn.php b/module/projectstory/lang/zh-cn.php index 6d5218b319..495979caeb 100644 --- a/module/projectstory/lang/zh-cn.php +++ b/module/projectstory/lang/zh-cn.php @@ -2,7 +2,6 @@ $lang->projectstory->common = '项目需求'; $lang->projectstory->index = '需求主页'; $lang->projectstory->view = '需求详情'; -$lang->projectstory->story = $lang->generalSR; $lang->projectstory->track = '矩阵'; $lang->projectstory->linkStory = '关联' . $lang->SRCommon; $lang->projectstory->unlinkStory = '移除' . $lang->SRCommon; diff --git a/module/projectstory/lang/zh-tw.php b/module/projectstory/lang/zh-tw.php index ebcb3d8011..645cd80cf5 100644 --- a/module/projectstory/lang/zh-tw.php +++ b/module/projectstory/lang/zh-tw.php @@ -2,7 +2,6 @@ $lang->projectstory->common = '項目需求'; $lang->projectstory->index = '需求主頁'; $lang->projectstory->view = '需求詳情'; -$lang->projectstory->story = $lang->generalSR; $lang->projectstory->track = '矩陣'; $lang->projectstory->linkStory = '關聯' . $lang->SRCommon; $lang->projectstory->unlinkStory = '移除' . $lang->SRCommon; diff --git a/module/report/control.php b/module/report/control.php index fa8921a146..1db4730b69 100644 --- a/module/report/control.php +++ b/module/report/control.php @@ -71,12 +71,16 @@ class report extends control /** * Product information report. * + * @params string $conditions * @access public * @return void */ public function productSummary($conditions = '') { $this->app->loadLang('story'); + $this->app->loadLang('product'); + $this->app->loadLang('productplan'); + $this->view->title = $this->lang->report->productSummary; $this->view->position[] = $this->lang->report->productSummary; $this->view->products = $this->report->getProducts($conditions); diff --git a/module/report/css/common.css b/module/report/css/common.css index 99914392e7..1754597633 100644 --- a/module/report/css/common.css +++ b/module/report/css/common.css @@ -4,6 +4,8 @@ .date{width:80px;} ul li{list-style:none;} +.side-col {padding-right: 20px; width: 15%;} +#sidebar>.cell {width: 100%;} #productList p{margin:2px 0;} .table-bordered, .outer.with-side .main, .outer.with-side > form > .table, .outer.with-side > .table{border: none} diff --git a/module/report/view/blockreportlist.html.php b/module/report/view/blockreportlist.html.php index 1e9394db18..2a9b0b9c6e 100644 --- a/module/report/view/blockreportlist.html.php +++ b/module/report/view/blockreportlist.html.php @@ -1,19 +1,29 @@ -
-
-
report->list;?>
+ +
+
+
+
report->list;?>
+
+
+
+ reportList->$submenu->lists); + foreach($lang->reportList->$submenu->lists as $list) + { + $list .= '|'; + list($label, $module, $method, $params) = explode('|', $list); + $class = $label == $title ? 'selected' : ''; + if(common::hasPriv($module, $method)) echo html::a($this->createLink($module, $method, $params), ' ' . $label, '', "class='$class' title='$label'"); + } + ?> +
+
-
-
- reportList->$submenu->lists); - foreach($lang->reportList->$submenu->lists as $list) - { - $list .= '|'; - list($label, $module, $method, $params) = explode('|', $list); - $class = $label == $title ? 'selected' : ''; - if(common::hasPriv($module, $method)) echo html::a($this->createLink($module, $method, $params), ' ' . $label, '', "class='$class' title='$label'"); - } - ?> +
+
+ PRO  isINT)) ? $lang->report->proVersionEn : $lang->report->proVersion;?>
diff --git a/module/report/view/bugassign.html.php b/module/report/view/bugassign.html.php index efe10ee87d..a65207bd39 100644 --- a/module/report/view/bugassign.html.php +++ b/module/report/view/bugassign.html.php @@ -1,12 +1,7 @@
-
+
diff --git a/module/report/view/bugcreate.html.php b/module/report/view/bugcreate.html.php index 10bbd909e2..84c0e71b0f 100644 --- a/module/report/view/bugcreate.html.php +++ b/module/report/view/bugcreate.html.php @@ -1,13 +1,8 @@
-
+
diff --git a/module/report/view/productsummary.html.php b/module/report/view/productsummary.html.php index cc8ee7b415..c6a18768e5 100644 --- a/module/report/view/productsummary.html.php +++ b/module/report/view/productsummary.html.php @@ -3,13 +3,8 @@
-
+
diff --git a/module/report/view/projectdeviation.html.php b/module/report/view/projectdeviation.html.php index 1c9253c93f..bb2d9d28ec 100644 --- a/module/report/view/projectdeviation.html.php +++ b/module/report/view/projectdeviation.html.php @@ -3,13 +3,8 @@ array(), 'data' => array());?>
-
+
diff --git a/module/report/view/workload.html.php b/module/report/view/workload.html.php index af9ae20f12..26f7f1c9ef 100644 --- a/module/report/view/workload.html.php +++ b/module/report/view/workload.html.php @@ -2,13 +2,8 @@ project->weekend);?>
-
+
diff --git a/module/story/control.php b/module/story/control.php index 5d1f5964c3..59fd014da1 100644 --- a/module/story/control.php +++ b/module/story/control.php @@ -327,33 +327,36 @@ class story extends control * @param int $branch * @param int $moduleID * @param int $storyID - * @param int $project + * @param int $projectID * @param int $plan * @param string $type requirement|story * @access public * @return void */ - public function batchCreate($productID = 0, $branch = 0, $moduleID = 0, $storyID = 0, $project = 0, $plan = 0, $type = 'story') + public function batchCreate($productID = 0, $branch = 0, $moduleID = 0, $storyID = 0, $projectID = 0, $plan = 0, $type = 'story') { $this->lang->product->menu = $this->lang->product->viewMenu; $this->lang->product->switcherMenu = $this->product->getSwitcher($productID); $this->lang->product->mainMenuAction = $this->product->getProductMainAction(); - if($project) + if($projectID) { - $prj = $this->dao->findById((int)$project)->from(TABLE_PROJECT)->fetch(); - if($prj->type == 'project') + $projects = $this->loadModel('project')->getExecutionPairs(); + $this->project->setMenu($projects, $projectID); + + $project = $this->dao->findById((int)$projectID)->from(TABLE_PROJECT)->fetch(); + if($project->type == 'project') { $this->app->rawModule = 'projectstory'; $this->lang->navGroup->story = 'project'; - $this->lang->product->menu = $this->lang->menu->{$prj->model}; + $this->lang->product->menu = $this->lang->menu->{$project->model}; } else { $this->app->rawModule = 'project'; $this->lang->navGroup->story = 'project'; } - $this->view->project = $prj; + $this->view->project = $project; } /* Clear title when switching products and set the session for the current product. */ @@ -378,12 +381,12 @@ class story extends control foreach($mails as $mail) $stories[] = $mail->storyID; /* Project or execution linked stories. */ - if($project) + if($projectID) { $products = array(); foreach($mails as $story) $products[$story->storyID] = $productID; - $this->loadModel('project')->linkStory($project, $stories, $products); - if($project != $this->session->PRJ) $this->loadModel('project')->linkStory($this->session->PRJ, $stories, $products); + $this->loadModel('project')->linkStory($projectID, $stories, $products); + if($projectID != $this->session->PRJ) $this->loadModel('project')->linkStory($this->session->PRJ, $stories, $products); } /* If storyID not equal zero, subdivide this story to child stories and close it. */ @@ -399,11 +402,11 @@ class story extends control { die(js::locate(inlink('view', "storyID=$storyID"), 'parent')); } - elseif($project) + elseif($projectID) { setcookie('storyModuleParam', 0, 0, $this->config->webRoot, '', false, false); - $moduleName = $prj->type == 'project' ? 'projectstory' : 'project'; - $param = $prj->type == 'project' ? "productID=$productID" : "projectID=$project&orderBy=id_desc&browseType=unclosed"; + $moduleName = $project->type == 'project' ? 'projectstory' : 'project'; + $param = $project->type == 'project' ? "productID=$productID" : "projectID=$projectID&orderBy=id_desc&browseType=unclosed"; $link = $this->createLink($moduleName, 'story', $param); die(js::locate($link, 'parent')); } @@ -494,7 +497,7 @@ class story extends control $this->view->branch = $branch; $this->view->branches = $this->loadModel('branch')->getPairs($productID); /* When the user is product owner or add story in project or not set review, the default is not to review. */ - $this->view->needReview = ($this->app->user->account == $product->PO || $project > 0 || $this->config->story->needReview == 0) ? 0 : 1; + $this->view->needReview = ($this->app->user->account == $product->PO || $projectID > 0 || $this->config->story->needReview == 0) ? 0 : 1; $this->display(); } diff --git a/module/story/model.php b/module/story/model.php index b92761810c..8c6bc48855 100644 --- a/module/story/model.php +++ b/module/story/model.php @@ -3279,12 +3279,12 @@ class storyModel extends model $canBatchAction = ($canBatchEdit or $canBatchClose or $canBatchReview or $canBatchChangeStage or $canBatchChangeBranch or $canBatchChangeModule or $canBatchChangePlan or $canBatchAssignTo or $canBatchUnlinkStory); - $module = $this->app->rawModule == 'projectstory' ? 'projectstory' : 'story'; - $canView = common::hasPriv($module, 'view'); - $openModule = $this->app->rawModule == 'projectstory' ? 'project' : 'product'; - $storyLink = helper::createLink($module, 'view', "storyID=$story->id"); - $account = $this->app->user->account; - $id = $col->id; + $module = $this->app->rawModule == 'projectstory' ? 'projectstory' : 'story'; + $canView = common::hasPriv($module, 'view'); + $openGroup = $this->app->rawModule == 'projectstory' ? 'project' : 'product'; + $storyLink = helper::createLink($module, 'view', "storyID=$story->id"); + $account = $this->app->user->account; + $id = $col->id; if($col->show) { $class = "c-{$id}"; @@ -3347,7 +3347,7 @@ class storyModel extends model case 'id': if($canBatchAction) { - echo html::checkbox('storyIdList', array($story->id => '')) . html::a($storyLink, sprintf('%03d', $story->id), '', "data-group='$openModule'"); + echo html::checkbox('storyIdList', array($story->id => '')) . html::a($storyLink, sprintf('%03d', $story->id), '', "data-group='$openGroup'"); } else { @@ -3365,7 +3365,7 @@ class storyModel extends model if($story->branch and isset($branches[$story->branch])) echo "{$branches[$story->branch]} "; if($story->module and isset($modulePairs[$story->module])) echo "{$modulePairs[$story->module]} "; if($story->parent > 0) echo '' . $this->lang->story->childrenAB . ' '; - echo $canView ? html::a($storyLink, $story->title, '', "style='color: $story->color' data-group='$openModule'") : "{$story->title}"; + echo $canView ? html::a($storyLink, $story->title, '', "style='color: $story->color' data-group='$openGroup'") : "{$story->title}"; if(!empty($story->children)) echo ''; break; case 'plan': @@ -3649,12 +3649,15 @@ class storyModel extends model $stories[$id]->cases = $this->loadModel('testcase')->getStoryCases($id); $stories[$id]->bugs = $this->loadModel('bug')->getStoryBugs($id); $stories[$id]->tasks = $this->loadModel('task')->getStoryTasks($id); - $stories[$id]->designs = $this->dao->select('id, name')->from(TABLE_DESIGN)->where('story')->eq($id)->fetchAll('id'); - $stories[$id]->revisions = $this->dao->select('BID, extra')->from(TABLE_RELATION) - ->where('AType')->eq('design') - ->andWhere('BType')->eq('commit') - ->andWhere('AID')->in(array_keys($stories[$id]->designs)) - ->fetchPairs(); + if(isset($this->config->maxVersion)) + { + $stories[$id]->designs = $this->dao->select('id, name')->from(TABLE_DESIGN)->where('story')->eq($id)->fetchAll('id'); + $stories[$id]->revisions = $this->dao->select('BID, extra')->from(TABLE_RELATION) + ->where('AType')->eq('design') + ->andWhere('BType')->eq('commit') + ->andWhere('AID')->in(array_keys($stories[$id]->designs)) + ->fetchPairs(); + } } $requirement->track = $stories; @@ -3680,12 +3683,15 @@ class storyModel extends model $stories[$id]->cases = $this->loadModel('testcase')->getStoryCases($id); $stories[$id]->bugs = $this->loadModel('bug')->getStoryBugs($id); $stories[$id]->tasks = $this->loadModel('task')->getStoryTasks($id); - $stories[$id]->designs = $this->dao->select('id, name')->from(TABLE_DESIGN)->where('story')->eq($id)->fetchAll('id'); - $stories[$id]->revisions = $this->dao->select('BID, extra')->from(TABLE_RELATION) - ->where('AType')->eq('design') - ->andWhere('BType')->eq('commit') - ->andWhere('AID')->in(array_keys($stories[$id]->designs)) - ->fetchPairs(); + if(isset($this->config->maxVersion)) + { + $stories[$id]->designs = $this->dao->select('id, name')->from(TABLE_DESIGN)->where('story')->eq($id)->fetchAll('id'); + $stories[$id]->revisions = $this->dao->select('BID, extra')->from(TABLE_RELATION) + ->where('AType')->eq('design') + ->andWhere('BType')->eq('commit') + ->andWhere('AID')->in(array_keys($stories[$id]->designs)) + ->fetchPairs(); + } } $requirements['noRequirement'] = $stories; @@ -3711,12 +3717,16 @@ class storyModel extends model foreach($stories as $id => $title) { $track[$id] = new stdclass(); - $track[$id]->title = $title; - $track[$id]->case = $this->loadModel('testcase')->getStoryCases($id); - $track[$id]->bug = $this->loadModel('bug')->getStoryBugs($id); - $track[$id]->design = $this->dao->select('id, name')->from(TABLE_DESIGN)->where('story')->eq($id)->fetchAll('id'); - $track[$id]->story = $this->getByID($id); - $track[$id]->revision = $this->dao->select('BID, extra')->from(TABLE_RELATION)->where('AType')->eq('design')->andWhere('BType')->eq('commit')->andWhere('AID')->in(array_keys($track[$id]->design))->fetchPairs(); + $track[$id]->title = $title; + $track[$id]->case = $this->loadModel('testcase')->getStoryCases($id); + $track[$id]->bug = $this->loadModel('bug')->getStoryBugs($id); + $track[$id]->story = $this->getByID($id); + $track[$id]->task = $this->loadModel('task')->getStoryTasks($id); + if(isset($this->config->maxVersion)) + { + $track[$id]->design = $this->dao->select('id, name')->from(TABLE_DESIGN)->where('story')->eq($id)->fetchAll('id'); + $track[$id]->revision = $this->dao->select('BID, extra')->from(TABLE_RELATION)->where('AType')->eq('design')->andWhere('BType')->eq('commit')->andWhere('AID')->in(array_keys($track[$id]->design))->fetchPairs(); + } } return $track; diff --git a/module/story/view/track.html.php b/module/story/view/track.html.php index f25ed35313..f58bb53ee4 100644 --- a/module/story/view/track.html.php +++ b/module/story/view/track.html.php @@ -44,7 +44,9 @@ story->design;?> story->case;?> + maxVersion)):?> story->repoCommit;?> + story->bug;?> @@ -81,6 +83,7 @@ createLink('testcase', 'view', "caseID=$caseID", '', false, $case->PRJ), $case->title, '', "title='$case->title'") . '
';?> + maxVersion)):?> revisions as $revision => $repoID):?> + bugs as $bugID => $bug):?> createLink('bug', 'view', "bugID=$bugID"), $bug->title, '', "title='$bug->title'") . '
';?> @@ -101,9 +105,9 @@ - maxVersion)):?> + diff --git a/module/story/view/view.html.php b/module/story/view/view.html.php index b1eeb9efbd..9280aea0d7 100644 --- a/module/story/view/view.html.php +++ b/module/story/view/view.html.php @@ -50,14 +50,14 @@ app->rawModule == 'projectstory') { $otherParam = "storyID=&projectID={$this->session->PRJ}"; - $openModule = 'project'; + $openGroup = 'project'; } ?> - product}&branch={$story->branch}&moduleID={$story->module}&$otherParam", "" . $lang->story->create, '', "class='btn btn-primary' data-group='$openModule'"); ?> + product}&branch={$story->branch}&moduleID={$story->module}&$otherParam", "" . $lang->story->create, '', "class='btn btn-primary' data-group='$openGroup'"); ?>
diff --git a/module/task/control.php b/module/task/control.php index 2161dc0b99..b0bd27fb45 100644 --- a/module/task/control.php +++ b/module/task/control.php @@ -206,7 +206,7 @@ class task extends control $this->view->title = $title; $this->view->position = $position; $this->view->project = $project; - $this->view->projects = $this->config->systemMode == 'old' ? $projects : $this->loadModel('project')->getExecutionsByProject($this->session->PRJ, 'all', 0, true); + $this->view->projects = $this->config->systemMode == 'classic' ? $projects : $this->loadModel('project')->getExecutionsByProject($this->session->PRJ, 'all', 0, true); $this->view->task = $task; $this->view->users = $users; $this->view->stories = $stories; @@ -392,7 +392,7 @@ class task extends control $this->view->users = $this->loadModel('user')->getPairs('nodeleted', "{$this->view->task->openedBy},{$this->view->task->canceledBy},{$this->view->task->closedBy}"); $this->view->showAllModule = isset($this->config->project->task->allModule) ? $this->config->project->task->allModule : ''; $this->view->modules = $this->tree->getTaskOptionMenu($this->view->task->project, 0, 0, $this->view->showAllModule ? 'allModule' : ''); - $this->view->projects = $this->config->systemMode == 'old' ? $this->project->getExecutionPairs() : $this->loadModel('project')->getExecutionsByProject($this->session->PRJ, 'all', 0, true); + $this->view->projects = $this->config->systemMode == 'classic' ? $this->project->getExecutionPairs() : $this->loadModel('project')->getExecutionsByProject($this->session->PRJ, 'all', 0, true); $this->display(); } diff --git a/module/testsuite/model.php b/module/testsuite/model.php index 737050518b..f73a5f6338 100644 --- a/module/testsuite/model.php +++ b/module/testsuite/model.php @@ -133,7 +133,7 @@ class testsuiteModel extends model { return $this->dao->select("*")->from(TABLE_TESTSUITE) ->where('product')->eq((int)$productID) - ->beginIF($this->lang->navGroup->testsuite != 'qa')->andWhere('PRJ')->eq($this->session->PRJ)->fi() + ->beginIF($this->config->systemMode == 'new' and $this->lang->navGroup->testsuite != 'qa')->andWhere('PRJ')->eq($this->session->PRJ)->fi() ->andWhere('deleted')->eq(0) ->andWhere("(`type` = 'public' OR (`type` = 'private' and addedBy = '{$this->app->user->account}'))") ->orderBy($orderBy) @@ -242,7 +242,7 @@ class testsuiteModel extends model $cases = $this->dao->select('t1.*,t2.version as caseVersion')->from(TABLE_CASE)->alias('t1') ->leftJoin(TABLE_SUITECASE)->alias('t2')->on('t1.id=t2.case') ->where('t2.suite')->eq($suiteID) - ->andWhere('t1.PRJ')->eq($this->session->PRJ) + ->beginIF($this->config->systemMode == 'new' and $this->lang->navGroup->testsuite != 'qa')->andWhere('t1.PRJ')->eq($this->session->PRJ)->fi() ->andWhere('t1.product')->eq($suite->product) ->andWhere('t1.product')->eq($suite->product) ->andWhere('t1.deleted')->eq(0) @@ -286,7 +286,7 @@ class testsuiteModel extends model $linkedCases = $this->getLinkedCases($suite->id, 'id_desc', null, $append = false); $cases = $this->dao->select('*')->from(TABLE_CASE)->where($query) ->andWhere('id')->notIN(array_keys($linkedCases)) - ->beginIF($this->lang->navGroup->testsuite != 'qa')->andWhere('PRJ')->eq($this->session->PRJ)->fi() + ->beginIF($this->config->systemMode == 'new' and $this->lang->navGroup->testsuite != 'qa')->andWhere('PRJ')->eq($this->session->PRJ)->fi() ->andWhere('deleted')->eq(0) ->orderBy('id desc') ->page($pager) @@ -323,7 +323,7 @@ class testsuiteModel extends model { $importedCases = $this->dao->select('fromCaseID')->from(TABLE_CASE) ->where('product')->eq($productID) - ->andWhere('PRJ')->eq($this->session->PRJ) + ->beginIF($this->config->systemMode == 'new' and $this->lang->navGroup->testsuite != 'qa')->andWhere('PRJ')->eq($this->session->PRJ)->fi() ->andWhere('lib')->eq($libID) ->andWhere('fromCaseID')->ne('') ->andWhere('deleted')->eq(0) @@ -357,7 +357,7 @@ class testsuiteModel extends model return $this->dao->select('*')->from(TABLE_CASE)->where('deleted')->eq(0) ->beginIF($browseType != 'bysearch')->andWhere('lib')->eq($libID)->fi() ->beginIF($browseType == 'bysearch')->andWhere($query)->fi() - ->andWhere('PRJ')->eq($this->session->PRJ) + ->begin($this->config->systemMode == 'new' and $this->lang->navGroup->testsuite != 'qa')->andWhere('PRJ')->eq($this->session->PRJ)->fi() ->andWhere('product')->eq(0) ->andWhere('id')->notIN($importedCases) ->orderBy($orderBy) diff --git a/module/testsuite/view/view.html.php b/module/testsuite/view/view.html.php index f1615d117e..c9730c2fe2 100644 --- a/module/testsuite/view/view.html.php +++ b/module/testsuite/view/view.html.php @@ -60,12 +60,12 @@ idAB);?> - priAB);?> - testcase->module);?> - testcase->title);?> - testcase->type);?> - statusAB);?> - testcase->lastRunResult);?> + priAB);?> + testcase->module);?> + testcase->title);?> + testcase->type);?> + statusAB);?> + testcase->lastRunResult);?> testcase->bugsAB;?> testcase->resultsAB;?> testcase->stepNumberAB;?> diff --git a/module/testtask/control.php b/module/testtask/control.php index 2b0b5ae9cb..264757b558 100644 --- a/module/testtask/control.php +++ b/module/testtask/control.php @@ -1217,10 +1217,10 @@ class testtask extends control } /** - * Ajax get test tasks - * - * @param int $productID - * @param int $projectID + * Ajax get test tasks. + * + * @param int $productID + * @param int $projectID * @access public * @return void */ diff --git a/module/testtask/model.php b/module/testtask/model.php index 8ba40def67..5a0bda95e1 100644 --- a/module/testtask/model.php +++ b/module/testtask/model.php @@ -203,7 +203,7 @@ class testtaskModel extends model ->leftJoin(TABLE_PROJECTPRODUCT)->alias('t5')->on('t1.project = t5.project and t1.product = t5.product') ->where('t1.deleted')->eq(0) - ->beginIF($this->lang->navGroup->testtask != 'qa')->andWhere('t1.PRJ')->eq($this->session->PRJ)->fi() + ->beginIF($this->config->systemMode == 'new' and $this->lang->navGroup->testtask != 'qa')->andWhere('t1.PRJ')->eq($this->session->PRJ)->fi() ->andWhere('t1.auto')->ne('unit') ->beginIF(!$this->app->user->admin)->andWhere('t3.id')->in("0,{$this->app->user->view->sprints}")->fi() ->beginIF($scopeAndStatus[0] == 'local')->andWhere('t1.product')->eq((int)$productID)->fi() @@ -239,7 +239,7 @@ class testtaskModel extends model ->leftJoin(TABLE_BUILD)->alias('t4')->on('t1.build = t4.id') ->where('t1.deleted')->eq(0) ->andWhere('t1.product')->eq($productID) - ->andWhere('t1.PRJ')->eq($this->session->PRJ) + ->beginIF($this->config->systemMode == 'new' and $this->lang->navGroup->testtask != 'qa')->andWhere('t1.PRJ')->eq($this->session->PRJ)->fi() ->andWhere('t1.auto')->eq('unit') ->beginIF($browseType != 'all' and $browseType != 'newest' and $beginAndEnd) ->andWhere('t1.end')->ge($beginAndEnd['begin']) @@ -293,11 +293,11 @@ class testtaskModel extends model } /** - * Get testtask pairs - * - * @param int $productID - * @param int $projectID - * @param string $appendIdList + * Get testtask pairs. + * + * @param int $productID + * @param int $projectID + * @param string $appendIdList * @param string $params noempty * @access public * @return array @@ -455,7 +455,7 @@ class testtaskModel extends model { return $this->dao->select('*')->from(TABLE_CASE)->where($query) ->andWhere('id')->notIN($linkedCases) - ->beginIF($this->lang->navGroup->testtask != 'qa')->andWhere('PRJ')->eq($this->session->PRJ)->fi() + ->beginIF($this->config->systemMode == 'new' and $this->lang->navGroup->testtask != 'qa')->andWhere('PRJ')->eq($this->session->PRJ)->fi() ->andWhere('status')->ne('wait') ->andWhere('type')->ne('unit') ->beginIF($task->branch)->andWhere('branch')->in("0,$task->branch")->fi() @@ -484,7 +484,7 @@ class testtaskModel extends model { $cases = $this->dao->select('*')->from(TABLE_CASE) ->where($query) - ->beginIF($this->lang->navGroup->testtask != 'qa')->andWhere('PRJ')->eq($this->session->PRJ)->fi() + ->beginIF($this->config->systemMode == 'new' and $this->lang->navGroup->testtask != 'qa')->andWhere('PRJ')->eq($this->session->PRJ)->fi() ->andWhere('product')->eq($productID) ->andWhere('status')->ne('wait') ->beginIF($linkedCases)->andWhere('id')->notIN($linkedCases)->fi() @@ -517,7 +517,7 @@ class testtaskModel extends model if($bugs) { $cases = $this->dao->select('*')->from(TABLE_CASE)->where($query) - ->beginIF($this->lang->navGroup->testtask != 'qa')->andWhere('PRJ')->eq($this->session->PRJ)->fi() + ->beginIF($this->config->systemMode == 'new' and $this->lang->navGroup->testtask != 'qa')->andWhere('PRJ')->eq($this->session->PRJ)->fi() ->andWhere('product')->eq($productID) ->andWhere('status')->ne('wait') ->beginIF($linkedCases)->andWhere('id')->notIN($linkedCases)->fi() @@ -550,7 +550,7 @@ class testtaskModel extends model return $this->dao->select('t1.*,t2.version as version')->from(TABLE_CASE)->alias('t1') ->leftJoin(TABLE_SUITECASE)->alias('t2')->on('t1.id=t2.case') ->where($query) - ->beginIF($this->lang->navGroup->testtask != 'qa')->andWhere('t1.PRJ')->eq($this->session->PRJ)->fi() + ->beginIF($this->config->systemMode == 'new' and $this->lang->navGroup->testtask != 'qa')->andWhere('t1.PRJ')->eq($this->session->PRJ)->fi() ->andWhere('t2.suite')->eq((int)$suite) ->andWhere('t1.product')->eq($productID) ->andWhere('status')->ne('wait') @@ -585,7 +585,7 @@ class testtaskModel extends model ->where($query) ->andWhere('t1.id')->notin($linkedCases) ->andWhere('t2.task')->eq($testTask) - ->beginIF($this->lang->navGroup->testtask != 'qa')->andWhere('t1.PRJ')->eq($this->session->PRJ)->fi() + ->beginIF($this->config->systemMode == 'new' and $this->lang->navGroup->testtask != 'qa')->andWhere('t1.PRJ')->eq($this->session->PRJ)->fi() ->andWhere('t1.status')->ne('wait') ->page($pager) ->fetchAll(); diff --git a/module/tree/control.php b/module/tree/control.php index e0120056a0..16d5fe17e9 100644 --- a/module/tree/control.php +++ b/module/tree/control.php @@ -16,9 +16,11 @@ class tree extends control /** * Module browse. * - * @param int $rootID + * @param int $rootID * @param string $viewType story|bug|case|doc - * @param int $currentModuleID + * @param int $currentModuleID + * @param int $branch + * @param string $from * @access public * @return void */ diff --git a/module/tree/js/browse.js b/module/tree/js/browse.js index 5738cfee20..2661c9b8ab 100644 --- a/module/tree/js/browse.js +++ b/module/tree/js/browse.js @@ -63,15 +63,13 @@ function syncProductOrProject(obj, type) $('#copyModule').bind('click', function(){syncModule(obj.value, viewType)}); } -function toggleCopy() +function toggleCopy(toggle) { - var $copy = $('.table-row.copy'); - if($copy.size() == 0) return false; - $copy.toggle(); + $('.table-row.copy').toggle(toggle); } $(document).ready(function() { - toggleCopy(); + toggleCopy(false); $('[data-id="edit"] a').modalTrigger({type: 'iframe', width: 500}); }); diff --git a/module/tree/view/browse.html.php b/module/tree/view/browse.html.php index 7746f937ea..d69ea8c7b3 100644 --- a/module/tree/view/browse.html.php +++ b/module/tree/view/browse.html.php @@ -104,7 +104,7 @@ li.tree-item-story > .tree-actions .tree-action[data-type=delete]{display:none;}
-
+