From 8a1fdfe0d8107af4aed192907ed579a32bb7e913 Mon Sep 17 00:00:00 2001 From: mayue Date: Fri, 20 May 2022 09:29:39 +0000 Subject: [PATCH] Fix bug #22756. --- module/productplan/model.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/module/productplan/model.php b/module/productplan/model.php index 1848d47c64..ca5953ba3a 100644 --- a/module/productplan/model.php +++ b/module/productplan/model.php @@ -518,17 +518,18 @@ class productplanModel extends model } elseif($oldPlan->parent == -1 and $plan->begin != $this->config->productplan->future) { - $childPlans = $this->getChildren($planID); - $minBegin = $plan->begin; - $maxEnd = $plan->end; + $plan->parent = -1; + $childPlans = $this->getChildren($planID); + $minBegin = $plan->begin; + $maxEnd = $plan->end; foreach($childPlans as $childID => $childPlan) { $childPlan = isset($plans[$childID]) ? $plans[$childID] : $childPlan; if($childPlan->begin < $minBegin) $minBegin = $childPlan->begin; if($childPlan->end > $maxEnd) $maxEnd = $childPlan->end; } - if($minBegin < $plan->begin and $minBegin != $this->config->productplan->future) dao::$errors['begin'] = sprintf($this->lang->productplan->beginGreaterChildTip, $planID, $plan->begin, $minBegin); - if($maxEnd > $plan->end and $maxEnd != $this->config->productplan->future) dao::$errors['end'] = sprintf($this->lang->productplan->endLetterChildTip, $planID, $plan->end, $maxEnd); + if($minBegin < $plan->begin and $minBegin != $this->config->productplan->future) dao::$errors['begin'] = sprintf($this->lang->productplan->beginGreaterChildTip, $oldPlan->title, $plan->begin, $minBegin); + if($maxEnd > $plan->end and $maxEnd != $this->config->productplan->future) dao::$errors['end'] = sprintf($this->lang->productplan->endLetterChildTip, $oldPlan->title, $plan->end, $maxEnd); } if(dao::isError()) return false;