From 5b35fab5f6cd170556e7d695a86b7267cb64ddcc Mon Sep 17 00:00:00 2001 From: sunjun Date: Thu, 2 Jun 2022 01:43:24 +0000 Subject: [PATCH] fixbug_sunjun_23182 --- module/project/lang/en.php | 2 ++ module/project/lang/zh-cn.php | 2 ++ module/project/model.php | 22 ++++++++++++++++++++-- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/module/project/lang/en.php b/module/project/lang/en.php index d1a16a3a96..4864f75ac9 100644 --- a/module/project/lang/en.php +++ b/module/project/lang/en.php @@ -60,6 +60,8 @@ $lang->project->daysGreaterProject = 'Days cannot be greater than days of projec $lang->project->errorHours = 'Hours/Day cannot be greater than『24』'; $lang->project->workdaysExceed = 'No more than『%s』working days'; $lang->project->teamMembersCount = ', there are %s team members.'; +$lang->project->budgetNumber = '『Budget』must be numbers.'; +$lang->project->budgetGe0 = '『Budget』must be greater than or equal to 0.'; /* Fields. */ $lang->project->common = 'Project'; diff --git a/module/project/lang/zh-cn.php b/module/project/lang/zh-cn.php index 239bc43e71..23191cf732 100644 --- a/module/project/lang/zh-cn.php +++ b/module/project/lang/zh-cn.php @@ -60,6 +60,8 @@ $lang->project->daysGreaterProject = '可用工日不能大于项目的可用工 $lang->project->errorHours = '可用工时/天不能大于『24』'; $lang->project->workdaysExceed = '可用工作日不能超过『%s』天'; $lang->project->teamMembersCount = ',团队成员共%s人。'; +$lang->project->budgetNumber = '『预算』金额必须为数字。'; +$lang->project->budgetGe0 = '『预算』金额必须大于等于0。'; /* Fields. */ $lang->project->common = '项目'; diff --git a/module/project/model.php b/module/project/model.php index afa8961fda..987d340cb7 100644 --- a/module/project/model.php +++ b/module/project/model.php @@ -99,13 +99,14 @@ class projectModel extends model * @access public * @return array */ + public function getBudgetUnitList() { $budgetUnitList = array(); if($this->config->vision != 'lite') { foreach(explode(',', $this->config->project->unitList) as $unit) $budgetUnitList[$unit] = zget($this->lang->project->unitList, $unit, ''); - } + } return $budgetUnitList; } @@ -1055,7 +1056,6 @@ class projectModel extends model ->setIF($this->post->delta == 999, 'end', LONG_TIME) ->setIF($this->post->delta == 999, 'days', 0) ->setIF($this->post->acl == 'open', 'whitelist', '') - ->setIF($this->post->budget != 0, 'budget', round((float)$this->post->budget, 2)) ->setIF(!isset($_POST['whitelist']), 'whitelist', '') ->setDefault('openedBy', $this->app->user->account) ->setDefault('openedDate', helper::now()) @@ -1116,6 +1116,24 @@ class projectModel extends model return false; } + if(!empty($project->budget)) + { + if(!is_numeric($project->budget)) + { + dao::$errors['budget'] = sprintf($this->lang->project->budgetNumber); + return false; + } + else if(is_numeric($project->budget) and ($project->budget < 0)) + { + dao::$errors['budget'] = sprintf($this->lang->project->budgetGe0); + return false; + } + else + { + $project->budget = round((float)$this->post->budget, 2); + } + } + /* When select create new product, product name cannot be empty and duplicate. */ if(isset($_POST['newProduct'])) {