From fb93bb126743dd118a26e1a43c804da22bb4b9d8 Mon Sep 17 00:00:00 2001 From: qiyu-xie Date: Wed, 23 Dec 2020 11:15:16 +0800 Subject: [PATCH] * Finish task#8748. --- db/update20.0.alpha.sql | 2 +- db/zentao.sql | 2 +- module/program/lang/de.php | 6 ++-- module/program/lang/en.php | 6 ++-- module/program/lang/fr.php | 6 ++-- module/program/lang/vi.php | 6 ++-- module/program/lang/zh-cn.php | 6 ++-- module/program/lang/zh-tw.php | 6 ++-- module/program/model.php | 2 ++ module/program/view/pgmbrowsebylist.html.php | 2 +- module/program/view/pgmcreate.html.php | 2 +- module/program/view/pgmedit.html.php | 2 +- module/program/view/prjcreate.html.php | 2 +- module/upgrade/model.php | 31 ++++++++++++++++++++ 14 files changed, 57 insertions(+), 24 deletions(-) diff --git a/db/update20.0.alpha.sql b/db/update20.0.alpha.sql index 0cb26e6052..3992047afa 100644 --- a/db/update20.0.alpha.sql +++ b/db/update20.0.alpha.sql @@ -6,7 +6,7 @@ ALTER TABLE `zt_project` CHANGE `acl` `acl` char(30) NOT NULL DEFAULT 'open'; ALTER TABLE `zt_project` ADD `product` varchar(20) NOT NULL DEFAULT 'single' AFTER `type`; ALTER TABLE `zt_project` ADD `lifetime` char(30) NOT NULL AFTER `product`; ALTER TABLE `zt_project` ADD `budget` varchar(30) NOT NULL DEFAULT '0' AFTER `lifetime`; -ALTER TABLE `zt_project` ADD `budgetUnit` char(30) NOT NULL DEFAULT 'yuan' AFTER `budget`; +ALTER TABLE `zt_project` ADD `budgetUnit` char(30) NOT NULL DEFAULT 'wanyuan' AFTER `budget`; ALTER TABLE `zt_project` ADD `percent` float unsigned NOT NULL DEFAULT '0' AFTER `budgetUnit`; ALTER TABLE `zt_project` ADD `path` varchar(255) NOT NULL AFTER `parent`; ALTER TABLE `zt_project` ADD `grade` tinyint unsigned NOT NULL AFTER `path`; diff --git a/db/zentao.sql b/db/zentao.sql index f581997eb2..0e58c1be7f 100644 --- a/db/zentao.sql +++ b/db/zentao.sql @@ -709,7 +709,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 'yuan', + `budgetUnit` char(30) NOT NULL DEFAULT 'wanyuan', `attribute` varchar(30) NOT NULL DEFAULT '', `percent` float unsigned NOT NULL DEFAULT '0', `milestone` enum('0','1') NOT NULL DEFAULT '0', diff --git a/module/program/lang/de.php b/module/program/lang/de.php index 34768e659f..2ddd19d571 100644 --- a/module/program/lang/de.php +++ b/module/program/lang/de.php @@ -93,9 +93,9 @@ $lang->program->future = 'TBD'; $lang->program->productNotEmpty = 'Please link products or create products.'; $lang->program->existProductName = 'Product name already exists.'; -$lang->program->unitList[''] = ''; -$lang->program->unitList['yuan'] = 'Wanyuan'; -$lang->program->unitList['dollar'] = 'Dollars'; +$lang->program->unitList[''] = ''; +$lang->program->unitList['wanyuan'] = 'Wanyuan'; +$lang->program->unitList['dollar'] = 'Dollars'; $lang->program->modelList['scrum'] = "Scrum"; $lang->program->modelList['waterfall'] = "CMMI"; diff --git a/module/program/lang/en.php b/module/program/lang/en.php index 2039fb5070..1388f4ee52 100644 --- a/module/program/lang/en.php +++ b/module/program/lang/en.php @@ -93,9 +93,9 @@ $lang->program->future = 'TBD'; $lang->program->productNotEmpty = 'Please link products or create products.'; $lang->program->existProductName = 'Product name already exists.'; -$lang->program->unitList[''] = ''; -$lang->program->unitList['yuan'] = 'Wanyuan'; -$lang->program->unitList['dollar'] = 'Dollars'; +$lang->program->unitList[''] = ''; +$lang->program->unitList['wanyuan'] = 'Wanyuan'; +$lang->program->unitList['dollar'] = 'Dollars'; $lang->program->modelList['scrum'] = "Scrum"; $lang->program->modelList['waterfall'] = "CMMI"; diff --git a/module/program/lang/fr.php b/module/program/lang/fr.php index 34768e659f..2ddd19d571 100644 --- a/module/program/lang/fr.php +++ b/module/program/lang/fr.php @@ -93,9 +93,9 @@ $lang->program->future = 'TBD'; $lang->program->productNotEmpty = 'Please link products or create products.'; $lang->program->existProductName = 'Product name already exists.'; -$lang->program->unitList[''] = ''; -$lang->program->unitList['yuan'] = 'Wanyuan'; -$lang->program->unitList['dollar'] = 'Dollars'; +$lang->program->unitList[''] = ''; +$lang->program->unitList['wanyuan'] = 'Wanyuan'; +$lang->program->unitList['dollar'] = 'Dollars'; $lang->program->modelList['scrum'] = "Scrum"; $lang->program->modelList['waterfall'] = "CMMI"; diff --git a/module/program/lang/vi.php b/module/program/lang/vi.php index 34768e659f..2ddd19d571 100644 --- a/module/program/lang/vi.php +++ b/module/program/lang/vi.php @@ -93,9 +93,9 @@ $lang->program->future = 'TBD'; $lang->program->productNotEmpty = 'Please link products or create products.'; $lang->program->existProductName = 'Product name already exists.'; -$lang->program->unitList[''] = ''; -$lang->program->unitList['yuan'] = 'Wanyuan'; -$lang->program->unitList['dollar'] = 'Dollars'; +$lang->program->unitList[''] = ''; +$lang->program->unitList['wanyuan'] = 'Wanyuan'; +$lang->program->unitList['dollar'] = 'Dollars'; $lang->program->modelList['scrum'] = "Scrum"; $lang->program->modelList['waterfall'] = "CMMI"; diff --git a/module/program/lang/zh-cn.php b/module/program/lang/zh-cn.php index b4ab3d108d..f1ae0aa10c 100644 --- a/module/program/lang/zh-cn.php +++ b/module/program/lang/zh-cn.php @@ -93,9 +93,9 @@ $lang->program->future = '待定'; $lang->program->productNotEmpty = '请关联产品或创建产品。'; $lang->program->existProductName = '产品名称已存在。'; -$lang->program->unitList[''] = ''; -$lang->program->unitList['yuan'] = '万元'; -$lang->program->unitList['dollar'] = 'Dollars'; +$lang->program->unitList[''] = ''; +$lang->program->unitList['wanyuan'] = '万元'; +$lang->program->unitList['dollar'] = 'Dollars'; $lang->program->modelList['scrum'] = "Scrum"; $lang->program->modelList['waterfall'] = "瀑布"; diff --git a/module/program/lang/zh-tw.php b/module/program/lang/zh-tw.php index 9ebd3c15f8..78b06ec4b6 100644 --- a/module/program/lang/zh-tw.php +++ b/module/program/lang/zh-tw.php @@ -95,9 +95,9 @@ $lang->program->future = '待定'; $lang->program->productNotEmpty = '請關聯產品或創建產品。'; $lang->program->existProductName = '產品名稱已存在。'; -$lang->program->unitList[''] = ''; -$lang->program->unitList['yuan'] = '萬元'; -$lang->program->unitList['dollar'] = 'Dollars'; +$lang->program->unitList[''] = ''; +$lang->program->unitList['wanyuan'] = '萬元'; +$lang->program->unitList['dollar'] = 'Dollars'; $lang->program->modelList['scrum'] = "Scrum"; $lang->program->modelList['waterfall'] = "瀑布"; diff --git a/module/program/model.php b/module/program/model.php index 9bf76846b4..e414dfed81 100644 --- a/module/program/model.php +++ b/module/program/model.php @@ -122,6 +122,7 @@ class programModel extends model ->setDefault('openedDate', helper::now()) ->setIF($this->post->acl == 'open', 'whitelist', '') ->setIF($this->post->delta == 999, 'end', LONG_TIME) + ->setIF($this->post->budget != 0, 'budget', number_format($this->post->budget, 2)) ->add('type', 'program') ->join('whitelist', ',') ->cleanFloat('budget') @@ -223,6 +224,7 @@ class programModel extends model ->setIF($this->post->acl == 'open', 'whitelist', '') ->setIF($this->post->delta == 999, 'end', LONG_TIME) ->setIF($this->post->future, 'budget', 0) + ->setIF($this->post->budget != 0, 'budget', number_format($this->post->budget, 2)) ->join('whitelist', ',') ->stripTags($this->config->program->editor->pgmedit['id'], $this->config->allowedTags) ->remove('uid,delta,future') diff --git a/module/program/view/pgmbrowsebylist.html.php b/module/program/view/pgmbrowsebylist.html.php index 4de8609f2b..c53dfef7ad 100644 --- a/module/program/view/pgmbrowsebylist.html.php +++ b/module/program/view/pgmbrowsebylist.html.php @@ -52,7 +52,7 @@ PM);?> - budget ? $program->budget . ' ' . zget($lang->program->unitList, $program->budgetUnit) : '';?> + budget != 0 ? $program->budget . ' ' . zget($lang->program->unitList, $program->budgetUnit) : '';?> project->statusList, $program->status, '');?> begin;?> end == LONG_TIME ? $lang->program->PRJLongTime : $program->end;?> diff --git a/module/program/view/pgmcreate.html.php b/module/program/view/pgmcreate.html.php index 7b30080c0e..2b64f8f2dd 100644 --- a/module/program/view/pgmcreate.html.php +++ b/module/program/view/pgmcreate.html.php @@ -63,7 +63,7 @@
- program->unitList, empty($parentProgram->budgetUnit) ? 'yuan' : $parentProgram->budgetUnit, "class='form-control'");?> + program->unitList, empty($parentProgram->budgetUnit) ? 'wanyuan' : $parentProgram->budgetUnit, "class='form-control'");?>
diff --git a/module/program/view/pgmedit.html.php b/module/program/view/pgmedit.html.php index e9b7c6089a..2e541980ff 100644 --- a/module/program/view/pgmedit.html.php +++ b/module/program/view/pgmedit.html.php @@ -40,7 +40,7 @@ program->PGMBudget;?>
- budget ? $program->budget : '', "class='form-control'" . (strpos($requiredFields, 'budget') !== false ? ' required' : '') . ($program->budget == 0 ? 'disabled' : ''));?> + budget != 0 ? $program->budget : '', "class='form-control'" . (strpos($requiredFields, 'budget') !== false ? ' required' : '') . ($program->budget == 0 ? 'disabled' : ''));?> program->unitList, $program->budgetUnit, "class='form-control'");?>
diff --git a/module/program/view/prjcreate.html.php b/module/program/view/prjcreate.html.php index 3c13e5d05c..7c5b4a4f5a 100644 --- a/module/program/view/prjcreate.html.php +++ b/module/program/view/prjcreate.html.php @@ -103,7 +103,7 @@
- program->unitList, empty($parentProgram->budgetUnit) ? 'yuan' : $parentProgram->budgetUnit, "class='form-control'");?> + program->unitList, empty($parentProgram->budgetUnit) ? 'wanyuan' : $parentProgram->budgetUnit, "class='form-control'");?>
diff --git a/module/upgrade/model.php b/module/upgrade/model.php index 2666881bcb..95028c6ca6 100644 --- a/module/upgrade/model.php +++ b/module/upgrade/model.php @@ -655,6 +655,10 @@ class upgradeModel extends model $this->processBuildTable(); $this->processSprintConcept(); $this->appendExec('20_0_beta1'); + case '20_0_beta3': + $this->saveLogs('Execute 20_0_beta3'); + $this->adjustBudget(); + $this->appendExec('20_0_beta3'); } $this->deletePatch(); @@ -4405,4 +4409,31 @@ class upgradeModel extends model return true; } + + /** + * Adjust budget units and values. + * + * @access public + * @return void + */ + public function adjustBudget() + { + $budgets = $this->dao->select('id,budget,budgetUnit')->from(TABLE_PROJECT) + ->where('type')->in('project,program') + ->fetchAll('id'); + + foreach($budgets as $id => $budget) + { + $data = array(); + if($budget->budgetUnit == 'yuan') + { + $data['budget'] = number_format($budget->budget / 10000, 2); + $data['budgetUnit'] = 'wanyuan'; + } + + if($data) $this->dao->update(TABLE_PROJECT)->data($data)->where('id')->eq($id)->exec(); + } + + return true; + } }