diff --git a/db/update20.0.beta3.sql b/db/update20.0.beta3.sql index 157dd4bfa4..126996e880 100644 --- a/db/update20.0.beta3.sql +++ b/db/update20.0.beta3.sql @@ -1,48 +1,74 @@ REPLACE INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES -(1, 'product', 'dashboard'), -(1, 'my', 'preference'), -(1, 'my', 'uploadAvatar'), -(1, 'user', 'cropAvatar'), -(2, 'product', 'dashboard'), -(2, 'my', 'preference'), -(2, 'my', 'uploadAvatar'), -(2, 'user', 'cropAvatar'), -(3, 'product', 'dashboard'), -(3, 'my', 'preference'), -(3, 'my', 'uploadAvatar'), -(3, 'user', 'cropAvatar'), -(4, 'product', 'dashboard'), -(4, 'my', 'preference'), -(4, 'my', 'uploadAvatar'), -(4, 'user', 'cropAvatar'), -(5, 'product', 'dashboard'), -(5, 'my', 'preference'), -(5, 'my', 'uploadAvatar'), -(5, 'user', 'cropAvatar'), -(6, 'product', 'dashboard'), -(6, 'my', 'preference'), -(6, 'my', 'uploadAvatar'), -(6, 'user', 'cropAvatar'), -(7, 'product', 'dashboard'), -(7, 'my', 'preference'), -(7, 'my', 'uploadAvatar'), -(7, 'user', 'cropAvatar'), -(8, 'product', 'dashboard'), -(8, 'my', 'preference'), -(8, 'my', 'uploadAvatar'), -(8, 'user', 'cropAvatar'), -(9, 'product', 'dashboard'), -(9, 'my', 'preference'), -(9, 'my', 'uploadAvatar'), -(9, 'user', 'cropAvatar'), -(10, 'product', 'dashboard'), -(10, 'my', 'preference'), -(10, 'my', 'uploadAvatar'), -(10, 'user', 'cropAvatar'), -(11, 'product', 'dashboard'), -(11, 'my', 'preference'), -(11, 'my', 'uploadAvatar'), -(11, 'user', 'cropAvatar'); +(1, 'product', 'dashboard'), +(1, 'projectstory', 'story'), +(1, 'projectstory', 'track'), +(1, 'projectstory', 'linkStory'), +(1, 'my', 'preference'), +(1, 'my', 'uploadAvatar'), +(1, 'user', 'cropAvatar'), +(2, 'product', 'dashboard'), +(2, 'projectstory', 'story'), +(2, 'projectstory', 'track'), +(2, 'my', 'preference'), +(2, 'my', 'uploadAvatar'), +(2, 'user', 'cropAvatar'), +(3, 'product', 'dashboard'), +(3, 'projectstory', 'story'), +(3, 'projectstory', 'track'), +(3, 'my', 'preference'), +(3, 'my', 'uploadAvatar'), +(3, 'user', 'cropAvatar'), +(4, 'product', 'dashboard'), +(4, 'projectstory', 'story'), +(4, 'projectstory', 'track'), +(4, 'my', 'preference'), +(4, 'my', 'uploadAvatar'), +(4, 'user', 'cropAvatar'), +(5, 'product', 'dashboard'), +(5, 'projectstory', 'story'), +(5, 'projectstory', 'track'), +(5, 'projectstory', 'linkStory'), +(5, 'my', 'preference'), +(5, 'my', 'uploadAvatar'), +(5, 'user', 'cropAvatar'), +(6, 'product', 'dashboard'), +(6, 'projectstory', 'story'), +(6, 'projectstory', 'track'), +(6, 'my', 'preference'), +(6, 'my', 'uploadAvatar'), +(6, 'user', 'cropAvatar'), +(7, 'product', 'dashboard'), +(7, 'projectstory', 'story'), +(7, 'projectstory', 'track'), +(7, 'projectstory', 'linkStory'), +(7, 'my', 'preference'), +(7, 'my', 'uploadAvatar'), +(7, 'user', 'cropAvatar'), +(8, 'product', 'dashboard'), +(8, 'projectstory', 'story'), +(8, 'projectstory', 'track'), +(8, 'my', 'preference'), +(8, 'my', 'uploadAvatar'), +(8, 'user', 'cropAvatar'), +(9, 'product', 'dashboard'), +(9, 'projectstory', 'story'), +(9, 'projectstory', 'track'), +(9, 'projectstory', 'linkStory'), +(9, 'my', 'preference'), +(9, 'my', 'uploadAvatar'), +(9, 'user', 'cropAvatar'), +(10, 'product', 'dashboard'), +(10, 'projectstory', 'story'), +(10, 'projectstory', 'track'), +(10, 'my', 'preference'), +(10, 'my', 'uploadAvatar'), +(10, 'user', 'cropAvatar'), +(11, 'product', 'dashboard'), +(11, 'projectstory', 'story'), +(11, 'projectstory', 'track'), +(11, 'my', 'preference'), +(11, 'my', 'uploadAvatar'), +(11, 'user', 'cropAvatar'); REPLACE INTO `zt_config` (`owner`, `module`, `section`, `key`, `value`) VALUES ('system', 'program', '', 'unitList', 'CNY,USD'); REPLACE INTO `zt_config` (`owner`, `module`, `section`, `key`, `value`) VALUES ('system', 'program', '', 'mainCurrency', 'CNY'); @@ -51,6 +77,7 @@ ALTER TABLE `zt_project` DROP `storyConcept`; ALTER TABLE `zt_product` DROP `storyConcept`; ALTER TABLE `zt_user` CHANGE `avatar` `avatar` text NOT NULL AFTER `commiter`; +ALTER TABLE `zt_project` CHANGE `budgetUnit` `budgetUnit` char(30) NOT NULL DEFAULT 'CNY' AFTER `budget`; -- DROP TABLE IF EXISTS `zt_searchindex`; CREATE TABLE IF NOT EXISTS `zt_searchindex` ( diff --git a/db/zentao.sql b/db/zentao.sql index 00b3dfb883..bff1a3b553 100644 --- a/db/zentao.sql +++ b/db/zentao.sql @@ -732,7 +732,7 @@ CREATE TABLE IF NOT EXISTS `zt_project` ( `product` char(30) NOT NULL DEFAULT 'single', `lifetime` char(30) NOT NULL, `budget` varchar(30) NOT NULL DEFAULT '0', - `budgetUnit` char(30) NOT NULL DEFAULT 'wanyuan', + `budgetUnit` char(30) NOT NULL DEFAULT 'CNY', `attribute` varchar(30) NOT NULL DEFAULT '', `percent` float unsigned NOT NULL DEFAULT '0', `milestone` enum('0','1') NOT NULL DEFAULT '0', diff --git a/framework/router.class.php b/framework/router.class.php index e92fb7e4ca..29ee9dc018 100755 --- a/framework/router.class.php +++ b/framework/router.class.php @@ -161,7 +161,6 @@ class router extends baseRouter global $lang, $app; $sprintConcept = $hourPoint = false; - /* Get config from DB. */ if($this->dbh and !empty($this->config->db->name)) { @@ -216,7 +215,7 @@ class router extends baseRouter /* Get user preference. */ $account = isset($this->session->user->account) ? $this->session->user->account : ''; - $userSetting = $this->dbh->query('SELECT `key`, value FROM' . TABLE_CONFIG . "WHERE `owner`='{$account}' AND `module`='common' and `key` in ('programLink', 'productLink', 'projectLink', 'URSR')")->fetchAll(); + if($this->dbh and !empty($this->config->db->name)) $userSetting = $this->dbh->query('SELECT `key`, value FROM' . TABLE_CONFIG . "WHERE `owner`='{$account}' AND `module`='common' and `key` in ('programLink', 'productLink', 'projectLink', 'URSR')")->fetchAll(); foreach($userSetting as $setting) { if($setting->key == 'URSR') $config->URSR = $setting->value; diff --git a/module/budget/lang/de.php b/module/budget/lang/de.php index 9a8717996d..56050830ba 100644 --- a/module/budget/lang/de.php +++ b/module/budget/lang/de.php @@ -15,8 +15,23 @@ $lang->budget->subject = 'Category'; $lang->budget->name = 'Item'; $lang->budget->amount = 'Estimated'; $lang->budget->desc = 'Description'; -$lang->budget->wanyuan = 'Wanyuan'; -$lang->budget->dollar = 'Dollars'; +$lang->budget->CNY = 'RMB'; +$lang->budget->USD = 'USD'; +$lang->budget->HKD = 'HKD'; +$lang->budget->NTD = 'New Taiwan'; +$lang->budget->EUR = 'Euro'; +$lang->budget->DEM = 'Deutsche Mark'; +$lang->budget->CHF = 'Swiss Franc'; +$lang->budget->FRF = 'French Franc'; +$lang->budget->GBP = 'Pound'; +$lang->budget->NLG = 'Florin'; +$lang->budget->CAD = 'Canadian'; +$lang->budget->RUR = 'Russian Ruble'; +$lang->budget->INR = 'Indian'; +$lang->budget->AUD = 'Australian'; +$lang->budget->NZD = 'New Zealand'; +$lang->budget->THB = 'Thai Baht'; +$lang->budget->SGD = 'Singapore'; $lang->budget->createdBy = 'CreatedBy'; $lang->budget->createdDate = 'CreatedDate'; $lang->budget->lastEditedBy = 'LastEditBy'; diff --git a/module/budget/lang/en.php b/module/budget/lang/en.php index 9a8717996d..56050830ba 100644 --- a/module/budget/lang/en.php +++ b/module/budget/lang/en.php @@ -15,8 +15,23 @@ $lang->budget->subject = 'Category'; $lang->budget->name = 'Item'; $lang->budget->amount = 'Estimated'; $lang->budget->desc = 'Description'; -$lang->budget->wanyuan = 'Wanyuan'; -$lang->budget->dollar = 'Dollars'; +$lang->budget->CNY = 'RMB'; +$lang->budget->USD = 'USD'; +$lang->budget->HKD = 'HKD'; +$lang->budget->NTD = 'New Taiwan'; +$lang->budget->EUR = 'Euro'; +$lang->budget->DEM = 'Deutsche Mark'; +$lang->budget->CHF = 'Swiss Franc'; +$lang->budget->FRF = 'French Franc'; +$lang->budget->GBP = 'Pound'; +$lang->budget->NLG = 'Florin'; +$lang->budget->CAD = 'Canadian'; +$lang->budget->RUR = 'Russian Ruble'; +$lang->budget->INR = 'Indian'; +$lang->budget->AUD = 'Australian'; +$lang->budget->NZD = 'New Zealand'; +$lang->budget->THB = 'Thai Baht'; +$lang->budget->SGD = 'Singapore'; $lang->budget->createdBy = 'CreatedBy'; $lang->budget->createdDate = 'CreatedDate'; $lang->budget->lastEditedBy = 'LastEditBy'; diff --git a/module/budget/lang/fr.php b/module/budget/lang/fr.php index 9a8717996d..56050830ba 100644 --- a/module/budget/lang/fr.php +++ b/module/budget/lang/fr.php @@ -15,8 +15,23 @@ $lang->budget->subject = 'Category'; $lang->budget->name = 'Item'; $lang->budget->amount = 'Estimated'; $lang->budget->desc = 'Description'; -$lang->budget->wanyuan = 'Wanyuan'; -$lang->budget->dollar = 'Dollars'; +$lang->budget->CNY = 'RMB'; +$lang->budget->USD = 'USD'; +$lang->budget->HKD = 'HKD'; +$lang->budget->NTD = 'New Taiwan'; +$lang->budget->EUR = 'Euro'; +$lang->budget->DEM = 'Deutsche Mark'; +$lang->budget->CHF = 'Swiss Franc'; +$lang->budget->FRF = 'French Franc'; +$lang->budget->GBP = 'Pound'; +$lang->budget->NLG = 'Florin'; +$lang->budget->CAD = 'Canadian'; +$lang->budget->RUR = 'Russian Ruble'; +$lang->budget->INR = 'Indian'; +$lang->budget->AUD = 'Australian'; +$lang->budget->NZD = 'New Zealand'; +$lang->budget->THB = 'Thai Baht'; +$lang->budget->SGD = 'Singapore'; $lang->budget->createdBy = 'CreatedBy'; $lang->budget->createdDate = 'CreatedDate'; $lang->budget->lastEditedBy = 'LastEditBy'; diff --git a/module/budget/lang/vi.php b/module/budget/lang/vi.php index 9a8717996d..56050830ba 100644 --- a/module/budget/lang/vi.php +++ b/module/budget/lang/vi.php @@ -15,8 +15,23 @@ $lang->budget->subject = 'Category'; $lang->budget->name = 'Item'; $lang->budget->amount = 'Estimated'; $lang->budget->desc = 'Description'; -$lang->budget->wanyuan = 'Wanyuan'; -$lang->budget->dollar = 'Dollars'; +$lang->budget->CNY = 'RMB'; +$lang->budget->USD = 'USD'; +$lang->budget->HKD = 'HKD'; +$lang->budget->NTD = 'New Taiwan'; +$lang->budget->EUR = 'Euro'; +$lang->budget->DEM = 'Deutsche Mark'; +$lang->budget->CHF = 'Swiss Franc'; +$lang->budget->FRF = 'French Franc'; +$lang->budget->GBP = 'Pound'; +$lang->budget->NLG = 'Florin'; +$lang->budget->CAD = 'Canadian'; +$lang->budget->RUR = 'Russian Ruble'; +$lang->budget->INR = 'Indian'; +$lang->budget->AUD = 'Australian'; +$lang->budget->NZD = 'New Zealand'; +$lang->budget->THB = 'Thai Baht'; +$lang->budget->SGD = 'Singapore'; $lang->budget->createdBy = 'CreatedBy'; $lang->budget->createdDate = 'CreatedDate'; $lang->budget->lastEditedBy = 'LastEditBy'; diff --git a/module/budget/lang/zh-cn.php b/module/budget/lang/zh-cn.php index 5bb02d4076..6945013bc7 100644 --- a/module/budget/lang/zh-cn.php +++ b/module/budget/lang/zh-cn.php @@ -15,8 +15,23 @@ $lang->budget->subject = '科目'; $lang->budget->name = '费用名称'; $lang->budget->amount = '预计金额'; $lang->budget->desc = '说明'; -$lang->budget->wanyuan = '万元'; -$lang->budget->dollar = 'Dollars'; +$lang->budget->CNY = '人民币'; +$lang->budget->USD = '美元'; +$lang->budget->HKD = '港元'; +$lang->budget->NTD = '台元'; +$lang->budget->EUR = '欧元'; +$lang->budget->DEM = '马克'; +$lang->budget->CHF = '瑞士法郎'; +$lang->budget->FRF = '法国法郎'; +$lang->budget->GBP = '英镑'; +$lang->budget->NLG = '荷兰盾'; +$lang->budget->CAD = '加拿大元'; +$lang->budget->RUR = '卢布'; +$lang->budget->INR = '卢比'; +$lang->budget->AUD = '澳大利亚元'; +$lang->budget->NZD = '新西兰元'; +$lang->budget->THB = '泰国铢'; +$lang->budget->SGD = '新加坡元'; $lang->budget->createdBy = '由谁创建'; $lang->budget->createdDate = '创建时间'; $lang->budget->lastEditedBy = '由谁编辑'; diff --git a/module/budget/lang/zh-tw.php b/module/budget/lang/zh-tw.php index 8fbe5ccb14..9b77549e1f 100644 --- a/module/budget/lang/zh-tw.php +++ b/module/budget/lang/zh-tw.php @@ -15,8 +15,23 @@ $lang->budget->subject = '科目'; $lang->budget->name = '費用名稱'; $lang->budget->amount = '預計金額'; $lang->budget->desc = '說明'; -$lang->budget->wanyuan = '萬元'; -$lang->budget->dollar = 'Dollars'; +$lang->budget->CNY = '人民幣'; +$lang->budget->USD = '美元'; +$lang->budget->HKD = '港元'; +$lang->budget->NTD = '台元'; +$lang->budget->EUR = '歐元'; +$lang->budget->DEM = '馬克'; +$lang->budget->CHF = '瑞士法郎'; +$lang->budget->FRF = '法國法郎'; +$lang->budget->GBP = '英鎊'; +$lang->budget->NLG = '荷蘭盾'; +$lang->budget->CAD = '加拿大元'; +$lang->budget->RUR = '盧布'; +$lang->budget->INR = '盧比'; +$lang->budget->AUD = '澳大利亞元'; +$lang->budget->NZD = '新西蘭元'; +$lang->budget->THB = '泰國銖'; +$lang->budget->SGD = '新加坡元'; $lang->budget->createdBy = '由誰創建'; $lang->budget->createdDate = '創建時間'; $lang->budget->lastEditedBy = '由誰編輯'; diff --git a/module/group/lang/resource.php b/module/group/lang/resource.php index 70bbec35cb..d0acbcd36a 100644 --- a/module/group/lang/resource.php +++ b/module/group/lang/resource.php @@ -487,13 +487,13 @@ $lang->productplan->methodOrder[60] = 'batchEdit'; /* Project Story. */ $lang->resource->projectstory = new stdclass(); -$lang->resource->projectstory->requirement = 'requirement'; -$lang->resource->projectstory->story = 'story'; -$lang->resource->projectstory->track = 'track'; +$lang->resource->projectstory->story = 'story'; +$lang->resource->projectstory->track = 'track'; +$lang->resource->projectstory->linkStory = 'linkStory'; -$lang->productplan->methodOrder[5] = 'requirement'; -$lang->productplan->methodOrder[10] = 'story'; -$lang->productplan->methodOrder[15] = 'track'; +$lang->productplan->methodOrder[5] = 'story'; +$lang->productplan->methodOrder[10] = 'track'; +$lang->productplan->methodOrder[15] = 'linkStory'; /* Release. */ $lang->resource->release = new stdclass(); diff --git a/module/product/control.php b/module/product/control.php index 1e378415bd..f180eae48f 100644 --- a/module/product/control.php +++ b/module/product/control.php @@ -199,17 +199,10 @@ class product extends control { $products = $this->product->getProductsByProject($this->session->PRJ); $productPlans = $this->loadModel('project')->getPlans($products); - $projectPlanList = $this->dao->select('product,plan')->from(TABLE_PROJECTPRODUCT)->where('project')->eq($this->session->PRJ)->fetchPairs('product', 'plan'); - $notLinkPlans = array(); - - foreach($projectPlanList as $product => $planID) + $allPlans = array(); + foreach($productPlans as $productPlan) { - if(isset($productPlans[$product][$planID])) unset($productPlans[$product][$planID]); - } - - foreach($productPlans as $productPlans) - { - foreach($productPlans as $id => $plan) $notLinkPlans[$id] = $plan; + foreach($productPlan as $id => $plan) $allPlans[$id] = $plan; } if($projectStoryBrowseType == 'bybranch') $param = $branch; @@ -261,7 +254,7 @@ class product extends control $this->view->moduleID = $moduleID; $this->view->stories = $stories; $this->view->plans = $this->loadModel('productplan')->getPairs($productID, $branch, '', true); - $this->view->notLinkPlans = isset($notLinkPlans) ? $notLinkPlans : array(); + $this->view->allPlans = isset($allPlans) ? $allPlans : array(); $this->view->summary = $this->product->summary($stories, $storyType); $this->view->moduleTree = $moduleTree; $this->view->parentModules = $this->tree->getParents($moduleID); diff --git a/module/product/view/browse.html.php b/module/product/view/browse.html.php index 5f5d5c9981..7a4c19b6b1 100644 --- a/module/product/view/browse.html.php +++ b/module/product/view/browse.html.php @@ -150,8 +150,8 @@ $lang->story->createCommon = $storyType == 'story' ? $lang->story->createStory : echo " {$lang->project->linkStory} "; echo ''; echo "
'; } ?> @@ -455,7 +455,7 @@ $lang->story->createCommon = $storyType == 'story' ? $lang->story->createStory :